android逆向安全技术大全 android 逆向
转载
- 边用边学。
- 安卓逆向
- 脱壳至二次打包可用
- 正向加壳可以做的事情
- 代码抽取到jni里
- 代码抽取及还原。参考网址:https://m.wang1314.com/doc/webapp/topic/17363230.html
- 代码混淆,增加阅读难度,不影响运行。
- vmp, 将代码抽取到jni里使用汇编实现(个人理解,肯定有误)。
- 动态加载dex
- 反调试
- 逆向被加壳的app
- 使用fart修复apk
- 先使用脱壳机获得apk和代码指令的txt格式
- 使用fart.py进行修复dex文件
- 重新打包成apk,使用安卓monitor分析log
- 如果有反调试的话,使用01editor修改dex或者so文件,直到可以二次打包
- 二次打包,直到可以正常运行,如果失败的话,重复3的步骤
- 算法还原
- 这里默认需要还原的代码在jni里
- 使用ida进行静态分析,找到要分析的方法
- 动态调试
- 使用ida_server 动态调试
- 进入调试窗口
- 使用ida-trace,调用方法,打印被trace 的指令到文本中
- 按照trace到的指令进行还原算法,直到还原完一个版本
- 分别多次调用实际的算法和自己还原的,直到返回结果一致
- 多次调用步骤4,直到结果都一致。
- 使用unidbg模拟动态调试
- 使用unidbg模拟环境,调用到需要测试的jni方法并实现hook,
- 使用unidbg进行traceCode
- 按照trace到的code进行算法还原,直到还原完一个版本
- 分别多次调用实际的算法和自己还原的,直到返回结果一致
- 多次调用步骤4,直到结果都一致。
- 逆向工具
- 参考官网https://pypi.org/project/jnitrace/
- 自行找视频或者音视频学习。
- 等分享
- frida 轻量级hook工具,参考官网https://frida.re/docs/javascript-api/
- 网上大多时介绍安装的,比较简单。可以找个参考下安装
- 学习hook,可以参考下这个https://reao.io/archives/90/
- unidbg
- 官网地址:https://github.com/zhkl0228/unidbg
- 学习hook,可以参考下这个https://reao.io/archives/90/
- IDA
- 需要学习静态分析
- 需要学习动态调试
- 需要学习trace code
- 参考资料
- 链接:https://pan.baidu.com/s/1U6UgZzhDRDlhfxRf1KgzzA
提取码:rsuh
- ARM反汇编
- 我参考的时这个博客,,我们重点关注的时反汇编。
- 如果再有时间可以读下《汇编语言(第3版) 王爽著》,
- 链接:https://pan.baidu.com/s/1oEMR6iC9vSV0keL-HgzYcw
提取码:jp3w
- xpose
- 学习xpose可以参考我的这个博客,
- 安卓源码阅读网站:
- http://aospxref.com/
- 实战例子
- x手
- x音
- x红书 这些是期望达到的。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。