VB 从零开始编外挂(十)

类别:.NET开发 点击:0 评论:0 推荐:
前天晚上我跟封包玩了一晚上,因才开始(第一次跟封包)说一下我一晚上的发现吧
我是直接用WPE截取的,因为金山游戏本身都有截取封包的保护措施(就像MM所说),直接用WPE截取我是截取不到的,后来用Ollydbg调试的时候才截取的到。
经过前面的准备,封报的明文准备已经OK,准备进行加密,加密方式是取一个4字节的数字,对封包进行Xor运算,运算完毕后就直接发送出去,我核对过用WPE截取封包的数据,和我看到的运算结果完全一致,这说明只要用那个4字节的数字对封包进行反Xor运算就可以得到明文的封包。
其实说白了那个4字节的数字就是每次加密的密匙,也就是服务器认可的,这个4字节怎么得出的我就没跟了,暂时只发现只要不更换场景,4字节密匙不会更变。
相同道理,服务返回的信息也是经过4字节Xor运算处理了的,客户端解密时候取服务端4字节密匙对封包进行解密就可以得到明文封包。
大体说下封神封包加密解密流程
Send:
1,制造明文封包
2,取4字节Send密匙
3,用4字节密匙对封包进行Xor运算(保留前2位),最后不足4字节进行单字节运算。
4,发送。
Revc:
1,收到封包
2,取4字节Revc密匙
3,用4字节密匙对封包进行Xor运算(保留前2位),最后不足4字节进行单字节运算。
4,对明文封包进行分析

--------------------------------------------------------------------------------------------------------------------------------------------------------


以上的方法比较累人!下面说说本地制作吧(既是用大家熟悉的FPE等软件)
制作辅助外挂(自动加血,自动加蓝,免负重等等)
HP的地址是不固定的,我使用金山游侠先找出当前的那个地址,
然后使用softice对该地址设置断点,softice应该会立刻断住,
你会看见MOV DWORD PTR DS:[EAX+ECX*8+EB4],EDI,
在客户端中,位置是0x4B2C74,
你可以修改游戏的进程,
把MOV DWORD PTR DS:[EAX+ECX*8+EB4],
EDI改成一个E9 XX XX XX XX 90 90,
JMP到进程中.rsrc和.data之间的空余地址,
把(XX XX XX XX) + 0x4B2C74 + 5处的代码修改成MOV Y, EDI,
下一条做原来的MOV DWORD PTR DS:[EAX+ECX*8+EB4],EDI,
再来个E9 ZZ ZZ ZZ ZZ,
设置好ZZ ZZ ZZ ZZ使其再跳到原来DWORD PTR DS:[EAX+ECX*8+EB4],
EDI的下一句,就是0x4B2C7B处,
这样HP的地址就固定下来了,只要看Y就知道HP了。

--------------------------------------------------------------------------------------------------------------------------------------------------------



下面说说客服端的破解(小试牛刀!)有兴趣的朋友可以制作一个DLL
来实现加血锁定血量!
.text:004E8EF0 sub_4E8EF0     proc near          
.text:004E8EF0
.text:004E8EF0 arg_0       = dword ptr 4
.text:004E8EF0 arg_4       = dword ptr 8
.text:004E8EF0 arg_8       = dword ptr 0Ch
.text:004E8EF0
.text:004E8EF0           mov   ecx, [esp+arg_0] ; 可能是长度LEN地址
.text:004E8EF4           push   ebx
.text:004E8EF5           mov   eax, [esp+4+arg_4] ; 缓存地址
.text:004E8EF9           push   esi
.text:004E8EFA           mov   esi, ecx
.text:004E8EFC           push   edi
.text:004E8EFD           mov   edi, [esp+0Ch+arg_8] ; 加密KEY地址
.text:004E8F01           and   esi, 3           ;相当于缓存长度除以4的余数
.text:004E8F04           shr   ecx, 2           ;相当于缓存长度除以4的商
.text:004E8F07           mov   edx, [edi]       ;把加密KEY值放进edx
.text:004E8F09           mov   ebx, ecx         ;
.text:004E8F0B           dec   ecx             ;
.text:004E8F0C           test   ebx, ebx         ;
.text:004E8F0E           jbe   short loc_4E8F1E   ;判断跳转
.text:004E8F10           inc   ecx             ;
.text:004E8F11
.text:004E8F11 loc_4E8F11:                  
.text:004E8F11           mov   ebx, [eax]
.text:004E8F13           add   eax, 4
.text:004E8F16           xor   ebx, edx       ;异或运算,EDX=KEY的值,核心运算
.text:004E8F18           dec   ecx
.text:004E8F19           mov   [eax-4], ebx
.text:004E8F1C           jnz   short loc_4E8F11 ;相当于FOR循环运算
.text:004E8F1E
.text:004E8F1E loc_4E8F1E:                  
.text:004E8F1E           mov   ecx, esi
.text:004E8F20           dec   esi
.text:004E8F21           test   ecx, ecx
.text:004E8F23           jbe   short loc_4E8F35
.text:004E8F25           lea   ecx, [esi+1]
.text:004E8F28
.text:004E8F28 loc_4E8F28:                  
.text:004E8F28           mov   bl, [eax]  
.text:004E8F2A           xor   bl, dl       ;异或运算
.text:004E8F2C           mov   [eax], bl
.text:004E8F2E           inc   eax
.text:004E8F2F           shr   edx, 8
.text:004E8F32           dec   ecx
.text:004E8F33           jnz   short loc_4E8F28;相当于FOR循环运算
.text:004E8F35
.text:004E8F35 loc_4E8F35:                     KEY付值运算;
.text:004E8F35           mov   eax, [edi]
.text:004E8F37           mov   edx, eax
.text:004E8F39           shl   edx, 5
.text:004E8F3C           sub   edx, eax
.text:004E8F3E           mov   eax, 1
.text:004E8F43           add   edx, 8088405h
.text:004E8F49           mov   [edi], edx     KEY付值
.text:004E8F4B           pop   edi
.text:004E8F4C           pop   esi
.text:004E8F4D           pop   ebx
.text:004E8F4E           retn
.text:004E8F4E sub_4E8EF0     endp

--------------------------------------------------------------------------------------------------------------------------------------------------------

今天就到这里

--------------------------------------------------------------------------------------------------------------------------------------------------------

点击给我留言
--------------------------------------------------------------------------------------------------------------------------------------------------------

本文地址:http://com.8s8s.com/it/it41381.htm