首页
社区
课程
招聘
[旧帖] [求助]游戏加密函数 0.00雪花
发表于: 2007-11-14 00:40 4231

[旧帖] [求助]游戏加密函数 0.00雪花

2007-11-14 00:40
4231
00587592  |.  6A 00         push    0                                ; /Flags = 0
00587594  |.  6A 01         push    1                                ; |DataSize = 1
00587596  |.  68 A0759100   push    009175A0                         ; |Data = ElementC.009175A0
0058759B  |.  51            push    ecx                              ; |Socket => E4
0058759C  |.  E8 65E71E00   call    <jmp.&WS2_32.#19>                ; \send

这是诛仙bp send 断下来的send函数, 009175A0应该是数据包吧, 但怎么也跟不到009175A0是怎么变化的,用了内存断点也断不下来, 明文发包函数有了, 但推不出加密函数在哪里, 怎么加密的!高手们帮忙研究研究,

00587420  /$  6A FF         push    -1
00587422  |.  68 680E8400   push    00840E68                         ;  SE 处理程序安装
00587427  |.  64:A1 0000000>mov     eax, dword ptr fs:[0]
0058742D  |.  50            push    eax
0058742E  |.  64:8925 00000>mov     dword ptr fs:[0], esp
00587435  |.  83EC 40       sub     esp, 40
00587438  |.  53            push    ebx
00587439  |.  55            push    ebp
0058743A  |.  8B2D FCB18500 mov     ebp, dword ptr [<&KERNEL32.Enter>;  ntdll.RtlEnterCriticalSection
00587440  |.  56            push    esi
00587441  |.  8BF1          mov     esi, ecx
00587443  |.  57            push    edi
00587444  |.  32DB          xor     bl, bl
00587446  |.  8D46 10       lea     eax, dword ptr [esi+10]
00587449  |.  50            push    eax                              ; /pCriticalSection
0058744A  |.  894424 18     mov     dword ptr [esp+18], eax          ; |
0058744E  |.  FFD5          call    ebp                              ; \EnterCriticalSection
00587450  |.  8B4424 60     mov     eax, dword ptr [esp+60]
00587454  |.  8D4C24 60     lea     ecx, dword ptr [esp+60]
00587458  |.  83C6 04       add     esi, 4
0058745B  |.  51            push    ecx
0058745C  |.  8BCE          mov     ecx, esi
0058745E  |.  C74424 5C 000>mov     dword ptr [esp+5C], 0
00587466  |.  894424 64     mov     dword ptr [esp+64], eax
0058746A  |.  E8 B1E0EAFF   call    00435520    -------------------------------
0058746F  |.  3B06          cmp     eax, dword ptr [esi]
00587471  |.  0F84 4E010000 je      005875C5
00587477  |.  8B78 14       mov     edi, dword ptr [eax+14]
0058747A  |.  85FF          test    edi, edi
0058747C  |.  0F84 43010000 je      005875C5
00587482  |.  8D47 40       lea     eax, dword ptr [edi+40]
00587485  |.  50            push    eax
00587486  |.  894424 14     mov     dword ptr [esp+14], eax
0058748A  |.  FFD5          call    ebp &-------------------------------
0058748C  |.  8D4C24 20     lea     ecx, dword ptr [esp+20]
00587490  |.  E8 7BBBFEFF   call    00573010  -------------------------------
00587495  |.  C74424 30 000>mov     dword ptr [esp+30], 0
0058749D  |.  C74424 20 44C>mov     dword ptr [esp+20], 0085CB44     ;  ASCII "00W"
005874A5  |.  8D4C24 38     lea     ecx, dword ptr [esp+38]
005874A9  |.  C64424 58 02  mov     byte ptr [esp+58], 2
005874AE  |.  E8 4D9BFEFF   call    00571000  -------------------------------
005874B3  |.  8BE8          mov     ebp, eax
005874B5  |.  8B7424 64     mov     esi, dword ptr [esp+64]
005874B9  |.  8D4C24 18     lea     ecx, dword ptr [esp+18]
005874BD  |.  C64424 58 03  mov     byte ptr [esp+58], 3
005874C2  |.  8D56 04       lea     edx, dword ptr [esi+4]
005874C5  |.  52            push    edx
005874C6  |.  E8 25010000   call    005875F0   -------------------------------
005874CB  |.  8B10          mov     edx, dword ptr [eax]
005874CD  |.  8D4C24 20     lea     ecx, dword ptr [esp+20]
005874D1  |.  51            push    ecx
005874D2  |.  8BC8          mov     ecx, eax
005874D4  |.  C64424 5C 04  mov     byte ptr [esp+5C], 4
005874D9  |.  FF12          call    dword ptr [edx]   -------------------------------
005874DB  |.  8B16          mov     edx, dword ptr [esi]
005874DD  |.  55            push    ebp
005874DE  |.  8BCE          mov     ecx, esi
005874E0  |.  8BD8          mov     ebx, eax
005874E2  |.  FF12          call    dword ptr [edx]  -------------------------------
005874E4  |.  50            push    eax
005874E5  |.  8BCB          mov     ecx, ebx
005874E7  |.  E8 34A3FEFF   call    00571820  -------------------------------
005874EC  |.  8B4424 3C     mov     eax, dword ptr [esp+3C]
005874F0  |.  8B1D FCB38500 mov     ebx, dword ptr [<&MSVCRT.free>]  ;  MSVCRT.free
005874F6  |.  BD 3CCB8500   mov     ebp, 0085CB3C
005874FB  |.  50            push    eax                              ; /block
005874FC  |.  C74424 1C 90C>mov     dword ptr [esp+1C], 0085CC90     ; |
00587504  |.  C64424 5C 02  mov     byte ptr [esp+5C], 2             ; |
00587509  |.  896C24 3C     mov     dword ptr [esp+3C], ebp          ; |
0058750D  |.  FFD3          call    ebx                              ; \free
0058750F  |.  8A4424 6C     mov     al, byte ptr [esp+6C]
00587513  |.  83C4 04       add     esp, 4
00587516  |.  84C0          test    al, al
00587518  |.  8DB7 C4000000 lea     esi, dword ptr [edi+C4]
0058751E  |.  74 31         je      short 00587551
00587520  |.  8B06          mov     eax, dword ptr [esi]
00587522  |.  8B4E 04       mov     ecx, dword ptr [esi+4]
00587525  |.  3BC1          cmp     eax, ecx
00587527  |.  74 1A         je      short 00587543
00587529  |.  8D4C24 20     lea     ecx, dword ptr [esp+20]
0058752D  |.  83C0 E8       add     eax, -18
00587530  |.  51            push    ecx
00587531  |.  50            push    eax
00587532  |.  E8 09170000   call    00588C40  &-------------------------------
00587537  |.  8B06          mov     eax, dword ptr [esi]
00587539  |.  83C4 08       add     esp, 8
0058753C  |.  83C0 E8       add     eax, -18
0058753F  |.  8906          mov     dword ptr [esi], eax
00587541  |.  EB 40         jmp     short 00587583
00587543  |>  8D5424 20     lea     edx, dword ptr [esp+20]
00587547  |.  8BCE          mov     ecx, esi
00587549  |.  52            push    edx                              ; /Arg1
0058754A  |.  E8 21C2FEFF   call    00573770                         ; \ElementC.00573770  &-------------------------------
0058754F  |.  EB 32         jmp     short 00587583
00587551  |>  8B4E 18       mov     ecx, dword ptr [esi+18]
00587554  |.  8B46 10       mov     eax, dword ptr [esi+10]
00587557  |.  83E9 18       sub     ecx, 18
0058755A  |.  3BC1          cmp     eax, ecx
0058755C  |.  74 19         je      short 00587577
0058755E  |.  8D5424 20     lea     edx, dword ptr [esp+20]
00587562  |.  52            push    edx
00587563  |.  50            push    eax
00587564  |.  E8 D7160000   call    00588C40
00587569  |.  8B46 10       mov     eax, dword ptr [esi+10]
0058756C  |.  83C4 08       add     esp, 8
0058756F  |.  83C0 18       add     eax, 18
00587572  |.  8946 10       mov     dword ptr [esi+10], eax
00587575  |.  EB 0C         jmp     short 00587583
00587577  |>  8D4424 20     lea     eax, dword ptr [esp+20]
0058757B  |.  8BCE          mov     ecx, esi
0058757D  |.  50            push    eax                              ; /Arg1
0058757E  |.  E8 FDC0FEFF   call    00573680                         ; \ElementC.00573680
00587583  |>  A0 202B9200   mov     al, byte ptr [922B20]
00587588  |.  84C0          test    al, al
0058758A  |.  74 17         je      short 005875A3
0058758C  |.  8B0D 14079200 mov     ecx, dword ptr [920714]
00587592  |.  6A 00         push    0                                ; /Flags = 0
00587594  |.  6A 01         push    1                                ; |DataSize = 1
00587596  |.  68 A0759100   push    009175A0                         ; |Data = ElementC.009175A0
0058759B  |.  51            push    ecx                              ; |Socket => E4
0058759C  |.  E8 65E71E00   call    <jmp.&WS2_32.#19>                ; \send
005875A1  |.  EB 07         jmp     short 005875AA
005875A3  |>  C605 212B9200>mov     byte ptr [922B21], 1
005875AA  |>  8B5424 24     mov     edx, dword ptr [esp+24]
005875AE  |.  896C24 20     mov     dword ptr [esp+20], ebp
005875B2  |.  52            push    edx
005875B3  |.  FFD3          call    ebx
005875B5  |.  8B4424 14     mov     eax, dword ptr [esp+14]
005875B9  |.  83C4 04       add     esp, 4
005875BC  |.  50            push    eax                              ; /pCriticalSection
005875BD  |.  FF15 F0B18500 call    dword ptr [<&KERNEL32.LeaveCriti>; \LeaveCriticalSection
005875C3  |.  B3 01         mov     bl, 1
005875C5  |>  8B4C24 14     mov     ecx, dword ptr [esp+14]
005875C9  |.  51            push    ecx                              ; /pCriticalSection
005875CA  |.  FF15 F0B18500 call    dword ptr [<&KERNEL32.LeaveCriti>; \LeaveCriticalSection
005875D0  |.  8B4C24 50     mov     ecx, dword ptr [esp+50]
005875D4  |.  5F            pop     edi
005875D5  |.  5E            pop     esi
005875D6  |.  8AC3          mov     al, bl
005875D8  |.  5D            pop     ebp
005875D9  |.  5B            pop     ebx
005875DA  |.  64:890D 00000>mov     dword ptr fs:[0], ecx
005875E1  |.  83C4 4C       add     esp, 4C
005875E4  \.  C2 0C00       retn    0C

这是调用send的函数

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶一下。。。。
2007-11-14 19:36
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
为什么DataSize = 1, Data = 固定地址呢?
大虾们帮忙看看, 困惑了很久了, 说说思路, 谢谢
2007-11-23 23:56
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
4
你断错地方了。
2007-11-24 00:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
啊.J(468108**) 这个 是你吧 ,哈哈 都跑到群里发了,
|Data = ***
这个地址是包首地址,还有一个
DataSize=***
是包长,datasize 地址里的数据自己慢慢分析吧 ,没人会教你的,不是不想教 ,是根本没这个时间 和精力,自己学最塌实,说实话 ,我也不会 ,当菜鸟的日子 真的好苦啊>:
2007-11-24 01:36
0
游客
登录 | 注册 方可回帖
返回