基础以及细节遗留问题

关键技术基础概念

FRIDA

Frida是一个动态代码插桩工具,主要用于执行动态分析。它允许你在程序运行时注入自己的代码监控执行流程。使用该工具可以实现对应用程序的Hook监控修改函数调用消息传递

  • 适用平台:支持Windows、macOS、Linux、iOS和Android等多个平台。
  • 使用场景:逆向工程、安全评估、开发与调试等。
  • 核心组件:包括一个核心库以及多个语言绑定(如PythonNode.js)。
    🔗52 FRIDA
    看需 FRIDA-hook-java

总结:动态分析代码,实现HOOK,监控和修改函数调用,跨平台,调试和逆向。

OLLVM

OLLVM(Obfuscator-LLVM)是基于LLVM框架开发的编译器,提供了额外的代码混淆功能。

  • 目的:增强软件的安全性,对抗静态动态逆向工程
  • 混淆技术:比如控制流平坦化指令替换假控制流等。
  • 应用范围:可以应用于C/C++/Objective-C等语言编写的软件。

ART

ART(Android Runtime)是Android 4.4及以上版本使用的运行时环境,用于替代Dalvik

  • 优点:提高了应用性能,并减少了内存占用
  • 工作原理:使用AOT(Ahead-of-Time)编译,将应用的字节码编译为本地机器码
  • 垃圾回收:优化了垃圾收集机制,减少了应用占用的内存。

Dalvik

DalvikAndroid 4.4之前版本使用的虚拟机。

  • 特点:专为Android设计,优化了移动设备的资源限制。
  • 工作原理:基于JIT(Just-In-Time)编译执行应用的DEX(Dalvik Executable)文件
  • DEX格式:与标准的Java字节码不同,Dalvik使用专为Android优化的DEX格式。