能力值:
( LV5,RANK:60 )
|
-
-
27 楼
声明:本人完全不知道这款游戏是什么游戏,也完全不知道这款游戏是哪家公司运营的,以上内容都是我作梦的时候说的梦话,我老婆记录下来的。
豪迈。
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
__asm{
jmp f_0
f_1:
add esp, 0x8
jmp L_2
f_3:
sub esp, 0x4
sub esp, 0x4
sub esp, 0x4
add esp, 0x4
jmp L_4
L_4:
add esp, 0x4
add esp, 0x4
retn 0x4
f_5:
retn
f_6:
mov eax, dword ptr [ecx+0x14]
retn
L_7:
jmp L_8
f_0:
jmp L_7
L_8:
pop edi
add esp, 0x4
add esp, 0x4
add esp, 0x4
add esp, 0x4
jmp L_9
f_10:
jmp L_11
L_11:
retn 0x4
L_9:
mov esi, eax
add esp, 0x4
jmp L_12
L_12:
mov ecx, dword ptr [esp+0x1c]
mov dword ptr [ecx], edi
sub esp, 0x4
call f_1
L_2:
sub esp, 0x4
call f_3
add esp, 0x4
add esp, 0x4
add esp, 0x4
add esp, 0x4
add esp, 0x8
add esp, 0x8
jmp L_13
f_14:
mov eax, dword ptr [esp+0x8]
sub esp, 0x4
mov ecx, dword ptr [esp+0x10]
jmp L_end
L_13:
mov esi, eax
sub esp, 0x4
call f_10
call f_5
mov ecx, dword ptr [esp+0x14]
call f_6
mov esi, eax
sub esp, 0x4
add esp, 0x0
add esp, 0x4
mov edx, dword ptr [esi+0x11]
mov esi, dword ptr [esi+0x8]
mov ecx, edx
mov ebx, edx
xor ecx, 0x6d23cf
sub ecx, 0x6d2399
xor edx, 0xffffffcf
not ecx
add edx, 0x67
xor ebx, 0x2e6d23cf
and ecx, 0xffff00
not edx
sub ebx, 0x2e6d2399
shl edx, 0x18
not ebx
shr ebx, 0x18
or ecx, ebx
or ecx, edx
sub esp, 0x4
push ecx
mov edx, esi
mov ecx, esi
xor edx, 0x6d23cf
xor ecx, 0x2e6d23cf
sub edx, 0x6d2399
sub ecx, 0x2e6d2399
xor esi, 0xffffffcf
not edx
not ecx
add esi, 0x67
and edx, 0xffff00
shr ecx, 0x18
or edx, ecx
not esi
shl esi, 0x18
or edx, esi
push edx
sub esp, 0x4
call f_14
L_end:
}
|
能力值:
( LV4,RANK:50 )
|
-
-
36 楼
下断在那里是因为我知道那几个字节是作什么的,没想多废话。
其实最开始是随意在封包中间的一个位置下断点的
不在第一个字节下断点的原因是因为已经看出来第一个WORD是长度了,
就算断下来也只是在处理长度信息。
由于游戏处理封包大多是一个循环,然后按BYTE或其它类型依次处理的
所以下断在中间就有可能断下这个处理流程。从而找到处理封包加解密的函数。
一般来说,如果运气好,中间随意找个地方下个断点,直接就进了封包处理函数了。
运气不好的话可能断在复制封包的函数里,因为有的游戏是放进数据池,用的时候再取出的。
|
能力值:
( LV2,RANK:10 )
|
-
-
37 楼
呵呵。重点。。你看错了我的。。最后那句话才是重点。
某种人看了这文会觉得原来懂汇编的能直接把汇编写成高级语言(其实多此一举,他不懂那是多麻烦的事)。
最夸张的一次某大公司招聘信息上写着:能把汇编反写成C/C++。我加了他QQ聊了几句。他还真的发了段汇编代码过来叫我写成C的。。
所以重点。。要算法。要理解。不要语言。。
什么事情能高级语言能做到而汇编不能做到的?我想只有汇编能做到而高级语言做不到的事.汇编还能更简单的做到。。以上几个语言。VB,JAVA,C。我全用来写过程序。不过那些高级语言限制太多(内含汇编又不好看- -)。不喜欢。所以。现在一般只用MASM来写。
(看得懂不是问题。有没耐心继续做下去才是真正的问题)
|
能力值:
( LV2,RANK:10 )
|
-
-
39 楼
这种加密的方法只是游戏现行的加密方法,其中还另外预备了2种加密方法未采用,其实xx公司这个系列的都采用相同或者相似的加密方法,不过这个游戏研究封包没什么意义不如研究脚本
|
能力值:
( LV2,RANK:10 )
|
-
-
45 楼
现在流行直接把客户端当dll调用,直接搞他的汇编代码。用SE定位随便他丫怎么更新。
HOOK加密解密直接拿明文包.内存直接抓表...直接脱机=。=
看他丫怎么死。哈哈.他有的我脱机全有。
让客户端自己去跟服务器通讯吧~嘎嘎...
|
能力值:
( LV4,RANK:50 )
|
-
-
46 楼
好强大。。。还不清楚什么是SE定位,更新是件头痛的事
如果可以还是请大虾指教。。
|
能力值:
( LV4,RANK:50 )
|
-
-
47 楼
以前没有去总结怎么把它改写成c代码的方法
仔细想起来,貌似我也是用这种方法的,呵呵
|
能力值:
( LV4,RANK:50 )
|
-
-
50 楼
除了C++的内联汇编,其它语言的真的不敢恭维。而且能用主义和完美主义不同,实际应用又与学习过程不同。我更明白直接套汇编比F5和人肉F5更迅速。
|