首页
社区
课程
招聘
[求助] 跟踪游戏封包处理,这段代码看了很久没看懂,请指点
发表于: 2007-7-15 14:43 4924

[求助] 跟踪游戏封包处理,这段代码看了很久没看懂,请指点

2007-7-15 14:43
4924
跟踪游戏封包处理过程,这个这段代码为处理过程,原封包是加过密的。
edi 为要处理的包存放地址
处理后可以得到怪物名称等信息,下面这段码在跟踪过程中好象没有触发异常处理,也没跟到其它什么函数,所以不明白它是怎么处理封包的,帮看看,说下大致情况,这段代码一点都摸不透。

004A2950    55              push    ebp
004A2951    8BEC            mov     ebp, esp
004A2953    6A FF           push    -1
004A2955    68 B89F4C00     push    004C9FB8
004A295A    68 F8A24B00     push    004BA2F8                              // SE 处理程序安装
004A295F    64:A1 00000000  mov     eax, dword ptr fs:[0]
004A2965    50              push    eax
004A2966    64:8925 0000000>mov     dword ptr fs:[0], esp
004A296D    83EC 10         sub     esp, 10
004A2970    53              push    ebx
004A2971    56              push    esi
004A2972    57              push    edi
004A2973    8BF1            mov     esi, ecx
004A2975    8975 E0         mov     dword ptr [ebp-20], esi
004A2978    C745 E4 0100000>mov     dword ptr [ebp-1C], 1
004A297F    8DBE 8C1A0600   lea     edi, dword ptr [esi+61A8C]
004A2985    57              push    edi
004A2986    FF15 08714C00   call    dword ptr [<&KERNEL32.EnterCriti>; ntdll.RtlEnterCriticalSection
004A298C    33DB            xor     ebx, ebx
004A298E    895D FC         mov     dword ptr [ebp-4], ebx
004A2991    8B46 04         mov     eax, dword ptr [esi+4]
004A2994    8D48 01         lea     ecx, dword ptr [eax+1]
004A2997    8B56 08         mov     edx, dword ptr [esi+8]
004A299A    3BCA            cmp     ecx, edx
004A299C    74 2A           je      short 004A29C8
004A299E    81F9 A0860100   cmp     ecx, 186A0
004A29A4    75 04           jnz     short 004A29AA
004A29A6    3BD3            cmp     edx, ebx
004A29A8    74 1E           je      short 004A29C8
004A29AA    8B4D 08         mov     ecx, dword ptr [ebp+8]
004A29AD    894C86 0C       mov     dword ptr [esi+eax*4+C], ecx
004A29B1    8B7E 04         mov     edi, dword ptr [esi+4]
004A29B4    47              inc     edi
004A29B5    897E 04         mov     dword ptr [esi+4], edi
004A29B8    8BC7            mov     eax, edi
004A29BA    FF06            inc     dword ptr [esi]
004A29BC    3D A0860100     cmp     eax, 186A0
004A29C1    75 0F           jnz     short 004A29D2
004A29C3    895E 04         mov     dword ptr [esi+4], ebx
004A29C6    EB 0A           jmp     short 004A29D2
004A29C8    895D E4         mov     dword ptr [ebp-1C], ebx
004A29CB    57              push    edi
004A29CC    FF15 0C714C00   call    dword ptr [<&KERNEL32.LeaveCriti>; ntdll.RtlLeaveCriticalSection
004A29D2    C745 FC FFFFFFF>mov     dword ptr [ebp-4], -1
004A29D9    E8 19000000     call    004A29F7
004A29DE    8B45 E4         mov     eax, dword ptr [ebp-1C]
004A29E1    8B4D F0         mov     ecx, dword ptr [ebp-10]
004A29E4    64:890D 0000000>mov     dword ptr fs:[0], ecx
004A29EB    5F              pop     edi
004A29EC    5E              pop     esi
004A29ED    5B              pop     ebx
004A29EE    8BE5            mov     esp, ebp
004A29F0    5D              pop     ebp
004A29F1    C2 0400         retn    4
004A29F4    8B75 E0         mov     esi, dword ptr [ebp-20]
004A29F7    81C6 8C1A0600   add     esi, 61A8C
004A29FD    56              push    esi
004A29FE    FF15 0C714C00   call    dword ptr [<&KERNEL32.LeaveCriti>; ntdll.RtlLeaveCriticalSection
004A2A04    C3              retn

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 134
活跃值: (84)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
看的这段代码不象是加壳的,很象VC编译的
004A2950    55              push    ebp
004A2951    8BEC            mov     ebp, esp
004A2953    6A FF           push    -1
004A2955    68 B89F4C00     push    004C9FB8
004A295A    68 F8A24B00     push    004BA2F8                              // SE 处理程序安装
004A295F    64:A1 00000000  mov     eax, dword ptr fs:[0]
004A2965    50              push    eax
004A2966    64:8925 0000000>mov     dword ptr fs:[0], esp
004A296D    83EC 10         sub     esp, 10
004A2970    53              push    ebx
004A2971    56              push    esi
004A2972    57              push    edi
004A2973    8BF1            mov     esi, ecx
004A2975    8975 E0         mov     dword ptr [ebp-20], esi
004A2978    C745 E4 0100000>mov     dword ptr [ebp-1C], 1
004A297F    8DBE 8C1A0600   lea     edi, dword ptr [esi+61A8C]
004A2985    57              push    edi
004A2986    FF15 08714C00   call    dword ptr [<&KERNEL32.EnterCriti>; ntdll.RtlEnterCriticalSection
004A298C    33DB            xor     ebx, ebx
004A298E    895D FC         mov     dword ptr [ebp-4], ebx
004A2991    8B46 04         mov     eax, dword ptr [esi+4]
004A2994    8D48 01         lea     ecx, dword ptr [eax+1]
004A2997    8B56 08         mov     edx, dword ptr [esi+8]
004A299A    3BCA            cmp     ecx, edx
004A299C    74 2A           je      short 004A29C8
004A299E    81F9 A0860100   cmp     ecx, 186A0
004A29A4    75 04           jnz     short 004A29AA
004A29A6    3BD3            cmp     edx, ebx
004A29A8    74 1E           je      short 004A29C8
004A29AA    8B4D 08         mov     ecx, dword ptr [ebp+8]
004A29AD    894C86 0C       mov     dword ptr [esi+eax*4+C], ecx
004A29B1    8B7E 04         mov     edi, dword ptr [esi+4]
004A29B4    47              inc     edi
004A29B5    897E 04         mov     dword ptr [esi+4], edi
004A29B8    8BC7            mov     eax, edi
004A29BA    FF06            inc     dword ptr [esi]
004A29BC    3D A0860100     cmp     eax, 186A0
004A29C1    75 0F           jnz     short 004A29D2
004A29C3    895E 04         mov     dword ptr [esi+4], ebx
004A29C6    EB 0A           jmp     short 004A29D2
004A29C8    895D E4         mov     dword ptr [ebp-1C], ebx
004A29CB    57              push    edi
004A29CC    FF15 0C714C00   call    dword ptr [<&KERNEL32.LeaveCriti>; ntdll.RtlLeaveCriticalSection
004A29D2    C745 FC FFFFFFF>mov     dword ptr [ebp-4], -1
004A29D9    E8 19000000     call    004A29F7
004A29DE    8B45 E4         mov     eax, dword ptr [ebp-1C]
004A29E1    8B4D F0         mov     ecx, dword ptr [ebp-10]
004A29E4    64:890D 0000000>mov     dword ptr fs:[0], ecx
004A29EB    5F              pop     edi
004A29EC    5E              pop     esi
004A29ED    5B              pop     ebx
004A29EE    8BE5            mov     esp, ebp
004A29F0    5D              pop     ebp  
004A29F1    C2 0400         retn    4   这应该是独立的一端,如果把调用这一端的CALL 前面的那部分DUMP出来就看的更清楚了,当然别忘写清楚寄存器状况,和堆栈的情况。(仅仅直条路)
2007-7-15 21:10
0
游客
登录 | 注册 方可回帖
返回
//