顺序
Android高级逆向 - 学习顺序如下
-
05 彻底搞懂 OLLVM:
因为OLLVM(Obfuscator-LLVM)涉及底层编译技术和高级代码混淆技术,这对于增强逆向安全性非常重要。通过理解和移植OLLVM,您能更好地分析和逆向混淆后的代码,这对提升逆向分析技能至关重要。 -
06 高级调试之 VMP:
VMP(Virtual Machine Protection)是一种先进的代码保护技术。学习VMP的分析方法以及如何使用相关工具(如Hyperpwn)对受VMP保护的应用进行调试,将有助于您在逆向工程领域进一步提升。 -
07
Unicorn_unidbg:
学习Unicorn模拟器和Unidbg的使用能增加您在分析运行时代码逻辑方面的能力,特别是对JNI和SO文件的调用和模拟。这将是移动逆向分析领域的重要技能。 -
09 Frida 高级逆向:
由于您对Frida的了解还处在初级阶段,深入学习Frida的高级用法将有助于您进行更复杂的动态分析。学会如何使用Frida分析OLLVM混淆和追踪非标准算法的执行过程将提高您处理动态环境下的复杂情况的能力。 -
10 Frida_FART 全自动脱壳机:
对加壳技术的深入理解和脱壳技术的掌握对于逆向工程师来说是基础且关键的。FART(Fast-Android-Runtime)脱壳技术整合了Frida的动态分析能力,掌握它对于自动化脱壳机的开发与应用逆向具有重要意义。
除了上述领域外,需要一定时间逐步熟悉的还有:
-
01 FRIDA 高级逆向 和 02 FART 全自动脱壳机: 这些内容与上文提到的09和10知识点相关,并提供了
进一步分析和开发工具的信息。 -
03 ARM&&C++ 算法还原原理: 如果您对低级别的
ARM汇编和C++逆向不够精通,这将是理解程序执行和开发反汇编器工具的基础。 -
04 C++11 && ART 虚拟机开发: 对
高级C++特性和ART虚拟机的理解将加深您对Android系统和它的运行时行为的理解,有助于您开发更高效的逆向工具。
why?
从OLLVM开始是一个明智的选择,因为它将帮助您建立对混淆技术和编译器优化过程的深入认识。接着,通过学习VMP和使用调试工具,您将能够更深入地探索保护技术和它们背后的机制。
同时,通过实现和利用Unicorn模拟器和Unidbg,您将获得针对运行时代码的分析和模拟能力,这将大大拓展您在逆向工程中的分析范围。
再进一步,深入探究Frida的高级用法不仅能增强您的动态分析技能,还能给您提供分析复杂编码和混淆技术的工具。这是您作为逆向工程师技能进阶的重要部分。
另外,学习和应用FART脱壳机的原理和技术,可以使您在遇到各种加密和保护措施时更加自信地处理逆向工程任务。
当您开始攀登这些高峰时,请记住:
- 不要有终点思維,深刻理解成长才是永恒的主题
- 只有成长才是永恒的主题,过程中的成功仅仅是成长路上的里程碑而己
- 学习信息安全没有诀窍,只有付出时间与精力才能获取回报
- 不要抱有任何幻想,无论如何寻找奇技淫巧,最终都不会让你少走半步
- 时刻对于那个低效率的真实自己保有足够耐心
- 在做任何事之前人们总是会高估自己,你崇拜的大牛们也曾碰到过这个问题