我正在使用 frida 学习 android 应用程序和逆向工程。我想扫描内存是否泄露任何敏感数据。从 frida 的 API 中,我可以使用Memory.Scan
函数扫描内存,但这里的问题是参数。Memory.Scan
接受address
作为第一个参数,但我不确定要输入哪个地址。另一个 API 调用Process.enumerateRangesSync()
为我提供了此应用程序所有已加载模块的基地址,但我对基地址感到困惑。
任何指示都将极大地帮助我消除这个疑问。
TIA
Process.enumerateModulesSync()
会产生类似的东西
[
{
"base": "0x7eb50e1000",
"name": "linux-vdso.so.1",
"path": "linux-vdso.so.1",
"size": 4096
},
{
"base": "0x7eb50e2000",
"name": "linker64",
"path": "/system/bin/linker64",
"size": 1003520
}
]
是base
对应模块的基地址,
通常你正在寻找名为的模块base.odex
这个词base address
与ASLR
https://en.wikipedia.org/wiki/Address_space_layout_randomization
您可以通过 LeakCanary 第三方开源库使用扫描类文件内存泄漏或不在您的应用程序中。