2024年4月4日发(作者:)
用户态完美实现"变速齿轮"
学习各种高级外挂制作技术,马上去百度搜索"魔鬼作坊",点击第一个站进入,
快速成为做挂达人。
1>变速齿轮原理:
变速齿轮利用HOOKAPI实现针对Windows主流应用程序的变速功能,
QueryPerformanceCounter,
GetTickCount,
timeGetTime
3个API实现的完美加速。
(有些程序如<扫雷>是通过timer计时的,Hook这三个函数还不能实现加速)
为了实现变速效果,按键精灵作者采用公式算法实现了加速减速效果,公式如下:
Result:=上次返回时间+Round((当前返回时间-上次正常时间)*Power(2,倍数));
根据这个分析,所以我们写变速齿轮的思路就出来了:
挂钩这三个函数,修改器返回值.完成~
2>逆向这三个Api:
kCount
代码:
复制代码
1
2
3
4
5
movedx,7FFE0000h
moveax,dwordptrds:[edx]
muldwordptrds:[edx+4]
shrdeax,edx,18h
retn
tTime
代码:
复制代码
6cmpdwordptrds:[76B30014],0
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
jnzGetTickCount
callFunc_1
subeax,dwordptrds:[76B30018]
push0
sbbedx,dwordptrds:[76B3001C]
push2710
pushedx
pusheax
callFunc_2
addeax,dwordptrds:[76B30020]
retn
Func_1:
movedi,edi
movedx,dwordptrds:[7FFE000C]
moveax,dwordptrds:[7FFE0008]
cmpedx,dwordptrds:[7FFE0010]
jnzshortwinmm.76B12B0B
retn
Func_2:
;//一堆废话,又臭又长...
;//从第一个"jnzGetTickCount"的跳转来看,
;//只要让timeGetTime的返回值跟GetTickCount一样即可~
erformanceCounter
代码:
复制代码
29
30
31
32
33
34
35
36
movedi,edi
pushebp
movebp,esp
pushecx
pushecx
leaeax,dwordptrss:[ebp-8]
pusheax
pushdwordptrss:[ebp+8]


发布评论