某游戏自动化脚本系列(四)第一期 TBC开干
随着TBC版本的开放,该游戏又迎来一波高潮。考虑到之前基于handycontrol开源控件库开发的中控还是不太契合自身审美,参考早些年国外开源的一款软件界面,进行了中控的重新设计开发。一. WPF整体代码结构Views文件夹:与界面及控件相关,后缀为 .xaml。ViewModels文件夹:与模型相关。Converts文件夹:实现界面数值转换功能。Event文件夹:各模型之间交互事件定义。S...
随着TBC版本的开放,该游戏又迎来一波高潮。考虑到之前基于handycontrol开源控件库开发的中控还是不太契合自身审美,参考早些年国外开源的一款软件界面,进行了中控的重新设计开发。一. WPF整体代码结构Views文件夹:与界面及控件相关,后缀为 .xaml。ViewModels文件夹:与模型相关。Converts文件夹:实现界面数值转换功能。Event文件夹:各模型之间交互事件定义。S...
声明一、与游戏lua交互1.调用游戏接口调用API前文已对frame_excuteScripte进行了阐述,这里不再细数。2.注册自定义函数到游戏lua通过对比lua源码与游戏反汇编代码,得到其如下结构:typedef enum luaType { Tnil = 0, Tboolean,// 1 Tlightuserdata,// 2 Tn...
前言为实现通过主线程调用游戏Frame_excute(),来执行自定义脚本,来对新版本增加的 retaddr 检测进行逆向分析。背景知识函数调用过程中,除了参数赋值,执行Call跳转外,还有个很重要的事,就是将Call 指令下一条指令地址(通常来说就是函数执行完成返回后,执行的第一条指令所在地址,也就是返回地址)push到堆栈中。这样一来,可以通过rbp/rsp指针获取返回地址,并对返回地址...
声明说明由于.net5 平台不支持编译到动态链接库,核心功能DLL采用与底层交互很方便的c++来实现。前台中控依旧采用.net 5 WPF实现。中控界面本人很喜欢handyControl示例程序UI界面风格,中控界面使用handyControl控件库进行绘制,并大量参考其示例程序代码及风格,感谢handyControl作者对开源所做出的贡献。考虑到中控界面只需考虑账号管理和任务管理,最终UI...
声明前言因某朋友找上门,想要我帮忙写个自动化机器人,以将自己从繁重的游戏搬砖中解放出来。考虑到自己丢弃在硬盘角落的那堆数据,本着折腾原则,决定搭建一套完整框架,以脚本驱动功能,实现需求变动后,只需进行对应脚本开发就行。整体框架采用中控(人机界面)统一管理游戏进程及脚本执行,DLL封装功能API并提供给lua、DLL维护lua状态机解释执行自定义脚本。技术选型使用过MFC、Qt及WinForm...