好友
阅读权限10
听众
最后登录1970-1-1
|
各位大神好,小弟最近在研究某网游封包的加密算法,根据前期的学习和试验已经成功进入到加密的关键CALL,现在卡在了加密算法的位异或值上,具体的过程如下:
00ABD1D4 53 push ebx
00ABD1D5 56 push esi
00ABD1D6 57 push edi
00ABD1D7 55 push ebp
00ABD1D8 8BFA mov edi,edx
00ABD1DA 8BE8 mov ebp,eax
00ABD1DC 8B07 mov eax,dword ptr ds:[edi]
00ABD1DE E8 457F94FF call loginp.00405128
00ABD1E3 8BF0 mov esi,eax
00ABD1E5 85F6 test esi,esi
00ABD1E7 7E 3D jle Xloginp.00ABD226
00ABD1E9 BB 01000000 mov ebx,0x1
00ABD1EE 8BC7 mov eax,edi
00ABD1F0 E8 838194FF call loginp.00405378
00ABD1F5 4B dec ebx
00ABD1F6 85C0 test eax,eax
00ABD1F8 74 05 je Xloginp.00ABD1FF
00ABD1FA 3B58 FC cmp ebx,dword ptr ds:[eax-0x4]
00ABD1FD 72 05 jb Xloginp.00ABD204
00ABD1FF E8 A46D94FF call loginp.00403FA8
00ABD204 43 inc ebx
00ABD205 8B17 mov edx,dword ptr ds:[edi]
00ABD207 4B dec ebx
00ABD208 85D2 test edx,edx
00ABD20A 74 05 je Xloginp.00ABD211
00ABD20C 3B5A FC cmp ebx,dword ptr ds:[edx-0x4]
00ABD20F 72 05 jb Xloginp.00ABD216
00ABD211 E8 926D94FF call loginp.00403FA8
00ABD216 43 inc ebx
00ABD217 8A541A FF mov dl,byte ptr ds:[edx+ebx-0x1]
00ABD21B 3255 06 xor dl,byte ptr ss:[ebp+0x6]
00ABD21E 885418 FF mov byte ptr ds:[eax+ebx-0x1],dl
00ABD222 43 inc ebx
00ABD223 4E dec esi
00ABD224 ^ 75 C8 jnz Xloginp.00ABD1EE
红色部分即为加密过程,求各位高手指点一下思路,XOR位异或的值每次都不一样(实际上每次重新打开游戏用WPE截喊话的封包也不一样),那么这个是否就代表了这个位异或的方法是动态的?
是需要找到[edx+ebx-0x1]、[ebp+0x6]、[eax+ebx-0x1]的这三个的算法过程吗? |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|