发布于:2018-6-27 10:44 | 82265次阅读 作者: 外部投稿 | 原作者: 通化程序员
游戏外挂想要获取游戏的信息,都是通过读内存或则接管收包的方法办到的。 这里我们先来说下读内存的代码实现方式。
首先我们声明一个人物结构
通过成员函数c初始化对结构进行初始化 以读基地址base为例 我们想读base里的值 首先对其进行类型强制转换 (DWORD *)Base 这样就将Base 转换成了DWORD型指针 然后前面加* 读里面的值 *(DWORD *)Base 就可以读取到基地址里的值。 当然其他地址也是一样的读取方法,但是需要注意数据类型 例如 上图中人物血量是FLOAT型 那么我们就需要 *(FLOAT*)人物血地址。
最后return this
然后我们在DLL dialog 上创建一个按钮 对其进行调试输出 我们写一个比较方便的调试输出子程序
void Call_输出调试信息(char*pszFormat,...) //调试输出 固定代码 复制即可 { #ifdef _DEBUG
char szbufFormat[0x1000]; char szbufFormat_Game[0x1100]=""; va_list argList; va_start(argList,pszFormat);//参数列表初始化 vsprintf_s(szbufFormat,pszFormat,argList); strcat_s(szbufFormat_Game,szbufFormat); OutputDebugStringA(szbufFormat_Game); va_end(argList);
#endif
}
我们看下调试输出效果 在DebugView 中得到输出 证明读取成功
来源:通化程序员-公众号投稿 GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM) |
最新评论
发表评论