跟踪游戏封包处理过程,这个这段代码为处理过程,原封包是加过密的。
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直播授课