总结一些经典步骤,工具下载地址:
链接:https://pan.baidu.com/s/1leIM_C_OA2CGJV_eaNFa9Q
提取码:itn4
1.查看资源文件
使用apktool可以最大限度的还原出资源文件
java -jar apktool_2.3.4.jar d -f yv.apk -o vpn
yv.apk (要反编译的apk名字) vpn(反编译后存到vpn目录下)
2.使用dex2jar反编译apk得到Java源代码
将yv.apk解压将其中的classes.dex文件放到dex2jar-2.0 目录下
dos命令定位到dex2jar.bat所在目录,输入
d2j-dex2jar classes.dex
然后获得 classes-dex2jar.jar 文件
3.使用jd-gui工具将class文件反编译成java源代码
运行jd-gui.exe,将classes-dex2jar.jar 拖入jd-gui.exe即可
4.逆向SO文件
有些apk为了防止被反编译等原因,将关键代码封装成SO文件
so是shared object的缩写,见名思义就是共享的对象,机器可以直接运行的二进制代码。
也就是使用C\C++来编写,然后编译成SO文件,逆向SO是一个复杂的过程,简单的可以参考这几篇文章
1.汉化修改so文件心得篇一(带偏移修改)
2.汉化修改so文件心得篇二(带偏移修改)
3.so文件汉化心得【整理】
4.Android逆向之旅—Android应用的汉化功能(修改SO中的字符串内容)