zoukankan      html  css  js  c++  java
  • 只需三步--轻松反编译Android Apk文件

      安卓程序是通过java语言进行编写的,可以很容易进行反编译。很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓。下面我们来看看如何进行apk的反编译,以及常用的防反编译手段。

    一、反编译APK文件

    1、第一步

       将apk文件在pc上进行解压,解压后拷贝classes.dex文件。

    2、第二步

       下载并解压dex2jar工具,打开命令行并进入所在目录,执行命令:d2j-dex2jar.bat classes.dex D:jarpath,会在D:jarpath目录下生成classed-dex2jar.jar文件。

    3、第三步

       下载JD-GUI反编译神器,双击打开后,将classed-dex2jar.jar拖入JD-GUI中,然后可以尽情的观赏源代码了,如图1。

    图1 apk文件反编译后的源码

      可以看出图中的草根投资apk代码是经过混淆处理的。

      还可以利用apktool来进行反编译操作,生成的文件为smali安卓中间代码,可以利用smali2java工具翻译成java代码进行查看。

    二、防止反编译的方法

    1、伪加密

       apk文件在安卓系统下就是可执行文件,在pc下就是压缩文件,伪加密技术就是把apk文件进行加密防止pc环境下解压,但不影响安卓系统的使用。缺点就是,上传安卓市场可能会受影响,因为市场审核人员可能需要解压apk文件进行查看。

       加密步骤参考:http://bbs.pediy.com/showthread.php?p=1195662&mode=threaded

    2、代码混淆花指令

       代码混淆也花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。

       操作步骤参考:http://blog.csdn.net/lovexjyong/article/details/24652085

  • 相关阅读:
    HDU 4814
    POJ 3415
    HDU 4941
    C scanf()
    hdu 4850 Wow! Such String!
    HDU 4828 Grids
    HDU 4832 Chess
    HDU 4831
    SpringCloud 网飞系 转换阿里系2
    用jianmu建木自动化打包vue前端应用,并远程ssh建立文件夹,scp文件至对应目录
  • 原文地址:https://www.cnblogs.com/hanganglin/p/5060606.html
Copyright © 2011-2022 走看看