刺激战场
六合彩
贵宾厅
  • 1147阅读
  • 0回复

再来分析下断返回相同数据的新游戏以及解决思路。 [复制链接]

上一主题 下一主题
离线啊冲
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-08-28
----------------
魔鬼作坊
游戏“禁技巧”分析技术揭秘中……
http://www.moguizuofang.com/bbs/
----------------
屏幕 1024*768  系统:XP3
再来分析下断返回相同数据的“新游戏”以及解决思路。
魔恩QQ:8643245
各位亲爱的朋友:
我们又在VIP课程相会了,那么,这节课,我将与你分享再来分析下断返回相同数据的“新游戏”以及解决思路。

解决问题万能思路:遇到什么问题需要解决,百度谷歌一下,你就知道了。
                  因为你想解决的问题,别人可能早已解决。

本课思路:下断分析返回的相同数据,如果返回数据的领空在某DLL里,很可能可以说明真正的发包CALL也在里面。
真正发包CALL特征:下断后能断到不相同的返回数据。
检测方法:分析返回不相同的数据,看是否有能实现要找的CALL的效果。

具体操作技巧:

先打开OD,再开游戏附加,否则会被检测到。


打开NPC

调用堆栈:     线程  000000D4
地址       堆栈       函数过程                              调用来自                      结构
1771FF28   10005118   WS2_32.send                           DirectNe.10005112
1771FF78   10004FBD   DirectNe.10004FD0                     DirectNe.10004FB8
1771FF84   10007634   包含DirectNe.10004FBD                   DirectNe.10007631


走路CALL

调用堆栈:     线程  000000D4
地址       堆栈       函数过程                              调用来自                      结构
1771FF28   10005118   WS2_32.send                           DirectNe.10005112
1771FF78   10004FBD   DirectNe.10004FD0                     DirectNe.10004FB8
1771FF84   10007634   包含DirectNe.10004FBD                   DirectNe.10007631


调用堆栈:     主线程
地址       堆栈       函数过程                              调用来自                      结构
00135254   10003D96   DirectNe.10003E20                     DirectNe.10003D91
00135288   006CCDD1   包含DirectNe.10003D96                   xyd00.006CCDCE
001352A4   006CD112   xyd00.006CCCD0                        xyd00.006CD10D
001352BC   005FD7A9   xyd00.006CD0D0                        xyd00.005FD7A4
001352C8   0063AC39   xyd00.005FD790                        xyd00.0063AC34
00135398   0064032B   xyd00.0063A9D0                        xyd00.00640326
001353C4   00640D79   xyd00.006401D0                        xyd00.00640D74
0013541C   00643297   xyd00.00640CE0                        xyd00.00643292
//走路CALL
21 12

00643267    8A93 90380000   MOV DL,BYTE PTR DS:[EBX+3890]
0064326D    8B8B 88380000   MOV ECX,DWORD PTR DS:[EBX+3888]
00643273    8983 94380000   MOV DWORD PTR DS:[EBX+3894],EAX
00643279    8B83 8C380000   MOV EAX,DWORD PTR DS:[EBX+388C]
0064327F    C683 98380000 0>MOV BYTE PTR DS:[EBX+3898],0
00643286    52              PUSH EDX                                 ; EDX=00000001
00643287    8B93 84380000   MOV EDX,DWORD PTR DS:[EBX+3884]
0064328D    50              PUSH EAX                                 ; EAX=00000000
0064328E    51              PUSH ECX                                 ; ECX=00000015  20
0064328F    52              PUSH EDX                                 ; EDX=0000000C 13
00643290    8BCB            MOV ECX,EBX                              ; EBX=12C5D448, (ASCII "H畇")
00643292    E8 49DAFFFF     CALL xyd00.00640CE0

代码注入器测试成功:

push 1
push 0
push 15
push 0c
mov ecx,12c5d448
call 00640ce0




真正发包CALL:

10003E20    83EC 08         SUB ESP,8
10003E23    53              PUSH EBX
10003E24    55              PUSH EBP
10003E25    8B6C24 18       MOV EBP,DWORD PTR SS:[ESP+18]
10003E29    81FD 00001000   CMP EBP,100000
10003E2F    8BD9            MOV EBX,ECX
10003E31    76 1C           JBE SHORT DirectNe.10003E4F
10003E33    6A FF           PUSH -1
10003E35    6A 00           PUSH 0
10003E37    68 64230110     PUSH DirectNe.10012364
10003E3C    E8 4FFBFFFF     CALL DirectNe.10003990
10003E41    83C4 0C         ADD ESP,0C
10003E44    5D              POP EBP
10003E45    83C8 FF         OR EAX,FFFFFFFF
10003E48    5B              POP EBX
10003E49    83C4 08         ADD ESP,8
10003E4C    C2 1000         RETN 10
10003E4F    8B43 0C         MOV EAX,DWORD PTR DS:[EBX+C]
10003E52    8D4428 10       LEA EAX,DWORD PTR DS:[EAX+EBP+10]
10003E56    3D 00008000     CMP EAX,800000

