能力值:
( LV2,RANK:10 )
|
-
-
2 楼
忘记说了,上面是初始化 调用加速减速方法 push 0.5/*0.5倍减速*/ 2.5/*2.5倍加速*/ 3.5 /*3.5倍加速*/ //单浮点数 call speedhack->InitializeSpeedhack
|
能力值:
( LV5,RANK:65 )
|
-
-
3 楼
不止这三个,还有一个,而且XP,WIN7 WIN10 处理方法不同(大同小异),而且最新的7.4,已经放弃支持XP了
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
gamehack
不止这三个,还有一个,而且XP,WIN7 WIN10 处理方法不同(大同小异),而且最新的7.4,已经放弃支持XP了
哈哈是的,我看他源码太多例外处理了,我就简化了下,照他那么搞人都麻了
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
gamehack
不止这三个,还有一个,而且XP,WIN7 WIN10 处理方法不同(大同小异),而且最新的7.4,已经放弃支持XP了
对,还有个这个 WINMM.dll->timeGetTime JMP speedhackversion_GetTickCount
|
能力值:
( LV2,RANK:85 )
|
-
-
6 楼
能再详细些就好了
|
能力值:
( LV1,RANK:0 )
|
-
-
7 楼
qj111111
忘记说了,上面是初始化
调用加速减速方法
push 0.5/*0.5倍减速*/ 2.5/*2.5倍加速*/ 3.5 /*3.5倍加速*/ //单浮点数
call speedh ...
大佬我最近在研究csol请问你现在研究过吗
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
wyfe
能再详细些就好了
给出源码拿去玩吧 void InitSpeedHack()
{
DWORD ndbase_speed;//speedhack基址
DWORD i;
DWORD kernel32base;
DWORD WINMMbase;
DWORD ntdllbase;
DWORD kernel_GetTickCount;
DWORD WINMMtimeGetTime;
DWORD ntdll_RtlqueryPerf;
DWORD kernel_GetTick64;
CString szbuff;
wchar_t szpid[10];
nhHero = g_dm->FindWindow(NULL,_T("游戏名"));//我懒得用自己注入,随便找了个大漠注入
DWORD pid = g_dm->GetWindowProcessId(nhHero);
_itow(pid,szpid,10);
szbuff = L"inject 2 <c:\\1.dll> ";
szbuff = szbuff + szpid;
szbuff = szbuff + L" 0 1";
OutputDebugStringW(L"InitSpeedHack");
i = g_dm->DmGuard(1,szbuff.GetBuffer());//注入
dbg_print(i);
wchar_t* szsign = L"55 89 E5 B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? A3";
wchar_t wszbuff[4]={0};
CString szresult=L"";
CString csbuff,szback;
//找到基址speedhack
for (i=0;i<0xf;i++)
{
if (i<10)
{ wszbuff[0]=i+48;
}else
{
wszbuff[0]=i+55;
}
csbuff = wszbuff;
szback = csbuff + L"0000000-" + csbuff + L"FFFFFFF";
szresult = g_dm->FindData(nhHero,szback,szsign);
OutputDebugStringW(szresult.GetBuffer());
if (szresult!="")
{
break;
}
}
ndbase_speed = wcstoul(szresult.GetBuffer(),0,16);
ndbase_speed = ndbase_speed-0x204F0;
dbg_print(ndbase_speed);
speedhackversion_QueryPerformanceCounter = ndbase_speed+0x20440;
speedhackversion_GetTickCount64 = ndbase_speed+0x000203B0 ;
speedhackversion_GetTickCount = ndbase_speed+0x00020330;
realQueryPerformanceCounter = ndbase_speed+0x0002D950;
realGetTickCount64 = ndbase_speed+0x0002D940;
realGetTickCount = ndbase_speed+0x0002D930;
InitializeSpeedhack = ndbase_speed+0x000204F0;
kernel32base = g_dm->GetModuleBaseAddr(nhHero,L"kernel32.dll");
kernel_GetTickCount = kernel32base+0x1110C;
kernel_GetTick64 = kernel32base+0x2EEC8;
WINMMbase = g_dm->GetModuleBaseAddr(nhHero,L"WINMM.dll");
WINMMtimeGetTime = WINMMbase+0x26E0;
ntdllbase = g_dm->GetModuleBaseAddr(nhHero,L"ntdll.dll");
ntdll_RtlqueryPerf = ntdllbase+0x388C4;
inlineHook(kernel_GetTickCount,speedhackversion_GetTickCount,realGetTickCount,0);
inlineHook(WINMMtimeGetTime,speedhackversion_GetTickCount,0,0);
inlineHook(ntdll_RtlqueryPerf,speedhackversion_QueryPerformanceCounter,realQueryPerformanceCounter,1);
inlineHook(kernel_GetTick64,speedhackversion_GetTickCount64,realGetTickCount64,0);
}
void 3被加速()
{
if (InitializeSpeedhack==0)
{
checkspeedhack();
}
wchar_t wsbuff[10];
CString csbuff;
float fchange=3.0;
_itow(*(PDWORD)&fchange,wsbuff,16);
csbuff = L"push ";
csbuff =csbuff + wsbuff;
OutputDebugStringW(csbuff);
g_dm->AsmAdd(csbuff);
_itow(InitializeSpeedhack,wsbuff,16);
csbuff = L"call ";
csbuff = csbuff + wsbuff;
OutputDebugStringW(csbuff);
g_dm->AsmAdd(csbuff);
g_dm->AsmCall(nhHero,1);
g_dm->AsmClear();
}
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
qq无言
大佬我最近在研究csol请问你现在研究过吗
研究这游戏变现非常危险,所以没兴趣
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
我用易语言注入和hook函数都成功了,就是远程调用变速无效
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
qj111111
研究这游戏变现非常危险,所以没兴趣
怎么说 老牌产品不是屹立不倒吗
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
感谢分享 谢谢大神
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
感谢分享
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
轻装前行
我用易语言注入和hook函数都成功了,就是远程调用变速无效
你先看看用ce变速精灵功能能不能正常使用,这个和ce变速精灵功能等价的 再检查代码
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
木志本柯
怎么说 老牌产品不是屹立不倒吗
所有fps都有概率速通铁饭碗,一辈子无忧
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
qj111111
所有fps都有概率速通铁饭碗,一辈子无忧
怎么说?FPS游戏收益最高还是咋?
|
能力值:
( LV1,RANK:0 )
|
-
-
17 楼
感谢分享
|
|
|