Фрида — перехват класса NotLoaded — Java.registerClass не работаетAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Фрида — перехват класса NotLoaded — Java.registerClass не работает

Сообщение Anonymous »

Привет всем.
Я пытаюсь подключить незагруженный класс к Android APK с помощью adb и frida. Для этого я пытаюсь загрузить класс, включаемый в dex-файл, необычным способом. Я создаю новый класс с помощью Java.registerClass(), чтобы загрузить оригинал с реализованным целевым классом.
Однако, когда я запускаю код, мне приходится сталкиваться с проблемами:
  • Во-первых, при использовании сценария all я получаю следующее сообщение:

Код: Выделить всё

{'type': 'error', 'description': "TypeError: cannot read property 'replace' of undefined", 'stack': "TypeError: cannot read property 'replace' of undefined
at w (frida/node_modules/frida-java-bridge/lib/types.js:334)
at registerClass (frida/node_modules/frida-java-bridge/lib/class-factory.js:153)
at registerClass (frida/node_modules/frida-java-bridge/index.js:271)
at bend4 (/script1.js:42)
at  (/script1.js:48)", 'fileName': 'frida/node_modules/frida-java-bridge/lib/types.js', 'lineNumber': 334, 'columnNumber': 1}
  • Когда я запускаю только первую строку, система отправляет отказ на необходимое разрешение для выполнения задачи. Следующий отказ:

Код: Выделить всё

{'type': 'error', 'description': 'Error: java.io.IOException: Permission denied', 'stack': 'Error: java.io.IOException: Permission denied
at  (frida/node_modules/frida-java-bridge/lib/env.js:124)
at value (frida/node_modules/frida-java-bridge/lib/class-factory.js:1058)
at e (frida/node_modules/frida-java-bridge/lib/class-factory.js:580)
at apply (native)
at value (frida/node_modules/frida-java-bridge/lib/class-factory.js:963)
at e (frida/node_modules/frida-java-bridge/lib/class-factory.js:547)
at ue (frida/node_modules/frida-java-bridge/lib/class-factory.js:1190)
at fromBuffer (frida/node_modules/frida-java-bridge/lib/class-factory.js:1168)
at registerClass (frida/node_modules/frida-java-bridge/lib/class-factory.js:216)
at registerClass (frida/node_modules/frida-java-bridge/index.js:271)
at bend4 (/script1.js:42)
at  (/script1.js:48)', 'fileName': 'frida/node_modules/frida-java-bridge/lib/env.js', 'lineNumber': 124, 'columnNumber': 1}
Я указываю, что запускаю перехватчик с правами root на виртуальной машине Android на базе устройств VirtualBox.
Скрипт перехвата:

Код: Выделить всё

function bend4(){
const p2 = Java.registerClass({

name:"com.example.orl",
// implements: [],
// superClass: targeted_class,

});

const p3 = p2.$new();
send(p3);
};
Java.perform(bend4());
Заранее благодарим за помощь.

Подробнее здесь: https://stackoverflow.com/questions/708 ... ot-working
Ответить

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

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

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

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

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