小枫叶 发表于 2012-12-10 19:24

入门级技术切磋讨论,闲来无事可以进来一阅

首先这个问题说是入门级技术,自己挺苦恼的.混了那么久-才有入门级的水平。- -!~ 悲哀
以下是过程+讨论内容

1.游戏检测指定内存地址.是否被修改.如被修改T下线:
2.自己没能力处理,于是找了其他过检测的辅助研究。
3.幸运的是辅助并没有通过寄存器传送指令,而是HOOK了IAT的函数。(寄存器传送的指令.没技术监视与判断)
4.HOOK的函数为:EnterCriticalSection
5.完整代码为:
00003320:50                                 PUSH EAX
00003321:8B4424 24                  MOV EAX,
00003325:3D A01B0000               CMP EAX, 1BA0/////////////////////很清晰的代码.
0000332A:75 0F                            JNZ SHORT 0000333B//////////////这里不跳即表示检测开始.然后执行下面过检测代码(上面判断的EAX值也有理由解释了.)
0000332C:8B4424 2C                   MOV EAX,
00003330:60                              PUSHAD
00003331:50                              PUSH EAX
00003332:E8 89050000               CALL 000038C0//////////////////////其关键代码CALL里被VM猜不出执行的啥玩意。
00003337:83C4 04                     ADD ESP, 4
0000333A:61                              POPAD
0000333B:58                              POP EAX
0000333C:FF25 20021700         JMP NEAR ////////170220储存的EnterCriticalSection开头地址
6.开始在CALL下工夫.写代码观察各寄存器的值,没技术过游戏保护,另类方法查看寄存器值。
mov ss:,eax
mov ss:,ebx
mov ss:,ecx
mov ss:,edx
mov ss:,esi
mov ss:,edi
mov ss:,ebp
mov ss:,esp
INT3
获取CALL返回值后模仿写.=掉线(不修改游戏所检测的内存地址也掉)
7.不过不能灰心 继续查看函数返回与各寄存器的值。然后模仿=掉线(不修改游戏所检测的内存地址也掉)

8.然后在被HOOK的函数上下工夫,
写代码,防API
略长贴关键
7C921000 >64:8B0D 1800000>mov ecx,dword ptr fs:
7C921007    8B5424 04       mov edx,dword ptr ss:            
7C92100B    837A 14 00      cmp dword ptr ds:,0
7C92100F    75 4F         jnz short ntdll.7C921060
7C921011    F0:FF42 04      lock inc dword ptr ds:
7C921015    75 19         jnz short ntdll.7C921030
7C921017    8B41 24         mov eax,dword ptr ds:
7C92101A    8942 0C         mov dword ptr ds:,eax
7C92101D    C742 08 0100000>mov dword ptr ds:,1
7C921024    33C0            xor eax,eax
7C921026    C2 0400         retn 4 //////////////////////////////////返回=掉线。不修改游戏检测的内存也掉,
7C921029    8DA424 00000000 lea esp,dword ptr ss:
7C921030    8B41 24         mov eax,dword ptr ds:
7C921033    3942 0C         cmp dword ptr ds:,eax
7C921036    75 08         jnz short ntdll.7C921040
7C921038    FF42 08         inc dword ptr ds:
7C92103B    33C0            xor eax,eax
7C92103D    C2 0400         retn 4 //////////////////////////////////返回=掉线。不修改游戏检测的内存也掉,
********************************
7C921060    8B41 24         mov eax,dword ptr ds:
7C921063    3942 0C         cmp dword ptr ds:,eax
7C921066    75 18         jnz short ntdll.7C921080
7C921068    F0:FF42 04      lock inc dword ptr ds:
7C92106C    FF42 08         inc dword ptr ds:
7C92106F    33C0            xor eax,eax
7C921071    C2 0400         retn 4//////////////////////////////////返回=掉线。不修改游戏检测的内存也掉,
我只防了3个返回地址,游戏并没有奔溃而是掉线.那我们怎么理解???我该怎么理解???
由于这个函数经过的地址比较多,我并没有耐心全部写上。
而我在编程中也没有实际运用过这个函数.
这是作者故意HOOK的函数来躲避游戏检测?
还是游戏就是用这条函数来检测指定内存地址是否被修改?
猜测+讨论.欢迎各位!谢谢各位
各位的一切猜测.假想.我会逐一按照大家的想法测试。












艹123 发表于 2012-12-10 20:00

你这个应该是游戏外挂把?

fax919 发表于 2014-11-14 00:06

www.jiancaiwu.com/com/fax123
http://user.qzone.qq.com/2243661574
http://user.qzone.qq.com/2567579343
http://user.qzone.qq.com/2490783590
http://user.qzone.qq.com/2259556474
http://user.qzone.qq.com/2517834982
http://user.qzone.qq.com/2517380305
http://user.qzone.qq.com/2560250291
http://user.qzone.qq.com/2562414365
http://user.qzone.qq.com/2518011633
http://user.qzone.qq.com/2495351400
http://user.qzone.qq.com/2260555786
http://user.qzone.qq.com/2489475788
http://user.qzone.qq.com/2553210439
http://user.qzone.qq.com/2379570372
http://user.qzone.qq.com/2242642785
http://user.qzone.qq.com/2473807265
http://user.qzone.qq.com/2231477460
http://user.qzone.qq.com/2243638218
http://user.qzone.qq.com/2208687294
http://user.qzone.qq.com/2246147803
http://user.qzone.qq.com/2229641497
http://user.qzone.qq.com/2306417920
http://user.qzone.qq.com/2208691117
http://user.qzone.qq.com/2229630160
http://user.qzone.qq.com/2564509063
http://user.qzone.qq.com/2377309790
http://user.qzone.qq.com/2242295415
http://user.qzone.qq.com/2242271317
http://user.qzone.qq.com/2243646247
http://user.qzone.qq.com/2518049067
http://user.qzone.qq.com/2242581620
http://user.qzone.qq.com/2498645190
http://user.qzone.qq.com/2568128967
http://user.qzone.qq.com/2231947115
http://user.qzone.qq.com/2598067166
http://user.qzone.qq.com/2243594619
http://user.qzone.qq.com/2229689318
t.qq.com/weibortr6206
t.qq.com/xz283479
fax123.pharmjx.com
fax9191.china-g.com
faxscv.pharmjx.com
http://www.kongrong.com/e/space/?userid=1417096
http://t.qq.com/fax124
http://t.qq.com/guiyangdai5516?preview
http://t.qq.com/guangzhouk4494?preview
http://t.qq.com/suzhoukaifa-dai?preview
http://t.qq.com/zhongqingd4623?preview
http://t.qq.com/suzhoukaifapiao-?preview
http://t.qq.com/tianjinkai6541?preview
http://t.qq.com/shanghaika4223?preview
http://t.qq.com/beijingkai5723?preview
http://t.qq.com/shamenkaif7123?preview
http://xueqiu.com/1198062409/profile
www.jnfp168.com

xuenii 发表于 2012-12-10 20:16

完全路过,真心不懂。。

艹123 发表于 2012-12-10 21:01

艹123 发表于 2012-12-10 07:00 static/image/common/back.gif
你这个应该是游戏外挂把?

这也算灌水?

LeoSky 发表于 2012-12-10 21:09

我是进来学习的。呵呵

cfwbxajha 发表于 2012-12-11 13:15

楼主发贴辛苦了,谢谢楼主分享

小枫叶 发表于 2012-12-12 07:10

又认真的研究了,这只是作者挂钩子处理CRC检测的手段。

bosslay_001 发表于 2012-12-12 12:06

坐等大牛,卡卡。

gotu110 发表于 2013-1-2 11:52

认真看了一遍~~~不错

zlb659139106 发表于 2013-2-3 12:16

大神们都看得出这事外挂?
页: [1] 2 3 4 5
查看完整版本: 入门级技术切磋讨论,闲来无事可以进来一阅