游戏封包解密函数,高分奉上~~

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:28:33
下面是一个游戏封包解密函数中的一段,在网上找到的,很好奇,这段函数是什么语言编写的,如果截取到该游戏的封包,怎么用下面的函数解密出来。有哪位高手帮忙把下面的函数解释一下,不甚感谢~

$100023D0 游戏数据包加密SEND
//----------------------------------------------------------------
::100023D0:: 8B5424 04 MOV EDX,[ESP+4]
::100023D4:: 8A0A MOV CL,[EDX]
::100023D6:: 56 PUSH ESI
::100023D7:: 8B7424 0C MOV ESI,[ESP+C]
::100023DB:: 8A06 MOV AL,[ESI]
::100023DD:: 32C8 XOR CL,AL
::100023DF:: 57 PUSH EDI
::100023E0:: 8B7C24 14 MOV EDI,[ESP+14]
::100023E4:: 880A MOV [EDX],CL
::100023E6:: B9 01000000 MOV ECX,1
::100023EB:: 3BF9 CMP EDI,ECX
::100023ED:: 7E 16 JLE SHORT 10002405 \:JMPDOWN
::100023EF:: 53 PUSH EBX

汇编语言编写的 都是数据传输指令
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.
1. 通用数据传送指令.
MOV 传送字或字节.
MOVSX 先符号扩展,再传送.
MOVZX 先零扩展,再传送.
PUSH 把字压入堆栈.
POP 把字弹出堆栈.
PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.
POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.
PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.
POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.
BSWAP 交换32位寄存器里字节的顺序
XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存 器不可作为操作数)
CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )
XADD 先交换再累加.( 结果在第一个操作数里 )
XLAT 字节查表转换.

具体怎么解释就有点耗时间了 100分 - -!

.........这我也很好奇~!.........

天堂二的算法.
汇编语言编写.先熟悉一下汇编语言的语法规则.
Baidu检索关键字:100023D0