Системные вызовы трассировки на Android с Frida - PullRequest
0 голосов
/ 30 марта 2020

Я использую Frida для анализа Android приложения и хотел бы отследить все сделанные системные вызовы, особенно ptrace. Я пытался использовать frida-trace или Interceptor, но оба не дали мне ожидаемых результатов. Далее я попытался использовать Сталкер. См. Следующий сценарий:

Process.enumerateThreadsSync().forEach(function (thread){
    send("Stalking " + thread.id)
    Stalker.follow(thread.id, {
        transform: function(iterator){
            var instruction = iterator.next();
            do{
                if(instruction.mnemonic === 'int'){
                    send(instruction.toString());
                }
                iterator.keep();
            }while((instruction = iterator.next()) !== null);
        }
    });
});

Хотя с самого начала это работает нормально, вскоре происходит сбой:

03-28 10:39:18.787  1918  1935 I ActivityManager: Start proc 6934:com.android.settings/1000 for activity com.android.settings/.Settings
03-28 10:39:19.080  6934  6992 F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 6992 (ndroid.settings), pid 6934 (ndroid.settings)
03-28 10:39:19.097  6995  6995 I crash_dump32: performing dump of process 6934 (target tid = 6992)

Проблема, связанная с GitHub: https://github.com/frida/frida/issues/1230

Есть ли другой способ отследить системные вызовы с использованием Frida, или я что-то упускаю из сценария? Я работаю с AVD Android 9, уровень API 28 x86

...