一些学习网站

吾爱破解移动安全
看雪论坛Android安全

一些工具

Unicode工具

mprop
mprop 临时修改设备的系统调试状态值
[原创]修改ro属性的小工具新版本-170119
利用mprop工具修改当前手机应用都可以调试
[原创]android ro.debuggable属性调试修改(mprop逆向)
BDOpener——开启APK调试与备份选项的Xposed模块

Android中带你开发一款自动爆破签名校验工具kstools
带你开发一款给Apk中自动注入代码工具icodetools(开凿篇)

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代码,重新打包

smali text

修改AndroidManifest.xml中的android:debuggable=”true”
<application android:debuggable=”true”/>

signapk下载链接

xx文件夹dist有生成没签名的apk

重新签名
java -jar signapk.jar testkey.x509.pem testkey.pk8 xx.apk test_signed.apk

你知道哪些Android逆向分析方法?
一步一步带你反编译apk,并教你修改smali和重新打包
Android安全攻防战,反编译与混淆技术完全解析(上)
Android逆向之旅—解析编译之后的AndroidManifest文件格式

赞 赏