能力值:
( LV6,RANK:90 )
|
-
-
2 楼
可以看下示例
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
你HOOK了哪个函数?
|
能力值:
( LV1,RANK:0 )
|
-
-
4 楼
DetourAttach(&(PVOID&)real_helloworld,evilhelloworld);改成DetourAttach(&(PVOID&)myhelloworld,evilhelloworld);
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
luzhmu
你HOOK了哪个函数?
我hook了myhelloworld呀~
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
邓dg
DetourAttach(&(PVOID&)real_helloworld,evilhelloworld);改成DetourAttach(&(PVOID&)myhell ...
这个似乎不行。。。DetourAttach第一个参数必须是指向函数的指针的指针...那个教程里面就是这么弄的。。
|
能力值:
( LV7,RANK:140 )
|
-
-
7 楼
是不是函数被内联了? 调试的时候看一下反汇编啊,看看函数是否独立,如果被内联了或者直接被优化掉了,那肯定会失败。
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
yeyeshun
是不是函数被内联了?
调试的时候看一下反汇编啊,看看函数是否独立,如果被内联了或者直接被优化掉了,那肯定会失败。
大佬,跪谢。。。我关闭优化选项后就Hook成功了。。。哭。。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
带上 WINAPI
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
以前遇到过这个问题,也是Hook一直失败,然后就去跟踪DetourAttach,发现里面VirtualProtect调用失败,把它改成
VirtualProtectEx调用就可以了。 这个库官方没有维护了,可能有bug,不知道你遇到的问题是不是这个,把DetourAttachEx函数实现源代码修改下再编译使用试试。。
DWORD pid = GetCurrentProcessId();
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid);
if (!VirtualProtectEx(hProcess, pbTarget, cbTarget, PAGE_EXECUTE_READWRITE, &dwOld)) {
error = GetLastError();
DETOUR_BREAK();
goto fail;
}
// if (!VirtualProtect(pbTarget, cbTarget, PAGE_EXECUTE_READWRITE, &dwOld)) {
// error = GetLastError();
// DETOUR_BREAK();
// goto fail;
// }
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
gestic
以前遇到过这个问题,也是Hook一直失败,然后就去跟踪DetourAttach,发现里面VirtualProtect调用失败,把它改成
VirtualProtectEx调用就可以了。这个库官方没有维 ...
谢谢啦~我已经在楼上回复了一位回答者,是他说的内联汇编优化的问题~
|
|
|