如何在Frida脚本中调用指针函数

问题描述 投票:0回答:1

我正在调试 Frida 的 macOS 应用程序。 这是伪代码

            rax = [Herlper cfunc];
            rax = *rax;
            rax = (rax)(0x0, 0x0, 0x0);
            rax = [rax retain];
            r13 = rax;
            r12 = [[r13 dataUsingEncoding:0x4] retain];

如何在脚本中获取 r12 结果?

希望您能帮忙,谢谢!

我尝试使用这个脚本

var f = new NativeFunction(ptr(ObjC.classes.Herlper.cfunc()).sign(),'pointer',['uint8','uint8','uint8'])
f(0x0,0x0,0x0)

但是错误:

Error: access violation accessing 0x600001931050
    at <eval> (<input>:1)
objective-c macos frida
1个回答
0
投票

我已经解决了这个问题。 脚本:

var stackAddress = ObjC.classes.Herlper.cfunc()
var memoryAddress = Memory.readPointer(stackAddress)
var func = new NativeFunction(memoryAddress,'pointer',['int','int'])
var result = func(0x0,0x0)
Memory.readByteArray(result,100)
© www.soinside.com 2019 - 2024. All rights reserved.