0

我正在使用 frida 学习 android 应用程序和逆向工程。我想扫描内存是否泄露任何敏感数据。从 frida 的 API 中,我可以使用Memory.Scan函数扫描内存,但这里的问题是参数。Memory.Scan接受address作为第一个参数,但我不确定要输入哪个地址。另一个 API 调用Process.enumerateRangesSync()为我提供了此应用程序所有已加载模块的基地址,但我对基地址感到困惑。

任何指示都将极大地帮助我消除这个疑问。

TIA

4

2 回答 2

0

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 addressASLR

https://en.wikipedia.org/wiki/Address_space_layout_randomization

于 2019-08-30T02:58:03.203 回答
0

您可以通过 LeakCanary 第三方开源库使用扫描类文件内存泄漏或不在您的应用程序中。

https://square.github.io/leakcanary/

于 2019-08-30T03:08:49.433 回答