Как подключить os_log с помощью Frida

Как указано в заголовке, как я могу подключить os_log с помощью Frida? Попробовал ниже, не работает.

Interceptor.attach(Module.findExportByName("libSystem.B.dylib", "os_log"), {
    onEnter: function (args) {
        console.log(args[0] + args[1]);
    }
});

1 ответ

Пожалуйста, предоставьте версию Frida, версию для iOS и информативный журнал ошибок (в сочетании с try-catch) в следующий раз.

var moduleName = null; // null will search all modules if you are not sure which module it's in
var exportName = "os_log"; // https://developer.apple.com/documentation/os/os_log
Interceptor.attach(Module.findExportByName(moduleName, exportName), {
    onEnter: function (args) {
        try {
            this.passedParameter1 = args[0];
            this.passedParameter2 = ObjC.Object(args[0]).toString();
            this.passedParameter3 = Memory.readUtf8String(args[0]);
        } catch(e) {
            console.error(e);
        }
    },
    onLeave: function() {
        console.log("[onLeave] os_log", JSON.stringify({
            _1: this.passedParameter1,
            _2: this.passedParameter2,
            _3: this.passedParameter3
        }, null, 2));
    }
});
Другие вопросы по тегам