安装apktool和dex2jar,jd-gui
homebrew安装: brew install apktool
brew install dex2jar
JD-GUI去http://jd.benow.ca/下载 dmg可能不支持最新版本的mac用不了,打开就报错
反编译流程
执行脚本apktool d xxx.apk 注:xxx.apk为你要反编译的apk
在你执行命令的目录下会生成xxx文件夹 到文件夹中查看res资源文件即可
将apk文件后缀名直接改为.zip并解压。得到其中的classes.dex文件,它就是java源代码经过编译再通过dx工具打包而成的。
将classes.dex文件复制到dex2jar所在的文件夹
终端cd到dex2jar目录,运行 sh dex2jar.sh classes.dex
生成 classes_dex2jar.jar
用jd-gui打开就可以看到源代码
自动化反编译
之前想着手动敲命令就好了,做题的时候发现还是得百度,就准备用shell脚本一键化。shell脚本:
apktool d $1 && mv $1 $1.zip && unzip $1.zip "*.dex" -d $1_dex/ && cd $1_dex/ && d2j-dex2jar *.dex
当然也可以把这个放到 .bash_profile
可以命令行运行
实战
超级简单的Android逆向
还是JDCTF的一道题 先用写好的 1.sh
脚本自动反编译了 生成的classes-dex2jar.jar放到jd-gui里面 所有的东西都在主函数,看主函数 所有的程序,输入的值经过 encode
函数和 base64
只要等于 NGM5OTkzNDIyM2NmMjQwZA==
这个就可以了 解出来是 4c99934223cf240d
看一下encode函数,没什么用 把字符串翻转一下就好了
参考文章
https://blog.csdn.net/jyygn163/article/details/71731786