某游戏自动化脚本从零开始

Posted 五步十阁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了某游戏自动化脚本从零开始相关的知识,希望对你有一定的参考价值。





声明




由于传播、利用此文所提供的信息而造成的任何直接或间接的后果及损失,均由使用者本人负责,五步十阁及文章作者不为此承担任何责任。

五步十阁拥有对此文章的修改和解释权。如欲转载或者传播此文章,须保证此文章的完整性,包括版权声明等全部内容。未经五步十阁允许,不得任意修改或增减此文章内容,不得以任何方式将其用于商业目的。






整体框架



将核心功能模块封装为DLL并注入到游戏,人机界面与DLL采用文件方式通讯以降低可被检测点。




技术选型



使用过MFC编写界面、C/C++编写DLL,也使用过Qt编写界面、C/C++编写DLL。


受国外某开源软件(HBRelog)启发,采用C#(WPF) 编写界面,C/C++实现调用接口,C#实现DLL业务代码,以减少被指针支配的痛苦,呵护日益减少的发量。




功能模块



01

注入及隐藏

将DLL注入目标进程后,为避免自身DLL被目标进行扫描到,需要对DLL进行隐藏处理。


02

主线程插入shellcode

为调用游戏lua,需将shellcode插入到目标进程主线程进行执行,否则shellcode将无法正确执行甚至导致游戏崩溃。


03

对象遍历


该游戏内有研究价值对象(怪物、NPC、玩家、小型建筑及传送门等),存储在一个链表中,只需对该链表进行遍历,即可获得所需对象信息。


04

角色控制 


实现角色移动、转向、技能释放、物品捡取和丢弃、物品售卖和邮寄等角色控制功能。


05

导航(navigation) 


实现角色移动到设定位置(自动寻路,将在后续考虑)。


06

交互(interaction) 


实现与NPC、传送门等对象进行交互。


07

登陆(login)


实现角色自动登陆及安全令验证(安全令验证通过调用国外某牛人开发的一款软件实现),掉线重登,在线时长管理。


08

团队协同控制


五人小队或三十人团队协同控制。


09

防封处理


后续考虑


10

异常处理(exception)


后续考虑。




新春

祝语


恭祝牛年吉祥,如意平安,阖家幸福!






以上是关于某游戏自动化脚本从零开始的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学写脚本第一天

游戏自动化浅谈 OpenCV 在游戏脚本的应用

从零开始做一个Android自动化

天龙八部自动打怪脚本 谁有啊

QTP自动化测试从零基础到精通进阶(脚本测试VBS语法描述性编程测试框架)

iOS自动化脚本教程