能力值:
( LV2,RANK:10 )
|
-
-
2 楼
没人理睬啊,是因为太基础了吗。。 自己顶一个!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
HOOK IAT.或 用 INLINE HOOK
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
INLINE HOOK 了,但是点开始按钮后,od里不走inlin后的setTimer里头啊。 为什么啊?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
尝试IAT。我以前做R3的变速齿轮 亦是如此。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
膜拜楼上,我知道了变速齿轮这个东西,,有没有可学习的关于变速齿轮的资料啊?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
我以前用Detours HOOK过这个函数,主要代码如下:
/*
* 函数:SetHook
* 作用:安装/卸载 API HOOK
* 参数:TRUE - 安装,FALSE - 卸载
* 返回:无
*/
void SetHook(BOOL flag)
{
if (flag)
{
DetourRestoreAfterWith();
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread());
// HOOK 函数列表
DetourAttach(&(PVOID&)Old_SetTimer, New_SetTimer);
DetourTransactionCommit();
}
else
{
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread());
// 取消 HOOK 函数列表
DetourDetach(&(PVOID&)Old_SetTimer, New_SetTimer);
DetourTransactionCommit();
}
}
/*
* 函数:New_SetTimer
* 作用:拦截系统 SetTimer 函数调用
*/
UINT WINAPI New_SetTimer(HWND hWnd,
UINT nIDEvent,
UINT uElapse,
TIMERPROC lpTimerFunc)
{
// 将时间间隔增加10倍
uElapse *= 10;
// 调用原函数返回
return Old_SetTimer(hWnd,
nIDEvent,
uElapse,
lpTimerFunc);
}
好点的变速齿轮不应该从这个函数,还有更底层的东西
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
按照楼上的办法,我试过,但是 只能 hook窗体消息的settimer 而不走点按钮后设置的settimer事件。为什么啊。。。 忘了说,我这是个MFC的程序。 我inline hook了user32.dll里的 settimer 函数。
|
|
|