某游戏自动化脚本从零开始
Posted 五步十阁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了某游戏自动化脚本从零开始相关的知识,希望对你有一定的参考价值。
声明
由于传播、利用此文所提供的信息而造成的任何直接或间接的后果及损失,均由使用者本人负责,五步十阁及文章作者不为此承担任何责任。
五步十阁拥有对此文章的修改和解释权。如欲转载或者传播此文章,须保证此文章的完整性,包括版权声明等全部内容。未经五步十阁允许,不得任意修改或增减此文章内容,不得以任何方式将其用于商业目的。
整体框架
将核心功能模块封装为DLL并注入到游戏,人机界面与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)
后续考虑。
新春
祝语
恭祝牛年吉祥,如意平安,阖家幸福!
以上是关于某游戏自动化脚本从零开始的主要内容,如果未能解决你的问题,请参考以下文章