我正在使用 Detours 3.0 连接到我从 Ida Pro 获得的函数。问题是我遇到了一个我似乎无法挂钩的函数,这是由于无效的争论或它使用可变争论列表的事实。
int (*MakePacketBuffer)(const char * buf, int len, const char * splitstr, ...);
#define MakePacketBufferProto int (*)(const char *, int, const char *, ...)
这就是我想象的参数,在 Ida Pro 中它实际上是这样显示的:
int sub_66EEF0(int a1, int a2, const char *a3, ...)
在 Ida 中如何调用该函数:
sub_66EEF0(buf, 2048, "%c%c%c%c%s%c%c", v15, 250, v20, v21, v22, v23, v25);