OD死码:

10003E41    83C4 0C         ADD ESP,0C
10003E44    5D              POP EBP
10003E45    83C8 FF         OR EAX,FFFFFFFF
10003E48    5B              POP EBX
10003E49    83C4 08         ADD ESP,8
10003E4C    C2 1000         RETN 10



万事万物相生相克,遇到问题搞不定,不是您能力的问题,而是您的方法不对而已。变则通,不变则死。


打开NPC

调用堆栈:     线程  000000D4
地址       堆栈       函数过程                              调用来自                      结构
1771FF28   10005118   WS2_32.send                           DirectNe.10005112
1771FF78   10004FBD   DirectNe.10004FD0                     DirectNe.10004FB8
1771FF84   10007634   包含DirectNe.10004FBD                   DirectNe.10007631


走路CALL

调用堆栈:     线程  000000D4
地址       堆栈       函数过程                              调用来自                      结构
1771FF28   10005118   WS2_32.send                           DirectNe.10005112
1771FF78   10004FBD   DirectNe.10004FD0                     DirectNe.10004FB8
1771FF84   10007634   包含DirectNe.10004FBD                   DirectNe.10007631


调用堆栈:     主线程
地址       堆栈       函数过程                              调用来自                      结构
00135254   10003D96   DirectNe.10003E20                     DirectNe.10003D91
00135288   006CCDD1   包含DirectNe.10003D96                   xyd00.006CCDCE
001352A4   006CD112   xyd00.006CCCD0                        xyd00.006CD10D
001352BC   005FD7A9   xyd00.006CD0D0                        xyd00.005FD7A4
001352C8   0063AC39   xyd00.005FD790                        xyd00.0063AC34
00135398   0064032B   xyd00.0063A9D0                        xyd00.00640326
001353C4   00640D79   xyd00.006401D0                        xyd00.00640D74
0013541C   00643297   xyd00.00640CE0                        xyd00.00643292
//走路CALL
21 12

00643267    8A93 90380000   MOV DL,BYTE PTR DS:[EBX+3890]
0064326D    8B8B 88380000   MOV ECX,DWORD PTR DS:[EBX+3888]
00643273    8983 94380000   MOV DWORD PTR DS:[EBX+3894],EAX
00643279    8B83 8C380000   MOV EAX,DWORD PTR DS:[EBX+388C]
0064327F    C683 98380000 0>MOV BYTE PTR DS:[EBX+3898],0
00643286    52              PUSH EDX                                 ; EDX=00000001
00643287    8B93 84380000   MOV EDX,DWORD PTR DS:[EBX+3884]
0064328D    50              PUSH EAX                                 ; EAX=00000000
0064328E    51              PUSH ECX                                 ; ECX=00000015  20
0064328F    52              PUSH EDX                                 ; EDX=0000000C 13
00643290    8BCB            MOV ECX,EBX                              ; EBX=12C5D448, (ASCII "H畇")
00643292    E8 49DAFFFF     CALL xyd00.00640CE0

代码注入器测试成功:

push 1
push 0
push 15
push 0c
mov ecx,12c5d448
call 00640ce0




真正发包CALL:

10003E20    83EC 08         SUB ESP,8
10003E23    53              PUSH EBX
10003E24    55              PUSH EBP
10003E25    8B6C24 18       MOV EBP,DWORD PTR SS:[ESP+18]
10003E29    81FD 00001000   CMP EBP,100000
10003E2F    8BD9            MOV EBX,ECX
10003E31    76 1C           JBE SHORT DirectNe.10003E4F
10003E33    6A FF           PUSH -1
10003E35    6A 00           PUSH 0
10003E37    68 64230110     PUSH DirectNe.10012364
10003E3C    E8 4FFBFFFF     CALL DirectNe.10003990
10003E41    83C4 0C         ADD ESP,0C
10003E44    5D              POP EBP
10003E45    83C8 FF         OR EAX,FFFFFFFF
10003E48    5B              POP EBX
10003E49    83C4 08         ADD ESP,8
10003E4C    C2 1000         RETN 10
10003E4F    8B43 0C         MOV EAX,DWORD PTR DS:[EBX+C]
10003E52    8D4428 10       LEA EAX,DWORD PTR DS:[EAX+EBP+10]
10003E56    3D 00008000     CMP EAX,800000

OD死码:

10003E41    83C4 0C         ADD ESP,0C
10003E44    5D              POP EBP
10003E45    83C8 FF         OR EAX,FFFFFFFF
10003E48    5B              POP EBX
10003E49    83C4 08         ADD ESP,8
10003E4C    C2 1000         RETN 10
善者 慈悲心常在 无怨无恨 以苦为乐
默认压缩密码www.hifyl.com
文件分享密码问题:http://www.hifyl.com/read-htm-tid-4444.html
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个