掌握逆向工程可以带给你哪些技能?
- 抓取APP内容
- 制作套壳包拦截APP数据
- 激活成功教程单机游戏修改游戏属性行为
- 加强反逆向的防范意识
逆向手段介绍
我了解到的安卓逆向有复现工程、侵入工程、注入工程三种手段。
复现工程
复现工程是指通过工具将APK转换为Android工程,并对Android工程的配置项修复使其可以正常运行,只要工程可以被成功复现接下来就可以为所欲为了。事实上并不是所有工程都可以被成功复现,而且需要花费大量的时间去复原工程,这也非常考验开发人员的耐心和技术经验。
侵入工程
侵入工程是指通过工具将APK转换为Smali工程,然后通过开发工具编写一个附加工程,再将附加工程的Smali和原有工程整合在一起,再重新打包。没有友好的DEBUG支持,依靠打印调试。
注入工程
在特定设备上安装特定的HOOK框架,编写独立的HOOKAPK,通过HOOK框架的支持,直接注入代码到目标APK的虚拟机中。这种方式,只能运行在特定环境中,制作套壳包放在公网上就无能为力了。
| 方式 | 上手难度 | 效率 | 运行环境 | 优点 | 缺点 |
|---|---|---|---|---|---|
| 复现工程 | ⭐ | ⭐⭐ | 不限 | 接近原生开发 | |
| 侵入工程 | ⭐⭐⭐ | ⭐⭐⭐ | 不限 | 逆向业务与APP业务分离,容易移植和迭代 | 没有友好的DEBUG支持,基本靠打印筛选有效信息。 |
| 注入工程 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 特定环境 | 独立的APK处理逆向业务,DEBUG支持 | 只能在特定环境中运行 需要开发者掌握特定框架技能 |
你可以根据自身业务特点和自身能力去选择逆向的方式,举个例子,假如你的意图是为了跨职能交付,那么注入工程就是很好的选择,如果你为了制作套壳包供他人使用,那么侵入工程和复现工程是必然的选择。
侵入工程
掌握这门技能需要对ApkTool和Jadx工具、安卓签名知识、Smali基础语法有一定的了解,假如缺乏这方面的知识储备也没有关系,这个专栏带你从零开始窥探安卓逆向的其中一扇大门。
那么这个专栏教你如何激活成功教程签名、伪造签名、激活成功教程APK和XAPK的Java层业务等技能,并带你制作一套属于自己的逆向模板。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224822.html原文链接:https://javaforall.net
