Как напечатать переменную из подключенной нативной функции в Android с помощью Frida - PullRequest
0 голосов
/ 22 мая 2019

У меня есть приложение для Android, которое загружает mylib.so.В этой библиотеке есть функция с именем decryptChar, которую я хочу перехватить и напечатать вычисленную там строковую переменную.Я использую Фрида для этой цели.Я сделал несколько попыток, но, учитывая мою неопытность в этом, все провалилось.Я хотел бы напечатать переменную Key непосредственно перед выходом из функции, чтобы я мог получить ее окончательное значение.

Код, который я использовал, следующий:

Interceptor.attach(Module.findExportByName("mylib.so", "decryptChar"), {
    onEnter: function (args) {
        console.log(this.Key.value);
    }
});

Как правильно это сделать?

1 Ответ

0 голосов
/ 23 мая 2019

Вы смешали пару вещей

Аргумент onLeave является возвращаемым значением, this используется для передачи данных из onEnter

Если вы хотите напечатать первый аргумент для статического метода,давайте предположим, что это указатель на строку

Interceptor.attach(Module.findExportByName("mylib.so", "decryptChar"), {
    onEnter: function (args) {
        console.log(args[0].readCString());
    }
});

Прочитать документы @ https://www.frida.re/docs/javascript-api/#instruction

...