1. python版本要正确。我现在用的是3.10
2. 安装好python后,需要弄几下cmd 才可以。
3. 不要通过py 来运行python ,而是要通过python3 来运行 。否则会报错 modue not found : frida
4. 不要简单的复制粘贴这一段js代码,而是要手动敲一下,否则会报错; not a function
import frida, sys, time
def on_message(message, data):
print("=== in on_message")
print(message)
print(data)
jscode = """
Java.perform(function () {
var target_class = Java.use('com.xx.utilslibrary.retrofit.a');
// var target_class = Java.use('com.xx.utilslibrary.retrofit.a');
var the_method = target_class.a;
// var the_method = target_class.a;
// console.info("==== step 1");
// the_method.implementation = function(a, b) { // 这个代码是我之前复制粘贴的,就报错。
// console.info('==== a: ', a);
// };
the_method.implementation = function(a,b) { // 这个代码是我亲手敲的,就可以。
console.info('==== a:', a);
}
});
"""
#process = frida.get_usb_device().attach('com.xx.tong')
#script = process.create_script(jscode)
device = frida.get_usb_device()
pid = device.spawn(["com.xx.tong"])
device.resume(pid)
time.sleep(1)
script = device.attach(pid).create_script(jscode)
script.on('message', on_message)
print('==== script start ...')
script.load()
sys.stdin.read()