Android 反编译APK详解
来源:互联网 发布:软件测试工程师招聘 编辑:程序博客网 时间:2024/05/29 12:22
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...的代码了
文件夹中就是app的资源文件
在apktool目录下的终端中继续输入命令行:apktool b 文件夹(②中的文件夹名字);
接着就需要对这个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 文件,如果③中的没有删除掉这个文件,可能会有异常。
d2j-dex2jar classes.dex之后,会看到文件夹 dex2jar-2.0 下面有一个 classes-dex2jar.jar 文件,如果③中的没有删除掉这个文件,可能会有异常。
⑤ 查看源码,上步骤生成的 classes-dex2jar.jar 就是我们要的源码,用文件夹 dex2jar-2.0 下面的 jd-gui.exe 打开即可查看源码了。
接下来就是着看这些混过的abcdef...的代码了
阅读全文
0 0
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- android apk 反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- Android APK反编译详解
- java基础知识
- MMU内存管理单元(1)-虚拟地址到物理地址转换
- 第四章 OPP 中的初始化和无用单元收集
- GBDT
- 第十七周leetcode题
- Android 反编译APK详解
- 5-4 BCD解密 (10分)
- 利用WebRTC实现webAR事例
- 伪彩色增强处理——查表法
- 关于Spring中的<context:annotation-config/>配置
- 拷贝与拷贝构造的优化
- Android源码分析—带你认识不一样的AsyncTask
- 模拟nullptr的实现
- RabbitMQ使用总结(二)