按照Python3网络爬虫逆向进阶实战学习时,初次使用frida,在运行Python脚本的时候出现了错误错误,一部分是'type': 'error', 'description': "ReferenceError: 'java' is not defined"
hook_java.js
java.perform(() => { // perform方法实现hook逻辑
let MainActivity = java.use("com.germey.apbasic1.MainActivity")
console.log("start hook")
MainActivity.getMessage.implementation = (arg1, arg2) => {
send("Start Hook")
return '6'
}
})
hook_java.py
import frida
import sys
CODE = open("Android\\hook_java.js", encoding="utf-8").read()
PROCESS_NAME = "com.germey.appbasic1" # adb shell ps查看PID
def on_message(message, data):
print(message)
process = frida.get_usb_device().attach(5724) # get_use_device获取当前设备,attach挂载对应进程
script = process.create_script(CODE) # create_script注入Hook脚本
script.on("message", on_message)
script.load()
sys.stdin.read()
运行后报错内容如下:
按照书中应该点击TEST弹出6
java大小写的问题,把java改成Java即可
app界面
java这个变量没有定义,或者忘记从包里面导入