frida修改对象属性(变量)
import frida, sys
jscode = """
Java.perform(function () {
var utils = Java.use(com.xiaojianbang.app.Utils);
var money = Java.use(com.xiaojianbang.app.Money);
var clazz = Java.use(java.lang.Class);
utils.test.overload(com.xiaojianbang.app.Money).implementation = function (obj) {
send("Hook Start...");
var mon = money.$new(4000,test);
send(mon.getInfo());
send(mon.name.value);
mon.name.value="haidragon";
send(mon);
send(mon.name.value);
var numid = Java.cast(mon.getClass(),clazz).getDeclaredField(num);
numid.setAccessible(true);
var value = numid.get(mon);
console.log(value);
send(value);
numid.setInt(mon, 3000);
var valueNew= numid.get(mon);
send(numid.getInt(mon));
return this.test(mon);
}
});
"""
def message(message, data):
if message["type"] == send:
print("[*] {0}".format(message[payload]))
else:
print(message)
process = frida.get_remote_device().attach(com.xiaojianbang.app)
script= process.create_script(jscode)
script.on("message", message)
script.load()
sys.stdin.read() import frida, sys jscode = """ Java.perform(function () { var utils = Java.use(com.xiaojianbang.app.Utils); var money = Java.use(com.xiaojianbang.app.Money); var clazz = Java.use(java.lang.Class); utils.test.overload(com.xiaojianbang.app.Money).implementation = function (obj) { send("Hook Start..."); var mon = money.$new(4000,test); send(mon.getInfo()); send(mon.name.value); mon.name.value="haidragon"; send(mon); send(mon.name.value); var numid = Java.cast(mon.getClass(),clazz).getDeclaredField(num); numid.setAccessible(true); var value = numid.get(mon); console.log(value); send(value); numid.setInt(mon, 3000); var valueNew= numid.get(mon); send(numid.getInt(mon)); return this.test(mon); } }); """ def message(message, data): if message["type"] == send: print("[*] {0}".format(message[payload])) else: print(message) process = frida.get_remote_device().attach(com.xiaojianbang.app) script= process.create_script(jscode) script.on("message", message) script.load() sys.stdin.read()
上一篇:
IDEA上Java项目控制台中文乱码
