-
-
[原创]某游戏登陆前对密文的一次加密
-
发表于:
2014-12-25 10:21
5177
-
10006510 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
10006514 56 PUSH ESI ; 027B05B0入栈
10006515 33F6 XOR ESI,ESI
10006517 85D2 TEST EDX,EDX
10006519 7E 53 JLE SHORT Net.1000656E ; 验证包大小
1000651B 53 PUSH EBX
1000651C 55 PUSH EBP
1000651D 57 PUSH EDI
1000651E 8B7C24 14 MOV EDI,DWORD PTR SS:[ESP+14] ; 带加密的文本的地址交给 edi
10006522 8D6E 01 LEA EBP,DWORD PTR DS:[ESI+1] ; ebp+1
10006525 8B41 04 MOV EAX,DWORD PTR DS:[ECX+4] ; 读取出当前加密次数
10006528 0FB64401 0C MOVZX EAX,BYTE PTR DS:[ECX+EAX+C] ; 这里是以ECX为表头 EAX为表指针 +C来取出BYTE拓展为DWORD传递给EAX
1000652D 30043E XOR BYTE PTR DS:[ESI+EDI],AL ; 这里异或明文首地址+次数处的一个字节,AL(次数)
10006530 8A043E MOV AL,BYTE PTR DS:[ESI+EDI] ; 取出异或一次的密文
10006533 8B59 08 MOV EBX,DWORD PTR DS:[ECX+8] ; 这里也是加密次数
10006536 8A9C0B 0C010000 MOV BL,BYTE PTR DS:[EBX+ECX+10C] ; 取出表+EBX(次数)+10c处的密文 给BL
1000653D 32D8 XOR BL,AL ; 第二次异或
1000653F 881C3E MOV BYTE PTR DS:[ESI+EDI],BL ; 结果再次传递给加密处结果
10006542 0169 04 ADD DWORD PTR DS:[ECX+4],EBP ; 增加次数 ebp为1
10006545 B8 00010000 MOV EAX,100
1000654A 3941 04 CMP DWORD PTR DS:[ECX+4],EAX ; 比较当前次数是否为100 后面40字节可能另外有处理
1000654D 7C 07 JL SHORT Net.10006556
1000654F C741 04 0000000>MOV DWORD PTR DS:[ECX+4],0 ; 传递0到第一个加密次数
10006556 0169 08 ADD DWORD PTR DS:[ECX+8],EBP ; 叠加一到第二个加密次数
10006559 3941 08 CMP DWORD PTR DS:[ECX+8],EAX
1000655C 7C 07 JL SHORT Net.10006565
1000655E C741 08 0000000>MOV DWORD PTR DS:[ECX+8],0 ; 如果不是小于就清空第二次加密次数为0
10006565 03F5 ADD ESI,EBP ; 增加寄存器加密次数1
10006567 3BF2 CMP ESI,EDX ; 比较包大小 1,0000008C 看来要按照上面准备一张表来循环加密了
10006569 ^ 7C BA JL SHORT Net.10006525 ; 加密140次 140个字节一次加密
1000656B 5F POP EDI
1000656C 5D POP EBP
1000656D 5B POP EBX
1000656E 5E POP ESI
1000656F C2 0800 RETN 8
登陆协议 第一个字节8C(140)数据包大小 00 01 00 账号(经过处理)以00结尾
在后面 密码的MD5值以00结尾
在后面就是一串08-d8-33-47-b5-d8以0结尾 在后面就是固定的f0 d5 3e
0013FA10
06AA9018疑似表
005181bb 处理账号前的CALL
C42AD527
073B0C28
0013EFD0这里还是没加密的内容这里应该是把字符串处理后然后在拷贝到1003Ae28 在执行加密
1003Ae28 加密此内容发送
密码是MD5加密
08-d8-33-47-b5-d8
74 75 76 77 78
61 62 63 64 65
0013DE44
1003Ae28
0004fd1c
加密后的密文样本
AC 9A BD 26 54 97 12 51 38 BA AC B6 80 F2 A4 56 20 DA 1C 46 60 82 64 C6 00 7A EC B6 C0 B2 64 56
E0 5A FC A6 D8 50 13 C5 23 D8 5C D3 65 13 5C F7 D7 2A 2A E5 14 A1 17 32 E1 CB 1A 0E 79 03 C2 2E
14 7F 8B C4 20 E2 E4 A6 F0 02 81 72 B8 DF 97 65 0D EE 2B 6B A2 37 C9 82 42 7A 6C 36 40 32 E4 56
60 5A 7C 26 60 62 24 26 C0 3A EC 36 00 72 E4 16 60 9A 1C 06 20 C2 24 86 80 FA 2C B6 C0 B2 A4 96
20 9A BC 26 20 E2 64 26 B0 6F 92 B6
表样本
E0 0B 03 10 00 00 00 00 00 00 00 00 1F CA 29 AC 03 1E 2D A0 27 B2 71 D4 8B 86 F5 48 2F 9A B9 FC
13 EE BD F0 37 82 01 24 9B 56 85 98 3F 6A 49 4C 23 BE 4D 40 47 52 91 74 AB 26 15 E8 4F 3A D9 9C
33 8E DD 90 57 22 21 C4 BB F6 A5 38 5F 0A 69 EC 43 5E 6D E0 67 F2 B1 14 CB C6 35 88 6F DA F9 3C
53 2E FD 30 77 C2 41 64 DB 96 C5 D8 7F AA 89 8C 63 FE 8D 80 87 92 D1 B4 EB 66 55 28 8F 7A 19 DC
73 CE 1D D0 97 62 61 04 FB 36 E5 78 9F 4A A9 2C 83 9E AD 20 A7 32 F1 54 0B 06 75 C8 AF 1A 39 7C
93 6E 3D 70 B7 02 81 A4 1B D6 05 18 BF EA C9 CC A3 3E CD C0 C7 D2 11 F4 2B A6 95 68 CF BA 59 1C
B3 0E 5D 10 D7 A2 A1 44 3B 76 25 B8 DF 8A E9 6C C3 DE ED 60 E7 72 31 94 4B 46 B5 08 EF 5A 79 BC
D3 AE 7D B0 F7 42 C1 E4 5B 16 45 58 FF 2A 09 0C E3 7E 0D 00 07 12 51 34 6B E6 D5 A8 0F FA 99 5C
F3 4E 9D 50 17 E2 E1 84 7B B6 65 F8 3F 50 95 8A 23 FC 49 86 67 08 DD 62 0B 74 51 1E 0F 40 A5 BA
73 6C D9 36 37 F8 ED 92 5B E4 E1 CE DF 30 B5 EA C3 DC 69 E6 07 E8 FD C2 AB 54 71 7E AF 20 C5 1A
13 4C F9 96 D7 D8 0D F2 FB C4 01 2E 7F 10 D5 4A 63 BC 89 46 A7 C8 1D 22 4B 34 91 DE 4F 00 E5 7A
B3 2C 19 F6 77 B8 2D 52 9B A4 21 8E 1F F0 F5 AA 03 9C A9 A6 47 A8 3D 82 EB 14 B1 3E EF E0 05 DA
53 0C 39 56 17 98 4D B2 3B 84 41 EE BF D0 15 0A A3 7C C9 06 E7 88 5D E2 8B F4 D1 9E 8F C0 25 3A
F3 EC 59 B6 B7 78 6D 12 DB 64 61 4E 5F B0 35 6A 43 5C E9 66 87 68 7D 42 2B D4 F1 FE 2F A0 45 9A
93 CC 79 16 57 58 8D 72 7B 44 81 AE FF 90 55 CA E3 3C 09 C6 27 48 9D A2 CB B4 11 5E CF 80 65 FA
33 AC 99 76 F7 38 AD D2 1B 24 A1 0E 9F 70 75 2A 83 1C 29 26 C7 28 BD 02 6B 94 31 BE 6F 60 85 5A
D3 8C B9 D6 97 18 CD 32 BB 04 C1 6E 00 00 00 00 F4 C5 D3 F7 47 0D 00 00 F0 41 77 02 C0 00 77 02
B2 C5 D2 B0 06 0D 00 0C 9C 2A 00 00 FF FF FF FF
[培训]科锐逆向工程师培训第53期2025年7月8日开班!