关于python:frida-Hook调式

58次阅读

共计 753 个字符,预计需要花费 2 分钟才能阅读完成。

案例、批改即用

import frida, sys

def on_message(message, data):
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
    else:
        print(message)

jscode2 = """
Java.perform(function(){var 类名 = Java.use('找到须要 hook 的类名 / 门路')  
    类名. 须要 hook 的办法名.implementation = function(参数 1, 参数 2){send( 参数 1)
        send(参数 2)
        var a = this. 须要 hook 的办法名 (参数 1, 参数 2)
        send('I am here');
        //printHashMap(a)       //HashMap 类型应用此打印形式  
        send(a);                                             
        return a;
    };
})
function printHashMap(param_hm){    // 打印 HashMap 类型参数
    var HashMap = Java.use('java.util.HashMap');
    var args_map = Java.cast(param_hm, HashMap);
    send('args_map:'+args_map.toString());
}
"""process = frida.get_usb_device(timeout=1000).attach(' 增加要 hook 的包名 ')
script = process.create_script(jscode2)  # 须要 hook 的函数
script.on('message', on_message)  # 固定格局,打印
print('[*] Running CTF')
script.load()  # 加载
sys.stdin.read()  # 使程序始终运行,不完结 

正文完
 0