首页
社区
课程
招聘
[旧帖] [求助]求助游戏加速器编写问题 0.00雪花
发表于: 2011-8-14 11:06 2257

[旧帖] [求助]求助游戏加速器编写问题 0.00雪花

2011-8-14 11:06
2257
以下是看了变速齿轮原理后编写的!暂时碰到一些问题,还请高人指点!
小弟hook了几个函数,分别是timeGetTime GetTickCount QueryPerformanceCounter 和 SetTimer
先是在main()函数中提取了4个函数真正的返回值!
然后当hook到这4个函数时就用下面是函数替换且返回假返回值:

//GetTickCount()
DWORD WINAPI my_GetTickCount()
{       
        DWORD dwRet;       
        dwRet = ((PFN_GetTickCount)(PROC) g_GetTickCount)();
        dwRet  = DWORD(DOUBLE(dwRet - g_dwFirstOfGetTickCountRet) * g_dMultiple);
        return dwRet;
}

//SetTimer()
UINT WINAPI my_SetTimer(HWND hWnd, UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc)
{
        UINT uRet, uMyElapse = (UINT)((DOUBLE)uElapse / g_dMultiple);
        uRet = ((PFN_SetTimer)(PROC) g_SetTimer)(hWnd, nIDEvent, uMyElapse, lpTimerFunc);
        return uRet;
}

//QueryPerformanceCounter();
BOOL WINAPI my_QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)
{
        BOOL fRet;       
        fRet = ((PFN_QueryPerformanceCounter)(PROC) g_QueryPerformanceCounter)(lpPerformanceCount);
       
        if(fRet)lpPerformanceCount->QuadPart = LONGLONG(DOUBLE(lpPerformanceCount->QuadPart - g_liFirstOfQueryPerformanceCounter.QuadPart) * g_dMultiple);
        return fRet;
}

MMRESULT WINAPI my_timeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD dwUser, UINT fuEvent)
{
        MMRESULT Ret;
        UINT uMyDelay = (UINT)((DOUBLE)uDelay / g_dMultiple);
        Ret = ((PFN_timeSetEvent)(PROC) g_timeSetEvent)(uMyDelay, uResolution, lpTimeProc, dwUser, fuEvent);
       
        return Ret;       
}

我用自己的测试程序测试成功,但是在游戏中却无法起到加速作用,还请高手指点一二!
我只是不清楚,如果HOOK到了gettickcount函数后,替换函数应该如何修改返回值才能达到加速的效果呢?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
继续等待ing
2011-8-15 14:49
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
百度变速齿轮公式
2013-5-23 20:37
0
游客
登录 | 注册 方可回帖
返回
//