能力值:
( LV5,RANK:60 )
|
-
-
2 楼
只要一写 MyGetTickCount,进程就死掉了,消失了,什么原因啊?
如果我什么都不写,直接返回1或者数字什么的,就不会死掉
|
能力值:
( LV5,RANK:60 )
|
-
-
3 楼
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
c++还没学。
|
能力值:
( LV5,RANK:60 )
|
-
-
5 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
看不懂哦,等高手吧
|
能力值:
( LV9,RANK:610 )
|
-
-
7 楼
typedef DWORD(__stdcall * GETTICKCOUNT)(void);
是否忘记加__stdcall 了?
|
能力值:
( LV5,RANK:60 )
|
-
-
8 楼
DWORD WINAPI my_GetTickCount(void)
{
DWORD dwRet=10;
DWORD dwRet2=10;
ChookMyGetTickCount->HookStatus(FALSE);
dwRet2=MyGetTickCount();
ChookMyGetTickCount->HookStatus(TRUE);
dwRet=rewa+(dwRet2-rewa)*2.2;
sprintf(buffer, "%d", dwRet);
OutputDebugString(buffer);
return dwRet;
}
|
能力值:
( LV5,RANK:60 )
|
-
-
9 楼
这样的代码。可以起到加速效果,主要是看flash加速,但是不到 几秒 就卡住了。这个原因很诡异啊
|
能力值:
( LV9,RANK:610 )
|
-
-
10 楼
卡住(进程挂起) 和 死掉(进程崩溃) 是有区别的。。。
|
能力值:
( LV5,RANK:60 )
|
-
-
11 楼
谢谢回答,
但是问题是这样的。
这个有输出的,我做了抓图.
选中的地方数字间隔很大,也就是flash开始卡的位置。tick被呼叫声 调用函数
滴答声tick值
只要是出现了这种 间隔很大的数字。有个跨越,flash肯定卡住,但是有的时候过了一段时间又能恢复。
是这样的问题,不知道是我写的代码的问题,还是其他的什么原因
|
能力值:
( LV5,RANK:60 )
|
-
-
12 楼
1487593
直接就飞到这里了。
1494969
flash一下子就卡住不动了
|
能力值:
( LV5,RANK:60 )
|
-
-
13 楼
VOID LoadNtDll()
{
HMODULE hMod = LoadLibrary("Kernel32.dll");
//HMODULE hMod2 = LoadLibrary("winmm.dll");
MyGetTickCount = (GETTICKCOUNT)GetProcAddress(hMod,"GetTickCount"); //得到某个Nt函数地址
//MytimeGetTime = (TIMEGETTIME)GetProcAddress(hMod2,"timeGetTime");
FreeLibrary(hMod);
//FreeLibrary(hMod2);
}
//DLL入口点函数
BOOL APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
LoadNtDll();
if(ChookMyGetTickCount==0)
{
BasicTick=MyGetTickCount();
// BasicTime=MytimeGetTime();
ChookMyGetTickCount = new CHookInfo("Kernel32.dll","GetTickCount",(DWORD)my_GetTickCount);
// ChookMyGetTickCount2 = new CHookInfo("winmm.dll","timeGetTime",(DWORD)my_timeGetTime);
OutputDebugString("地址被修改");
}
// delete ChookMyGetTickCount;
}
return TRUE; // ok
}
//加快的时间=真实系统时间+(真实系统时间-原记录系统时间)*要改变的速度倍数
DWORD WINAPI my_GetTickCount(void)
{
OutputDebugString("tick被呼叫");
ChookMyGetTickCount->HookStatus(FALSE);
AutoTick=MyGetTickCount();
ChookMyGetTickCount->HookStatus(TRUE);
if (!BasicTick)
{
OutputDebugString("失败");
BasicTick = AutoTick;
return AutoTick;
}
FinalTick=BasicTick+(DWORD)((AutoTick-BasicTick)*2);
sprintf(buffer, "滴答%d", FinalTick);
OutputDebugString(buffer);
return FinalTick;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
学习中。。。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
我还在学C语言呢…
|
能力值:
( LV9,RANK:140 )
|
-
-
16 楼
渴望一睹CHookInfo类
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
学习中。。。。。。。。。。。
|
能力值:
( LV5,RANK:60 )
|
-
-
18 楼
给我点思路啊,各位达人
|
能力值:
( LV5,RANK:60 )
|
-
-
19 楼
早都搞定了
|
|
|