我们下载到某些apk的时候,可能总想学习下别人是怎么进行程序设计的,或者怎样使用xml文件布局的,这时就想到将apk文件的后缀改为rar并解压,最终得到一些图片资源和很多打开为乱码的文件,可见这种方式不可行,这就需要使用apktool、dex2jar、jd-gui等工具对apk进行反编译了。
1. 打开Apktool网址:https://ibotpeaches.github.io/Apktool/install,点击图片中1位置,将弹出的内容复制到sublime(这是我的文本编译工具)中,保存为apktool,注意去掉扩展名.sh,如果保存后仍然有扩展名,可以重命名去掉。
2. 点击图片中2位置下载apltool_x.x.x.jar(x是代号,建议下载最新版本),将下载好的jar包改名为apktool.jar。
3. 将以上两个文件放到“/usr/local/bin”目录下,并增加两个文件的可执行权限。
4. “/usr/local/bin”是隐藏文件,在Finder中无法直接查看,可以右键(或者快捷键command+shift+G)选择前往文件夹,在弹出的文件夹的对话框中,输入“/usr/local/bin”前往;也可以是ShowOrHide等第三方软件查看。
5. 打开系统偏好设置–>键盘–>快捷键–>服务–>把“新建位于文件夹位置的终端窗口”勾选上
6. 在bin文件夹上右键选择服务–> 新建位于文件夹位置的终端窗口
7. 执行命令:
chmod a+x apktool.jar
chmod a+x apktool.jar
(chmod a+x fileName命令为文件增加可执行权限)
8. 然后执行命令:shell apktool;验证成功apktool -v
9. 打开dex2jar网址:https://github.com/pxb1988/dex2jar,进入github后向下拉找到如图位置,两个下载都可以,我选择第一个下载
点击Downloads
10. 打开JD-GUI网址:http://jd.benow.ca/,下载。
11. 把dex2jar和jd-gui分别解压
12. 创建一个文件夹(文件夹名字随意但不建议中文)将待反编译的apk放进去(比如我的待反编译apk是HiWiFi.apk)
13. 终端进入这个文件夹执行命令:apktool d HiWiFi.apk(apktool d 后面跟着的是待反编译apk名字)
14. 然后执行命令apktool b HiWiFi(apktool b 后面跟的是待反编译的apk的名字,注意不加后缀)。
15. 将dex2jar-2.0文件夹里的d2j_invoke.sh和d2j-dex2jar.sh两个文件增加可执行权限(方法同上)。
16. 进入到dex2jar-2.0这个文件夹下执行命令:
./d2j-dex2jar.sh /Users/wangdong/Downloads/HiWiFi/HiWiFi.apk
(./d2j-dex2jar.sh 后面跟的是apk的路径)
反编译好的文件在dex2jar-2.0文件夹下HiWiFi-dex2jar.jar
17. 打开jd-jui.app,将得到的文件拖进去就能看到源码
到此反编译结束了。
Mac系统下反编译Android-apk
最新推荐文章于 2024-06-25 17:23:25 发布