Linux Ubuntu下的Detour功能

时间:2015-08-18 14:28:30

标签: c++ linux ubuntu hook detours

我在 Windows 下使用 Detours http://research.microsoft.com/en-us/projects/detours/),但现在我使用 Linux Ubuntu ,我想 Detour / Hook 一个功能。 我想绕道我的功能,之后我想调用原来的功能。 (我可以挂钩功能,但之后不能使用原版。)

所以,我决定写一个绕道功能。首先,我将函数复制到另一个地方,但我无法执行它。你能帮助我,为什么我不能执行它?我有分段错误。

我的代码:

int (* h_Com_Printf)(const char *fmt, ...);
...
void *memBuffer;
int size = 0x4F; // size of the function

memBuffer = (void*)malloc(size);
memcpy(memBuffer, (void*)0x08060DEA, size); // copy the function

h_Com_Printf = (int (*)(const char *fmt, ...))memBuffer;
h_Com_Printf("print function: %d\n", 1); // segmentation fault HERE

谢谢!

“可执行文件”(IDA Pro)中的

Com_Printf : 图片:http://kepfeltoltes.hu/150818/ida_printf_www.kepfeltoltes.hu_.png

在VirtualBox中运行的Linux。 (这可能是问题吗?)

0 个答案:

没有答案