Home Frida Windows下的坑1 版本要python3 10 2 不能直接复制粘贴会报错not A Function
Post
Cancel

Frida Windows下的坑1 版本要python3 10 2 不能直接复制粘贴会报错not A Function

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()

This post is licensed under CC BY 4.0 by the author.