环境
Android sdk/ndk
or
真机
必备语言
smali
(http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html语法查询)
java
arm汇编
反编译工具
apktool:将APK反编译为smali语言代码
dex2jar:将dex反编译为JAVA语言
apktoolgui:代码签名等
代码查看工具
jd-gui:查看dex2jar反编译出的代码
调试工具
netbeans:调试smail代码
ida:调试so库文件
教程:
《Android软件安全与逆向分析》(最近刚出版的)
or
google搜索android reverse(国外资料较多较新,有文章有视频)
and
看雪android安全
基本步骤:
1.download需要分析的apk
2.利用apktool反编译为smail代码
3.解压apk,用dex2jar反编译dex为java代码
静态分析:
4.分析smail代码及java代码(java代码经常有部分内容反编译不出来,需要查看smail代码,需要修改原程序过反调等都是在smail代码内操作)
动态分析:
5.apktool将smail代码重新编译为apk,并签名
6.利用netbeans调试
7.利用IDA调试so文件