android - 我的Android应用程序如何扫描自己的内存映射以查找已知的不良关键字,例如“Xposed”或“Frida”?

标签 android memory detection xposed frida

我正在工作的一个应用程序最近进行了笔试。报告中的一个风险是它没有适当的钩子检测。我已经实现了rootbeer库,但这很容易避免。
测试人员为android应用程序创建了一个frida脚本,用于在运行时修改根检测逻辑。脚本连接到system.exit方法以返回false而不是true。这使得应用程序在检测到设备已被根化后无法退出。
钢笔测试人员建议我们尽可能多地进行不同的检查,以阻止逆向工程师。
其中一项检查是让android应用程序扫描位于

/proc/<pid>/maps

在哪里?
<pid>

是应用程序的进程ID(PID)。
我查过android文档,只能找到有关处理内存的信息,但没有关于扫描内存的信息。https://developer.android.com/topic/performance/memory
我看到您可以“获取设备当前内存状态的memoryinfo对象”。但这只显示系统上的可用内存。
有人能解决这个问题吗?

最佳答案

我在这里找到了答案:
The Jiu-Jitsu of Detecting Frida
根据现场”
“本文是移动逆向工程发布系列的一部分。”
你必须在你的android项目中包含本地代码。
你可以在这里:
Add C and C++ code to Your project
我还没有测试过这个,我会更新这个答案。

关于android - 我的Android应用程序如何扫描自己的内存映射以查找已知的不良关键字,例如“Xposed”或“Frida”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53258502/

相关文章:

lua - lua中查找字符串中的两个数字

Android Material 设计 : remove hint animation

c++ - 在没有 Malloc/New 或 Free/Delete 的情况下管理连续的内存块

android - 当drawable 资源是Vector Drawable 时,如何通过TypedArray 获取Drawable 对象?

c - 关于内存对齐的一些困惑

c++ - 在 C++ 中使用寄存器变量可以做多少坏事

python - 如何对两个 wav 文件的 fft 进行卷积

Jquery,查找选择器的类型 - 如何?

Android:与保存的联系人相比,通话详细信息如何

java - 保存整数值的位图