使用 Frida Python 枚举模块

问题描述 投票:0回答:1

我将 Frida 与 Python 结合使用。

连接到远程进程

import frida


frida.get_device_manager().add_remote_device('192.168.3.55:2222).attach(1234)

如何像在 Frida cli(Javascript) 中那样枚举模块

Process.enumerateModules();

但是使用Python?

python-3.x frida
1个回答
0
投票

过程与使用

frida
命令时相同,Python代码只能在客户端使用。对于服务器端,您必须加载 Frida JavaScript 代码。

您可以通过将 JavaScript 文件作为字符串集成到 Python 代码中来实现此目的:

带有集成 JavaScript 源的 Frida Python 脚本

import frida, sys
 
script = """
    Process.enumerateModules({
        onMatch: function(module){
            console.log('Module name: ' + module.name + " - " + "Base Address: " + module.base.toString());
        }, 
        onComplete: function(){}
    });
"""
session = frida.get_device_manager().add_remote_device('192.168.3.55:2222).attach(1234)
script = session.create_script(script)
script.load()
sys.stdin.read()

或者我更喜欢的方式,在 Python 代码中加载一个单独的 JavaScript 文件:

Frida Python 脚本和外部 JavaScript 源文件

script.js

Process.enumerateModules({
    onMatch: function(module){
        console.log('Module name: ' + module.name + " - " + "Base Address: " + module.base.toString());
    }, 
    onComplete: function(){}
});

我的弗里达.py

import frida, sys
import codecs

frida_js = './script.js'
with codecs.open(frida_js, 'r', 'utf-8') as f:
    source = f.read()

session = frida.get_device_manager().add_remote_device('192.168.3.55:2222).attach(1234)
script = session.create_script(source)
script.load()
sys.stdin.read()
© www.soinside.com 2019 - 2024. All rights reserved.