apk反编译
正常情况d反编译 b重新编译 xx是生成的文件夹
java -jar apktool.jar d xx.apk -o xx
java -jar apktool.jar b xx
这个包是因为重新打包资源文件有问题 所以用-r不反编译资源文件 -f强制删除现有文件夹
java -jar apktool.jar -r -f d xx.apk -o xx
java -jar apktool.jar b xx
apktool 参数
-f 如果目标文件夹已存在,则强制删除现有文件夹(默认如果目标文件夹已存在,则解码失败)。
-o 指定解码目标文件夹的名称(默认使用APK文件的名字来命名目标文件夹)。
-s 不反编译dex文件,也就是说classes.dex文件会被保留(默认会将dex文件解码成smali文件)。
-r 不反编译资源文件,也就是说resources.arsc文件会被保留(默认会将resources.arsc解码成具体的资源文件)。
大体的思路就是,先看java代码,看逻辑,然后改smali代码,重新打包
修改AndroidManifest.xml中的android:debuggable=”true”
<application android:debuggable=”true”/>
xx文件夹dist有生成没签名的apk
重新签名
java -jar signapk.jar testkey.x509.pem testkey.pk8 xx.apk test_signed.apk
一些学习网站
一些工具
mprop
mprop 临时修改设备的系统调试状态值
[原创]修改ro属性的小工具新版本-170119
利用mprop工具修改当前手机应用都可以调试
[原创]android ro.debuggable属性调试修改(mprop逆向)
BDOpener——开启APK调试与备份选项的Xposed模块
Android中带你开发一款自动爆破签名校验工具kstools
带你开发一款给Apk中自动注入代码工具icodetools(开凿篇)
AXMLEditor xml二进制 更改工具
Brida
Brida是一款 Burp Suite 扩展,作为一座桥梁连接着Burp Suite以及Frida,以帮助用户修改应用程序与后端服务器之间的通信数据为己任。在分析移动端应用时遇到应用使用随机密钥式对称加密,如果不知道其使用的密钥就无法篡改其通信数据,通过Burp也就无法对所有的交换数据进行更改了,于是Brida就这样出现在我们视野中。
LINKS
你知道哪些Android逆向分析方法?
一步一步带你反编译apk,并教你修改smali和重新打包
Android安全攻防战,反编译与混淆技术完全解析(上)
Android逆向之旅—解析编译之后的AndroidManifest文件格式