我正在工作的一个应用程序最近进行了笔测试。报告中提到的风险之一是它没有适当的 Hook 检测。我已经实现了 RootBeer 库,但这很容易避免。
测试人员为 Android 应用程序创建了一个 Frida 脚本,用于在运行时修改根检测逻辑。该脚本连接到 System.exit 方法以返回 false 而不是 true。这阻止了应用程序在检测到设备已被 root 后退出。
渗透测试人员建议我们实施尽可能多的不同检查以阻止逆向工程师。
其中一项检查是让 Android 应用程序扫描位于以下位置的自己的内存映射文件
/proc/<pid>/maps
Run Code Online (Sandbox Code Playgroud)
在哪里
<pid>
Run Code Online (Sandbox Code Playgroud)
是应用程序的进程 ID (PID)。
我检查了 Android 文档,只能找到有关处理内存的信息,但找不到有关扫描内存的信息。例如。https://developer.android.com/topic/performance/memory
我看到您可以“获取设备当前内存状态的 MemoryInfo 对象”。但这仅显示系统上的可用内存。
有没有人有解决这个问题的方法?