插入C函数定义为结构内的函数指针

时间:2012-08-21 09:34:33

标签: c macos dyld function-interposition

早上好,

是否可以使用dyld插入功能来插入这种C函数?

typedef struct aStructure {
    IOReturn (*aCfunction)(void *self, UInt32 integer); // self is a 
                                                        // pointer to aStructure
} aStructure;

如何调用该函数:

aStructure **myStruct = ......;

(*myStruct)->aCfunction(myStruct, 1);

1 个答案:

答案 0 :(得分:0)

可能只有在你可以找出实际功能的位置时才有可能,并插入那个

将会有一些代码初始化结构中的函数指针字段以指向实际函数,我想这就是你需要改变的地方。

此外,你的线路休息时,它需要是

(*myStruct)->aCfunction(*myStruct, 1);