Фрида - Java-приложение зависает после замены методаJAVA

Программисты JAVA общаются здесь
Anonymous
Фрида - Java-приложение зависает после замены метода

Сообщение Anonymous »

Могу ли я узнать имя класса и метода (из декомпилятора Java), чтобы заменить его реализацию или заставить JVM вызывать мой метод вместо целевого метода? (во время выполнения)
Я пробовал использовать для этой цели frida, но приложение зависает после замены.
Env< /p>
$ java --version
java 17.0.11 2024-04-16 LTS
Java(TM) SE Runtime Environment (build 17.0.11+7-LTS-207)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.11+7-LTS-207, mixed mode, sharing)
$ frida --version
16.2.5

Скрипт// I'm trying to replace the StringBuilder constructor implementation in a desktop Java application using frida api

Java.perform(() => {

const StringBuilder = Java.use('java.lang.StringBuilder');
// We need to replace .$init() instead of .$new(), since .$new() = .alloc() + .init()
const ctor = StringBuilder.$init.overload('java.lang.String');
ctor.implementation = function (arg) {
console.log(arg); return this.$init(arg);
};
console.log('[+] new StringBuilder(java.lang.String) hooked');

});


Подробнее здесь: https://stackoverflow.com/questions/785 ... f-a-method

Вернуться в «JAVA»