
C++测试角度
文章平均质量分 74
站在攻击者角度
#A#
专注c++领域
c++开发&c++逆向选手
展开
-
角色管理功能的通信分析(1)
角色删除数据包的分析删除发送的数据:删除发送又会收到个当前人物数据包前面是名字,后面不知道是啥,首先猜测这后面没有用,一看是看不出这个包是个啥,后面倒是有点规律换个号看看 发现后面没啥变化先试一下直接06 这一串能不能bool NetClient::delRole(wchar_t* rolename){ CString _name = L"zzz"; int len = _name.GetLength()+1; len = len * 2; len原创 2022-05-21 04:07:09 · 204 阅读 · 0 评论 -
游戏网络通信数据解析-3
设计一个或几个类来解读数据:部分实现:class EnCode{private: char un[2]{};//解决内存对齐public: char index = 0; char op = 0; union { char dataPool[0x8]; int lenth; char byte; short stval; int val; float fval; double dbval; long long lval{}; }; char* po原创 2022-05-14 17:11:59 · 523 阅读 · 0 评论 -
游戏网络通信数据解析--2
登录数据包的监视与模拟添加一个类#pragma once//登录数据typedef struct DATA_LOGIN{ int op = 0x300; char buff[0x10]{}; int lenId{}; char Id[0x10]{}; int lenpass = 0x10; char Pass[0x10]; int lenCode = 0x10; char Code[0x10]; int eop = 0x01;}*PDATALOGIN;因为上次分析原创 2022-05-12 04:22:45 · 403 阅读 · 0 评论 -
游戏网络通信数据解析_1
网络数据分析原理与依据软件中通过网络发送数据来通信,而通信的数据包要由发送方编码组织,由接收方进行解读,因此在软件开发之处,发送方和接收方就有着约定的编码与解码规则我们就通过数据包分析来确定它的编码规则网络通信编码解码的两种架构1、数据结构约定数据组织的时候本身有一个结构体,写代码的时候就定义在头文件里2、数据解析约定:发送的就是一段数据 比如01:char 02 short 03 bool 04 int 05 float....有一个编码表对于解码约定需要通过分析大量数据包,来..原创 2022-05-11 04:22:10 · 747 阅读 · 0 评论 -
网络通信数据包分析工具--2
设计数据发送结构实现更复杂的数据发送重新封装一下这个结构 方便以后扩展struct COPY_DATA{ time_t ltime;//时间 unsigned MsgType;//数据类型 unsigned len; char buff[0x2000];};过程略...到时候就可以屏蔽特定消息这玩意一个登录数据就这么一大片,肯定是要过滤的开始写这个小工具...其实无非就是框架控件的使用void CSetMsg::OnBnClickedOk(){原创 2022-04-28 00:52:32 · 264 阅读 · 0 评论 -
网络通信数据包分析工具 1
如果没有工具我们就创造工具一个数据包是怎么组织、解读的,可以通过逆向分析去分析,但是通过逆向分析去分析只适用于一两个数据,大量的数据分析的话成本太高了。技术这个东西从语法会了,再到追求技巧,代码怎么写速度快,再往后就开始追求感觉上的东西,到后面看一眼,猜一下,就能知道个八九不离十。--第六感拿到一段数据,客户端解读,不同的数据客户端解读方式不太可能不一样,有解读方式那肯定要有解读的图纸,没有提前的规划那也要有系统性的解读如果用的是图纸:A数据包用的a号图纸去解读 把这个数据包定义成结构体,放原创 2022-04-27 01:31:14 · 748 阅读 · 0 评论 -
游戏网络架构逆向分析--2
游戏底层功能对接类GameProc的实现这是一个函数的虚函数,这个ecx和发送数据&接收数据都有很大关系,这里截取主要就是要拿到ECX,其实更好的方法就是去找它的基址,但基址不好分析,有一大堆函数指针和虚函数,还和Lua有交互,找基址就套浪费时间了。edx就是这里虚表的地址可以直接在虚函数这做一个HOOK,通过改虚表来直接调 直接改这 10617c90的数据就能改变eax结果,就可以跳到任何想去的地方这个类原型名字就叫 GameWinSock ::Connect(char* ip..原创 2022-04-24 04:56:37 · 458 阅读 · 0 评论 -
游戏网络架构逆向分析--1
测试需求和拆解网络游戏客户端与服务端协同形式:一般分为两种情况:UI操作->吃药-> 生命值增加-> 发送服务器 (发送结果型) UI操作->吃药->发送请求吃药->服务器验证->服务器完成吃药->客户端同步显示发送结果型:首先在界面里按了吃药的操作,按下吃药的操作以后,生命值增加,客户端会看有没有药水,有没有cd 能不能吃,生命值就增加了,然后把这个血量发送给服务器,但发送给服务器前的这个是可以改的比如直接改成999999,这不就无敌了..原创 2022-04-23 11:28:59 · 3799 阅读 · 0 评论 -
游戏启动流程的逆向分析与多开的实现
游戏启动的一般架构登录器程序 启动游戏主程序 游戏中完成登录 登录器完成登录 传送token至游戏客户端 游戏根据token 登入账号 客户端直接启动为什么不能直接启动呢?而必须要通过登录器来启动?网络游戏面对很多的情况。游戏的版本,登录器启动的情况下就可以验证一下版本 版本不行就可以更新一下,自己更新自己是不太好,当然也有一种就是热更新,但是热更新中间也是有跳板来做的,更新的文件,如果是更新这个程序,热更新也是很难去操作的 主程序可能会被别人破坏 如果是做了硬件补丁 登录器可以把文件读原创 2022-04-17 20:04:28 · 3187 阅读 · 1 评论