首页
社区
课程
招聘
[原创]CoolCmd接入教程(某游戏协议破解及完整可编译插件源码)
发表于: 2015-9-16 08:44 24421

[原创]CoolCmd接入教程(某游戏协议破解及完整可编译插件源码)

2015-9-16 08:44
24421
       00565405    8B45 FC         mov     eax, dword ptr [ebp-4]
       00565408    50              push    eax				                 //压入参数
       00565409    8B4D F4         mov     ecx, dword ptr [ebp-C]
       0056540C    8B51 28         mov     edx, dword ptr [ecx+28]
       0056540F    8B45 F4         mov     eax, dword ptr [ebp-C]
       00565412    8B48 28         mov     ecx, dword ptr [eax+28]	//寄存器参数 
       00565415    8B12            mov     edx, dword ptr [edx]
       00565417    8B42 14         mov     eax, dword ptr [edx+14]
       0056541A    FFD0            call    eax   ; //eax = 0x008551D0	即明文发包函数
       0056541C    8945 F8         mov     dword ptr [ebp-8], eax
       0056541F    8B4D FC         mov     ecx, dword ptr [ebp-4]
       00565422    8B11            mov     edx, dword ptr [ecx]
       00565424    8B45 FC         mov     eax, dword ptr [ebp-4]
       00565427    50              push    eax
       00565428    8B4A 08         mov     ecx, dword ptr [edx+8]
       0056542B    FFD1            call    ecx
       0056542D    837D F8 00      cmp     dword ptr [ebp-8], 0
       00565431    75 23           jnz     short 00565456
       00565433    68 A8E7A800  push    00A8E7A8         //SendMsg2GateWay 
      typedef struct _SendParamSt
      {
				DWORD dwMMSend_A;	//参数A,固定基址
				DWORD dwMMSend_B;	//参数B,固定基址
				DWORD dwUnknow;	//未知,默认1
				DWORD dwLen0;		//协议长度
				DWORD dwLen;		//协议长度
				DWORD dwBuff;		//协议数据内存地址
       }TSendParamSt,*PSendParamSt;
       0085A88A    C700 10E5AB00      MOV DWORD PTR DS:[EAX],game.00ABE510
       0085A890  C740 04 F8E4AB00   MOV DWORD PTR DS:[EAX+4],game.00ABE4F8
       0085A897    C740 08 01000000   MOV DWORD PTR DS:[EAX+8],1
       0085A89E    8948 14            MOV DWORD PTR DS:[EAX+14],ECX
       0085A8A1    5B                 POP EBX
       0085A8A2    C3                 RETN
       00428657    83F8 0A         CMP EAX,0A
       0042865A    75 07           JNZ SHORT game.00428663
       0042865C    33C0            XOR EAX,EAX
       0042865E    E9 A5040000     JMP game.00428B08
       00428663    A1 E45FB600     MOV EAX,DWORD PTR DS:[B65FE4]//B65FE4即基址
       00428668    8B10            MOV EDX,DWORD PTR DS:[EAX]
       0042866A    8B0D E45FB600   MOV ECX,DWORD PTR DS:[B65FE4]		
       00428670    8B42 10         MOV EAX,DWORD PTR DS:[EDX+10]
       00428673    FFD0            CALL NEAR EAX
       0056540C    8B51 28         mov     edx, dword ptr [ecx+28]  //0x28偏移
       0056540F    8B45 F4         mov     eax, dword ptr [ebp-C]
       00565412    8B48 28         mov     ecx, dword ptr [eax+28]	
       005977B4    8B0D F085C201   MOV ECX,DWORD PTR DS:[1C285F0]//1C285F0
       005977BA    8B11            MOV EDX,DWORD PTR DS:[ECX]
       005977BC    8B0D F085C201   MOV ECX,DWORD PTR DS:[1C285F0]
       005977C2    8B02            MOV EAX,DWORD PTR DS:[EDX]
       005977C4    FFD0            CALL NEAR EAX
       00529F20    8B51 30         MOV EDX,DWORD PTR DS:[ECX+30]
       00529F23    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]
       00529F26    8B48 30         MOV ECX,DWORD PTR DS:[EAX+30]  

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 3
支持
分享
最新回复 (30)
雪    币: 375
活跃值: (201)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢分享,收藏慢慢研究。
2015-9-16 09:05
0
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
插件代码要编写的量其实是挺大的,能不能弄个支持python这种接口的,那就爽很多了
2015-9-16 09:43
0
雪    币: 100
活跃值: (64)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
插件代码已经都是必不可少的了 再少只能减功能

