跳过内容

MASTG-TEST-0048: 测试逆向工程工具检测

此测试即将更新

此测试目前可使用,但将作为新的 OWASP MASTG v2 指南 的一部分进行全面修订。

通过提交 PR 来帮助我们:MASTG v1->v2 MASTG-TEST-0048: 测试逆向工程工具检测 (android)

发送反馈

有效性评估

在你的测试设备上安装各种逆向工程工具和框架,然后启动应用。 至少包括以下工具: Frida, Xposed

应用应该以某种方式对这些工具的存在做出反应。 例如,通过

  • 提醒用户并要求接受责任。
  • 通过优雅地终止来防止执行。
  • 安全地擦除设备上存储的任何敏感数据。
  • 报告给后端服务器,例如,用于欺诈检测。

接下来,努力绕过对逆向工程工具的检测,并回答以下问题

  • 这些机制可以很容易地被绕过吗(例如,通过hook单个 API 函数)?
  • 通过静态和动态分析来识别反逆向工程代码有多困难?
  • 您是否需要编写自定义代码来禁用防御措施? 您需要多少时间?
  • 您如何评估绕过这些机制的难度?

绕过逆向工程工具检测时,应遵循以下步骤

  1. 修补反逆向工程功能。 通过简单地使用 NOP 指令覆盖相关的字节码或原生代码来禁用不需要的行为。
  2. 使用 Frida 或 Xposed 来 hook Java 和原生层上的文件系统 API。 返回对原始文件的句柄,而不是修改后的文件。
  3. 使用内核模块来拦截与文件相关的系统调用。 当进程尝试打开修改后的文件时,返回一个指向文件未修改版本的文件描述符。