--------------------------------------------------------------------------------------------------------------------------------------------------------
封包的比对!网络游戏都是通过数据交换实现游戏竞技滴,所以分析封包是制作外挂的一个步骤。
--------------------------------------------------------------------------------------------------------------------------------------------------------
网络游戏封包分为2种封包:1。明文封包 2。加密封包
多数网络游戏都是加密封包,其原因是为了信息不被修改。明文封包的也有,呵呵“CS”呀这些
--------------------------------------------------------------------------------------------------------------------------------------------------------
好了,进入正题。封包这玩意其实很难。但是如果你入门了就不难了!
明文的好对付,BUT加密的就有点.......但也是有办法滴
就是“ 多抓包,多分析,多解密! ”呵呵!
--------------------------------------------------------------------------------------------------------------------------------------------------------
抓包篇:什么抓包呢?抓包当然就是用WPE,或者自己编写软件拉,上次(呵呵`也就是昨天)已经做过了!
0056DF38 4E 3E 54 53 56 55 4A 6C 77 64 63 42 4D 46 6A 6E N>TSVUJlwdcBMFjn
0056DF48 41 4B 62 3F 71 78 76 79 65 47 7A 66 4C 50 3D 5F AKb?qxvyeGzfLP=_
0056DF58 45 52 40 5A 5C 61 6D 5D 43 68 67 6F 57 44 3B 51 ER@Z\am]ChgoWD;Q
0056DF68 75 58 5B 3C 74 6B 70 72 5E 60 69 49 48 4F 59 73 uX[<tkpr^`iIHOYs
0056DF78 2E 33 1E 01 13 22 10 0B 28 2D 20 0D 19 3C 3B 06 .3" (- .<;
0056DF88 11 1C 0C 00 3D 1D 2F 21 03 02 05 04 2C 31 3E 23 ..=/!,1>#
0056DF98 32 24 27 38 1F 39 25 12 0A 09 18 1B 2A 29 3A 0E 2$'89%..*):
0056DFA8 35 07 26 0F 2B 36 14 37 3F 34 30 16 08 15 17 1A 5&+67?40
这个就是某个网络游戏的封包!当然是加了密的。
00878BE0 55 41 4E 4E 4E 4E 4E 4E 4E 4E 4E 42 4E 4E 70 4E UANNNNNNNNNBNNpN
00878BF0 41 45 56 4E 3E 41 3E 58 79 4E 4B 65 AEVN>A>XyNKe
00878BE0 05 10 00 00 00 00 00 00 00 00 00 0B 00 00 36 00 ......... ..6.
00878BF0 10 20 04 00 01 10 01 31 17 00 11 18 .1.
0087CC04 15 00 00 00 00 00 00 00 0B 00 0D 80 42 01 00 05 ....... ..?B.
0087CC14 00 71 5C 04 58 .q\X
什么意思呢?当然就是要分析拉!
--------------------------------------------------------------------------------------------------------------------------------------------------------
分析篇:分析主要就是分析RAM里面的东西拉。可以到“看雪”去学学简单的汇编命令
004F3B9C /$ 53 PUSH EBX
004F3B9D |. 83C4 F8 ADD ESP,-8
004F3BA0 |. 8BDA MOV EBX,EDX ; 解密后数据目标地址
004F3BA2 |. 8BD4 MOV EDX,ESP ; 数据传递目标地址
004F3BA4 |. B9 04000000 MOV ECX,4 ; 传递个数为 4
004F3BA9 |. E8 12EEF8FF CALL CLIENT.004829C0 ; 把侍解密的4数值传递过来进行解密
004F3BAE |. 8A0424 MOV AL,BYTE PTR SS:[ESP] ; 第一位
004F3BB1 |. C1E0 02 SHL EAX,2
004F3BB4 |. 33D2 XOR EDX,EDX
004F3BB6 |. 8A5424 01 MOV DL,BYTE PTR SS:[ESP+1] ; 第二位
004F3BBA |. C1EA 04 SHR EDX,4
004F3BBD |. 0AC2 OR AL,DL ; 第一位与每二位 0r
004F3BBF |. 8803 MOV BYTE PTR DS:[EBX],AL ; 输出第1位
004F3BC1 |. 43 INC EBX ; 计数器+1 指向第二位
004F3BC2 |. 8A4424 01 MOV AL,BYTE PTR SS:[ESP+1] ; 第二位
004F3BC6 |. C1E0 04 SHL EAX,4
004F3BC9 |. 33D2 XOR EDX,EDX
004F3BCB |. 8A5424 02 MOV DL,BYTE PTR SS:[ESP+2] ; 第三位
004F3BCF |. C1EA 02 SHR EDX,2
004F3BD2 |. 0AC2 OR AL,DL ; 第二位与第三位 or
004F3BD4 |. 8803 MOV BYTE PTR DS:[EBX],AL ; 输出第二位
004F3BD6 |. 43 INC EBX ; 计数器+1 指向第三位
004F3BD7 |. 8A4424 02 MOV AL,BYTE PTR SS:[ESP+2] ; 第三位
004F3BDB |. C1E0 06 SHL EAX,6
004F3BDE |. 8A5424 03 MOV DL,BYTE PTR SS:[ESP+3] ; 第4个
004F3BE2 |. 0AC2 OR AL,DL ; 第三个与第四个 or
004F3BE4 |. 8803 MOV BYTE PTR DS:[EBX],AL ; 输出第三位
004F3BE6 |. 59 POP ECX
004F3BE7 |. 5A POP EDX
004F3BE8 |. 5B POP EBX
004F3BE9 \. C3 RETN
004F3BEA 8BC0 MOV EAX,EAX
004F3BEC /$ 53 PUSH EBX
004F3BED |. 56 PUSH ESI
004F3BEE |. 57 PUSH EDI
004F3BEF |. 55 PUSH EBP
004F3BF0 |. 50 PUSH EAX ; 封包
004F3BF1 |. B8 02000000 MOV EAX,2
004F3BF6 |> 81C4 04F0FFFF /ADD ESP,-0FFC
004F3BFC |. 50 |PUSH EAX
004F3BFD |. 48 |DEC EAX
004F3BFE |.^75 F6 \JNZ SHORT CLIENT.004F3BF6
004F3C00 |. 8B8424 0020000>MOV EAX,DWORD PTR SS:[ESP+2000]
004F3C07 |. 8BD9 MOV EBX,ECX
004F3C09 |. 8BFA MOV EDI,EDX
004F3C0B |. 8BD3 MOV EDX,EBX
004F3C0D |. 81E2 03000080 AND EDX,80000003
004F3C13 |. 79 05 JNS SHORT CLIENT.004F3C1A
004F3C15 |. 4A DEC EDX
004F3C16 |. 83CA FC OR EDX,FFFFFFFC
004F3C19 |. 42 INC EDX
004F3C1A |> 85D2 TEST EDX,EDX
004F3C1C |. 74 05 JE SHORT CLIENT.004F3C23
004F3C1E |. 83C8 FF OR EAX,FFFFFFFF
004F3C21 |. EB 7B JMP SHORT CLIENT.004F3C9E
004F3C23 |> 8BD3 MOV EDX,EBX
004F3C25 |. 85D2 TEST EDX,EDX
004F3C27 |. 79 03 JNS SHORT CLIENT.004F3C2C
004F3C29 |. 83C2 03 ADD EDX,3
004F3C2C |> C1FA 02 SAR EDX,2
004F3C2F |. 891424 MOV DWORD PTR SS:[ESP],EDX
004F3C32 |. 8D5424 04 LEA EDX,DWORD PTR SS:[ESP+4]
004F3C36 |. 8BCB MOV ECX,EBX
004F3C38 |. E8 83EDF8FF CALL CLIENT.004829C0 ; 整理出封包传递给解密地址进行解密
004F3C3D |. C6441C 04 00 MOV BYTE PTR SS:[ESP+EBX+4],0
004F3C42 |. 8B1C24 MOV EBX,DWORD PTR SS:[ESP]
004F3C45 |. C1E3 02 SHL EBX,2
004F3C48 |. 4B DEC EBX
004F3C49 |. 85DB TEST EBX,EBX
004F3C4B |. 7C 28 JL SHORT CLIENT.004F3C75
004F3C4D |. 43 INC EBX
004F3C4E |. 8D4424 04 LEA EAX,DWORD PTR SS:[ESP+4] ; 一个封包
004F3C52 |> 8A10 /MOV DL,BYTE PTR DS:[EAX] ; 第N位
004F3C54 |. 80FA 3B |CMP DL,3B
004F3C57 |. 72 05 |JB SHORT CLIENT.004F3C5E
004F3C59 |. 80FA 7A |CMP DL,7A
004F3C5C |. 76 05 |JBE SHORT CLIENT.004F3C63
004F3C5E |> 83C8 FF |OR EAX,FFFFFFFF ; 出错处理
004F3C61 |. EB 3B |JMP SHORT CLIENT.004F3C9E
004F3C63 |> 81E2 FF000000 |AND EDX,0FF
004F3C69 |. 8A92 3DEF5A00 |MOV DL,BYTE PTR DS:[EDX+5AEF3D] ; 54ef3d是一串字符串.
004F3C6F |. 8810 |MOV BYTE PTR DS:[EAX],DL ; 转换后代码
004F3C71 |. 40 |INC EAX ; 下一个封包字符
004F3C72 |. 4B |DEC EBX ; 计数器减1
004F3C73 |.^75 DD \JNZ SHORT CLIENT.004F3C52
004F3C75 |> 8B1C24 MOV EBX,DWORD PTR SS:[ESP]
004F3C78 |. 4B DEC EBX
004F3C79 |. 85DB TEST EBX,EBX
004F3C7B |. 7C 1B JL SHORT CLIENT.004F3C98
004F3C7D |. 43 INC EBX
004F3C7E |. 33ED XOR EBP,EBP
004F3C80 |. 8D7424 04 LEA ESI,DWORD PTR SS:[ESP+4] ; 取上面转化后的数值
004F3C84 |> 8D546D 00 /LEA EDX,DWORD PTR SS:[EBP+EBP*2]
004F3C88 |. 03D7 |ADD EDX,EDI ; 目标地址 每次转化3
004F3C8A |. 8BC6 |MOV EAX,ESI ; 源地址 每次取
004F3C8C |. E8 0BFFFFFF |CALL CLIENT.004F3B9C ; 解密数据 (取4个.转化3个)
004F3C91 |. 45 |INC EBP
004F3C92 |. 83C6 04 |ADD ESI,4
004F3C95 |. 4B |DEC EBX
004F3C96 |.^75 EC \JNZ SHORT CLIENT.004F3C84
004F3C98 |> 8B0424 MOV EAX,DWORD PTR SS:[ESP]
004F3C9B |. 8D0440 LEA EAX,DWORD PTR DS:[EAX+EAX*2]
004F3C9E |> 81C4 04200000 ADD ESP,2004
004F3CA4 |. 5D POP EBP
004F3CA5 |. 5F POP EDI
004F3CA6 |. 5E POP ESI
004F3CA7 |. 5B POP EBX
004F3CA8 \. C3 RETN
什么意思?就是要解密后制作外挂拉!
--------------------------------------------------------------------------------------------------------------------------------------------------------
外挂的制作就不介绍了设计到VB汇编指针的问题了,VB指针的应用下一次给大家讲!