一个用于将脱壳下来的众多dex重新组装成apk的脚本,免去Android安全测试人员在逆向过程中不停grep
的操作
将重新组合的apk
拖入jadx
和jeb
,展示结果如下:
DumpApkInfo可以用来dump加壳信息、签名信息、APK包名等等功能,具体参见子模块readme
大概效果如下
基于unicorn和capstone来trace函数执行流程并记录寄存器信息,具体自己看代码吧,只是一个demo
手动封装了okio.ByteString
的函数,并打包成dex,避免frida在hook APP时无法使用ByteString
的转hex方法,frida使用方式
首先将dex push进/data/local/tmp/
目录下,然后chmod
给予dex
执行权限,frida调用时
Java.perform(function (){
var okio = Java.openClassFile("/data/local/tmp/okio.dex")
okio.load()
var ByteString = Java.use("com.Simp1er.okio.ByteString")
ByteString.$new(key_bytes).hex()// 其实接下来就是ByteString的函数调用了
})
参考: ByteString.java
通过hooklinker
的call_array
函数,hook得到init_array
地址,在Android8.1 64位程序和32为程序上都测试成功,其他的请自己测试更改。
通过hooklinker
的async_safe_format_log
函数,hook得到init_array
以及.init_proc
地址,在Android8.1 64位程序和32为程序上都测试成功,其他的请自己测试更改。
64位效果如下:
32位效果如下: