吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 16721|回复: 41
收起左侧

[调试逆向] 入门级技术切磋讨论,闲来无事可以进来一阅

[复制链接]
小枫叶 发表于 2012-12-10 19:24
首先这个问题说是入门级技术,自己挺苦恼的.混了那么久-才有入门级的水平。- -!~ 悲哀
以下是过程+讨论内容

1.游戏检测指定内存地址.是否被修改.如被修改T下线:
2.自己没能力处理,于是找了其他过检测的辅助研究。
3.幸运的是辅助并没有通过寄存器传送指令,而是HOOK了IAT的函数。(寄存器传送的指令.没技术监视与判断)
4.HOOK的函数为:EnterCriticalSection
5.完整代码为:
00003320:  50                                 PUSH EAX
00003321:  8B4424 24                    MOV EAX, [DWORD SS:ESP+24]
00003325:  3D A01B0000               CMP EAX, 1BA0  /////////////////////很清晰的代码.
0000332A:  75 0F                            JNZ SHORT 0000333B//////////////这里不跳即表示检测开始.然后执行下面过检测代码(上面判断的EAX值也有理由解释了.)
0000332C:  8B4424 2C                   MOV EAX, [DWORD SS:ESP+2C]
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 [DWORD DS:170220]////////170220储存的EnterCriticalSection开头地址
6.开始在CALL下工夫.写代码观察各寄存器的值,没技术过游戏保护,另类方法查看寄存器值。
mov ss:[00400012],eax
mov ss:[00400022],ebx
mov ss:[00400032],ecx
mov ss:[00400042],edx
mov ss:[00400052],esi
mov ss:[00400062],edi
mov ss:[00400072],ebp
mov ss:[00400082],esp
INT3
获取CALL返回值后模仿写.=掉线(不修改游戏所检测的内存地址也掉)
7.不过不能灰心 继续查看函数返回与各寄存器的值。然后模仿=掉线(不修改游戏所检测的内存地址也掉)

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












发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

艹123 发表于 2012-12-10 20:00
你这个应该是游戏外挂把?

点评

你这应该是灌水吧  发表于 2012-12-10 20:08
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
你这个应该是游戏外挂把?

这也算灌水?
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
大神们都看得出这事外挂?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-20 19:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表