1

おはようございます、

dyld介入機能を使用して、この種のC関数を挿入することは可能ですか? 

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

関数の呼び出し方法:

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

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

1 に答える 1

0

おそらく、実際の関数がどこにあるかを把握し、それを挿入できる場合にのみ可能です

構造体の関数ポインタフィールドを初期化して実際の関数を指すようにするコードがあります。ここで変更する必要があると思います。

また、あなたの呼び出し線はわずかにオフになっています、それはする必要があります

(*myStruct)->aCfunction(*myStruct, 1);
于 2012-08-21T09:45:35.947 に答える