Make it Better
问道服务端逆向开发(1) - 登陆器crack
2016-10-8 StanWind


研究问道四年 到现在泛滥的局面 云端陪伴了大家这么多年 我还是很欣慰



有人说我好也有人说我坏 我也不想多说什么







接下来一段时间我会把问道逆向的整个过程做一个大致的分析 主要是针对数据包协议的解析







首先我先讲讲怎么crack登陆器



一个launcher想要使得client连接到server 最主要需要的就是ip和port







这里讲讲改launcher内存来指向自己的服务器的方法







问道autoupdate.exe流程大致是启动-http得到所有大区详细信息-根据选择大区组合相关信息进行aes-ofb-128加密得到目标命令行-用目标命令行运行asktao.mod







这个过程中间有很多方法可以让asktao.mod指向我们的地址



可以参考我之前写的这篇博文 http://www.stanwind.com/?post=27



就不过多赘述了







这里贴上一段1.57 autoupdate.exe的一段目标命令行算法



我是直接改了这个内存地址 是静态的 没有偏移



还有其他的你们可以自行去看看 










区组 

EAX=004E9424

EBX=00000011
ECX=004C88CE
EDX=004E9425

ESI=004E9424

EDI=00000000
ESP=0018F740
EBP=0018F764
EIP=755C705C

cl 区组名

755C705A - 8A 08 - mov cl,[eax]
77BF9033 - 06 - push es
77BF9036 - 8A 46 01 - mov al,[esi+01]
77BF903C - 8A 46 02 - mov al,[esi+02]
77BF90F0 - 8B 44 8E FC - mov eax,[esi+ecx*4-04]
77BF9124 - 8A 06 - mov al,[esi]
755AE89E - 80 38 20 - cmp byte ptr [eax],20
755AE8A9 - 38 18 - cmp [eax],bl
755AE8B7 - 80 38 20 - cmp byte ptr [eax],20
77C2061F - 8A 06 - mov al,[esi]
66CB1E3A - 80 38 00 - cmp byte ptr [eax],00
66CB26CE - 8A 03 - mov al,[ebx]
66CB5170 - 8B 44 8E F8 - mov eax,[esi+ecx*4-08]
66CB5178 - 8B 44 8E FC - mov eax,[esi+ecx*4-04]
66D42981 - C6 04 01 00 - mov byte ptr [ecx+eax],00

IP

EAX=004E9398
EBX=00000011
ECX=004C8831
EDX=004E9399
ESI=004E9398
EDI=00000000
ESP=0018F740
EBP=0018F764
EIP=755C705C

755C705A - 8A 08 - mov cl,[eax]
77BF9033 - 06 - push es
77BF9036 - 8A 46 01 - mov al,[esi+01]
77BF903C - 8A 46 02 - mov al,[esi+02]
77BF90F0 - 8B 44 8E FC - mov eax,[esi+ecx*4-04]
77BF9130 - 8A 06 - mov al,[esi]
77BF9134 - 8A 46 01 - mov al,[esi+01]
66C21E3A - 80 38 00 - cmp byte ptr [eax],00
66C226CE - 8A 03 - mov al,[ebx]
66C25168 - 8B 44 8E F4 - mov eax,[esi+ecx*4-0C]
66C25170 - 8B 44 8E F8 - mov eax,[esi+ecx*4-08]
66C25178 - 8B 44 8E FC - mov eax,[esi+ecx*4-04]
66C251AC - 8A 06 - mov al,[esi]
66CB2981 - C6 04 01 00 - mov byte ptr [ecx+eax],00








































发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容