Фрида - 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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