问题遇到的现象和发生背景
按照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