python 当然可以,只是目前看来没必要性
2015-9-16 10:49
0
雪    币: 6526
活跃值: (3661)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看起来相当不错啊, 赞一个, 如果用这个, 感觉会方便不少, 不知道会不会送授权..
2015-9-16 10:53
0
雪    币: 29
活跃值: (97)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
很牛逼的工具 支持
2015-9-16 11:27
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
很鸡肋的东西
2015-9-16 11:47
0
雪    币: 768
活跃值: (530)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
8
这种工具手备一份还是蛮方便的。。
出于个人兴趣,经常分析一些软件的网络协议,曾经无数次想写个类似的网络监控的软件(非旁路),支持脚本扩展功能。
想想工作量,放弃了。

顶楼主。。。
顶工具。。。
顶授权。。。
2015-9-16 13:31
0
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼主分享的技术很给力,支持。
2015-9-16 14:13
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
mark
2015-9-16 14:39
0
雪    币: 3688
活跃值: (4242)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
11
顶永久授权,期待收藏。
2015-9-16 15:05
0
雪    币: 130
活跃值: (402)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
马克下。。
2015-9-16 15:27
0
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
13
个人授权。。。。。。
2015-9-16 15:47
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
14
发包CALL其实是THISCALL,直接声明为
typedef DWORD (__thiscall *TMMSendProc)(void * theECX,PSendParamSt pParam);
不用内嵌汇编提取ECX~
2015-9-16 15:59
0
雪    币: 100
活跃值: (64)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
15
正解。

为多语言通用,设定函数原型为:
      typedef DWORD (__stdcall *TMMSendProc)(PSendParamSt pParam);

你可能没注意到这句话,不同语言不同编译器对__thiscall支持各不相同的,这样定义就通用无阻了
2015-9-16 17:30
0
雪    币: 7
活跃值: (131)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
混了好几年没混出点啥
2015-9-16 17:32
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
17
没注意到~
Delphi不熟~不过听说delphi的thiscall是否使用ECX是可以在编译选项设置。
其他编译器也是类似的,只要编译设置成thiscall的this使用ecx传递就可以了。

PS:
这个SDK模型用起来还是很麻烦的样子。
2015-9-16 19:07
0
雪    币: 100
活跃值: (64)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
18
既然如此需要,又是看雪10+精华资深奉献人士,免费赠送永久授权1个

10月初正常工作日即发放,联系官方QQ获取.
2015-9-21 12:28
0
雪    币: 2
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
mark
2015-9-22 11:23
0
雪    币: 100
活跃值: (64)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
20
免费版已放出,支持插件,需要的可进交流QQ群下载
上传的附件:
2015-10-12 12:12
0
雪    币: 81
活跃值: (100)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
怎么会没有必要性呢?
2015-10-13 10:31
0
雪    币: 100
活跃值: (64)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
22
额,目前很多游戏公司在使用,都是安全组负责接入和授权,测试的活交给了普通测试组

给安全组留点活做做
2015-10-13 15:17
0
雪    币: 150
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
我个人认为纯粹做一个数据包分析插件,用处不是很大!
碰到明文的数据一般用WPE即可解决!如果碰到加密的数据包,也是需要拿起调试器去分析加解密CALL出来!能搞定这些都是有自己一套成型的框架代码在硬盘里面。最多也是更换一下加解密CALL的特征码而已。

如果你的插件能支持 wsasend wsarecv这种拆包,粘包,组包的数据包可能是个亮点!
2015-10-21 11:40
0
雪    币: 100
活跃值: (64)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
24
主要看工具针对目标

     让一个没有任何技术功底的普通测试人员  可以用这个工具在任何游戏公司测试任何游戏 内外网通用 降低流通和学习成本

     中小游戏公司 针对代理的游戏也不需要雇佣个逆向人员过保护、逆向加解密接口以及做相关评测了,找人接下插件,普通测试人员就可开工了
2015-10-21 15:34
0
雪    币: 199
活跃值: (65)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
25
mark,支持楼主的这个很cool的工具
2015-11-2 01:49
0
游客
登录 | 注册 方可回帖
返回
//