Android 反编译APK详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/android_I_t/article/details/75050078

1.反编译工具:下载

1.1 apktool:反编译资源文件

1.2   dex2jar-2.0:反编译java代码

1.3   apk文件:待反编译的文件


2.反编译流程:

2.1 反编译资源文件

 ①  将要编译的apk文件复制到解压后的apktool目录下


 ②  解包:打开控制台 (Windows + R ,输入cmd)
       定位到 apktool的文件夹;
       输入命令行:apktool d -f  xxx.apk -o 文件夹名字;
       文件夹中就是app的资源文件


 ③  重新打包APK(不是必要步骤)
     在apktool目录下的终端中继续输入命令行: apktool b 文件夹(②中的文件夹名字);
     在文件夹中会出现一个dist文件夹,里面有一个apk;

    
   接着就需要对这个apk签名了,签名软件使用的是 Auto-sign,终端定位到这个这文件夹,执行命令行:

      java -jar signapk.jar testkey.x509.pem testkey.pk8 XXX.apk XXX_signed.apk
   然后打开文件夹Auto-sign文件夹下的Sign.bat,在这里有两种情况:如果报错:FileNotFindException,就需要修改Sign.bat这个文件,用记事本打开这个文件,修改对应的apk路径,然后再次执行命令行,点击Sign.bat;




  如果没有报错,点击Sign.bat这个文件会显示如下:


最后在dist文件夹中会有两个文件

____________________________________________________________________________________
   

 2.2 反编译源代码

 ①  将apktool文件夹下的apk文件更改后缀名为.zip或者.rar:

 ②  解压这个文件到到一个文件夹( 最好不要解压到当前文件夹),解压之后会得到一个classes.dex文件:


 
 ③   将classes.dex文件复制到与 apktool 同级目录的文件夹  dex2jar-2.0  下面,替换原来的 classes.dex,删掉原来的  classes-dex2jar.jar  这个文件

 ④  打开终端,定位到文件夹  dex2jar-2.0 这个下面,执行命令:
d2j-dex2jar classes.dex 之后,会看到文件夹 dex2jar-2.0  下面有一个  classes-dex2jar.jar  文件,如果③中的没有删除掉这个文件,可能会有异常。


⑤ 查看源码,上步骤生成的 classes-dex2jar.jar 就是我们要的源码,用文件夹 dex2jar-2.0 下面的 jd-gui.exe 打开即可查看源码了。



接下来就是着看这些混过的abcdef...的代码了

猜你喜欢

转载自blog.csdn.net/android_I_t/article/details/75050078