Внутри Java она вызывает нативную функцию из "thing.so ":
public static native byte[] functionName(int i, byte[] bArr);
Эта функция должна возвращать байтовый массив, как вы можете видеть. Поэтому я попробовал это:
Interceptor.attach (Module.findExportByName ( "something.so", "functionName"), {
onEnter: function (args)
{
console.log("entered");
var ptr_data = env.getClassName(args[1]);
var length = args[2];
var data = Memory.readByteArray(ptr_data, length);
console.log(data);
}
});
Но Фрида не может вернуть результат. Даже не печатать «вошел». Обратите внимание, что вы не сможете увидеть имя «functionName», если откроете с помощью ida, потому что оно было удалено elf (.so)Я понятия не имею, где находится это местоположение «functionName», и я хочу найти его, потому что оно содержит много ненужных кодов.
Есть ли другой способ найти его с помощью frida? Пожалуйста, напишите пример и поделитесь со мной.