反编译三件套:apktool + enjarify + JD-GUI

反编译也是码工必备技能了,本文介绍的是MAC环境下使用反编译三件套

看到身边有些朋友还在用dex2jar,很是纳闷为啥不用enjarify? 这是Google推出的反编译利器,而且看提交记录现在还在维护.与dex2jar相比,enjarify功能更强大,成功率也更高.只不过enjarify是python项目,对不熟悉python的朋友来说有一丢丢门槛.

1.apktool:主要用来查看apk资源文件

第一步:点击这里下载所需的2个文件,一个jar和一个脚本,注意正确的保存方式是这样的:

正确的保存脚本

不要把脚本文件保存为文本格式.
第二步:将上面二个文件copy至usr/local/bin目录下(Open Finder -> Press Command+Shift+G to open the dialogue box -> Input the following search: /usr/local/bin.),像这样
copy至目录下.png

第三步:授权这两个文件为可执行,输入chmod a+x file,看图

授权为可执行.png

第四步:双击apktool脚本,Mac会提示禁止打开,在偏好设置->安全与隐私下允许打开。然后输入apktool命令检查是否安装成功,如果出现一下内容即安装成功

apktool安装成功.png

好了, 我们找个apk练练手,输入命令

apktool d appName.apk -o test

效果如下


拆解apk

资源文件一目了然,smali文件也生成了.

2.enjarify

enjarify是google推出的反编译工具, 原文介绍是
Enjarify is a tool for translating Dalvik bytecode to equivalent Java bytecode. This allows Java analysis tools to analyze Android applications.

先配置python3环境,MAC电脑系统自带有python2的环境,莫要动他, 我们重新配置省坑省事.点击这里下载python3最新release版本,点击安装就是了.安装完了在终端中输入

python3 -V

检查是否安装成功.
然后点击这里下载enjarify,下载好了把你要反编译的apk考到enjarify的一级目录下,

apk考过来

进入此目录下, 输入命令

python3 -O -m enjarify.main yourapp.apk

走一个, 反编译效果如下


反编译效果

3.JD-GUI

这个工具so easy,大家自己装,用它来查看我们反编译后的jar:


查看反编译的jar

一目了然有木有?
小朋友看到这里是不是想要去下个抖音/快手反编译一下试试?要是这样想说明你还年轻,有想法,先随老夫学学习smali语法吧.

你可能感兴趣的:(反编译三件套:apktool + enjarify + JD-GUI)