APP逆向实战合集
案例一:小睡眠签名 https://mp.weixin.qq.com/s/BIooPf-xHIz6a6ndWvACQg
引流星球的文章,pass
案例二:去广告 https://mp.weixin.qq.com/s/0Tu-G0fI0PQb05DpGNVXrg
案例三:AutoJs 自动化
下载:https://github.com/kkevsekk1/AutoX
环境配置:https://blog.csdn.net/weixin_55751186/article/details/132420597
简单案例:https://www.cnblogs.com/chen-xia/p/13079588.html
定位组件(通过id、className)
得物自动下滑
1 | // 检查是否在商品详情页 |
案例四: Objection 分析 app
有两种Hook方式,一种基于xposed(算法助手、simpleHook),一种基于frida(objection),如果一种hook不了,就尝试另一种
安装:pip install objection
参考: https://www.zhuoyue360.com/crack/92.html
先启动frida-server
, 然后启动要hook的应用,然后 frida-ps -R
查看包名,然后开始注入
1 | objection -g 得物 explore |
SSL绕过
1 | android sslpinning disable |
绕过root检测
1 | android root disable |
hook 类方法
1 | android hooking watch class_method com.shizhuang.duapp.modules.du_mall_common.utils.product.BaseMallProductItemView.update --dump-args --dump-return |
其中android hooking watch class_method
表示 hook类方法,后面加具体的方法名
各个参数作用:
--dump-args
查看参数--call-original
调用原始的方法实现,而不是注入的代码--dump-return
查看返回值--set-return "hooked"
设置返回值--native
hook native方法--call-back my_func
用自定义函数替换方法--watch-traces --depth 5
查看调用堆栈--dump-backtrace
查看调用链路
hook 类
1 | android hooking watch class com.example.MyClass --dump-args --dump-return |
查看调用了哪些函数,以及函数的入参和返回
hook native函数
通过【基地址】+ 【偏移】来定位函数
1 | android hooking watch native --offset 0x6BC23000+0x1540 --dump-args --dump-return |
- 用IDA定位到要hook的native函数,例如在libnative.so里面的
Java_com_example_NativeFunc
,查看函数的偏移0x1540
- 使用objection中的
android memory list modules
命令列出加载的模块,找到libnative.so对应的基地址,例如0x6BC23000
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Chen's Blog!
评论