资源详情
入门篇
1.1、一个最简单的外挂
1.1.1、游戏窗口数据分析(SPY++)
a、取得窗口相对坐标
b、读出游戏窗口信息GetWindowRect
c、移动鼠标指针SetCursorPos
1.1.2用VC++写个最简单的外挂(实现游戏开局)xa0
a、鼠拟鼠标单击mouse_event
b、鼠标指针移动还原
c、集成到startgame函数里
1.2、用CE查找棋盘数据
1.2.1、CE中的数据类型
a、数据类型:Bit,Byte,Word,Dword,float,double
b、用CE查找出坐位号;
c、保存分析数据
1.2.2、编程读出坐位号;
a、远程读取进程数据
b、打开远程进程
c、读取远程进程数据
1.2.3、用CE查出棋盘基址;
a、找棋盘数据基址
b、分析棋盘数据结构
1.2.4、读出当前棋盘数据
a、编程读出棋盘数据
b、棋盘数据显示出来xa0xa0
1.3、用模拟技术编制外挂
1.3.1分析棋子与棋盘坐标关系
xa0xa0a、鼠标软件模拟,函数SendMessage
xa0xa0b、分析窗口内棋子相对坐标X,Y
xa0xa0c、软件模拟点击棋盘坐标x,y处的棋子
1.3.2消掉一对棋子的算法框架
xa0xa0a、遍历棋盘同类型棋子配对
xa0xa0b、构建算法框架
1.3.3 (Check2p)大致框架(算法核心)
xa0xa0a、在这一对棋子间找相通路径的原理
xa0xa0b、(Check2p函数)框架代码
xa0xa0c、(CheckLine函数)检测2点是否有连通.
1.3.4 CheckLine实现
xa0xa0a、CheckLine函数实现
xa0xa0b、Check2p核心代码架构
1.3.5 Check2p完整代码实现
xa0xa0a、完整的Ceheck2p代码解析xa0 xa0
中级篇xa0
2.1、分析前的准备..CALL简介:
2.1.1、CALL的概念(远程调用CALL)
xa0 xa0a、写个调用示例(假想游戏客户端)
xa0 xa0b、用OD找CALL,初探(用OD找出我们自己写的CALL)
xa0 xa0c、代码注入器,远程CALL调用
2.1.2、远程CALL调用代码实现
xa0 xa0a、CreateRemoteThread API函数
xa0 xa0b、无参数的远程CALL调用(代码实现)
2.1.3、调试工具OD简介(人物角色)血值,魔力值,坐标偏移;
xa0 xa0a、CE找出当前血值偏移
xa0 xa0b、OD分析出魔力值,坐标偏移
xa0 xa0c、导出游戏关键代码
2.1.4、游戏基址概念;
xa0 xa0a、基址+偏移概念
xa0 xa0b、读写内存函数参数简介
xa0 xa0c、编程实现读出(血值,魔力值)
2.1.5、常用汇编指令详解
xa0 xa0a、Mov指令的几种形式
xa0 xa0b、汇编指与高级语言的转换
xa0 xa0c、push指令
2.1.6、内联汇编编程实例
xa0 xa0a、加法add
xa0 xa0b、减法sub
xa0 xa0c、纯汇编调用函数CALL(参数的传递)
xa0 xa0d、堆栈平衡
2.2、技能栏使用-游戏分析利器OD(OllyDbg)
2.2.1、吃金创药CALL
xa0xa0a、CE工具使用技巧
xa0xa0b、OD断点F2
xa0xa0c、分析CALL的参数
xa0xa0d、代码注入器测试CALL
2.2.2、编写自己的CALL测试代码
xa0xa0a、远程分配内存空间VirtualAllocEx
xa0xa0b、向游戏进程注入自己代码
xa0xa0c、远程调用《吃金创药》xa0
xa0 xa02.3、DLL外挂框架构建
xa0xa02.3.1、DLL动态链接库构建,与调用
xa0 xa0a、建立MFC动态链接库dll
xa0 xa0b、EXE程序中调用DLL函数
xa0xa02.3.2、API与回调函数
xa0 xa0a、键盘勾子回调函数keyProc
xa0 xa0b、安装函数SetupFun
xa0 xa0c、注入DLL至游戏进程空间
xa0xa02.3.3、DLL中构建窗口
xa0 xa0a、DLL中插入窗口资源
xa0 xa0b、在游戏内创建DLL窗口
xa0 xa0c、DLL内CALL代码书写(以吃红药为例)
xa0 xa02.4、选怪功能实现
2.4.1、找怪物列表基址
xa0xa0a、选定怪ID
xa0xa0b、怪物数组基址
xa0xa0c、怪物数组大小
2.4.2、分析怪对象属忄生
xa0xa0a、怪对象ID
xa0xa0b、怪与玩家距离
xa0xa0c、怪物死亡状态
2.4.3、遍历怪物列表xa0
a、选怪关键代码
b、定位一个怪对象
c、选怪功能实现
xa0xa02.4.4、选怪功能优化
a、OD分析选怪功能对应代码
b、写测试代码让选定怪物血条正确显示
c、集成选怪函数到SelMon()
2.5、用OD分析游戏功能CALL.《XXXXXX》为例:主要是找CALL
xa0xa02.5.1、普通攻击CALL关键代码分析
a、更新游戏选怪基址
b、分析攻击CALL关键代码
c、汇编指令与应高级语言对照翻译
d、编程测试
xa0xa02.5.2、挂机打怪功能
1、更新选怪CALL地址
2、优化代码结构
3、自动选怪代码编写
4、自动打怪代码编写
5、代码测试
xa0xa02.5.3、物品背包数组基址+偏移分析(CE+OD)
a、确定突破口
b、回溯基址
c、用OD验证
d、推导出基址+偏移公式
2.5.4、使用指定物品UseGoods(int index=0);
a、算法原理
b、返回物品在背包中的下标int GetGoodsIndex(char* name);
c、useGoods(GetGoodsIndex(金创药(小));
2.5.5、TabCtrl控件的使用(VC++基础好的可跳过)
2.5.6、TabCtrl控件BUG修证(VC++基础好的可跳过)
xa0xa0a、修证乱码
xa0xa0b、修证对齐
xa0xa0c、局部美化(位置大小调整)
2.5.7、捡物功能分析实现
a、捡物功能CALL分析
b、捡物CALL参数分析
c、找出所有动作CALL(打坐/普攻/捡物/交易/组队/走跑切换....)
d、测试及封装到pickgoods()函数
2.5.8: F1-F10技能数组分析
a、F1-F10技能栏数组(基址+偏移)
b、F1-F10功能调用核心代码分析
2.5.9、F1-F10功能CALL
a、找出真的功能CALL
b、F1-F10功能CALL参数分析
c、F1-F10功能CALL测试(集成功能至GameProc.h)xa0
进阶篇
xa0 xa0主要讲功能CALL的参数分析
汇编浮点指令/浮点运行/浮点数整数转换/汇编里的指针
3.1.1、喊话功能CALL地址xa0xa0
a、找喊话内容地址
b、分析出关键CALL
c、测试关键CALL
3.1.2、喊话功能VC++实现
a、分析喊话CALL参数基址+偏移
b、汇编指令lea
c、字串操作REPNZ/REPNE与SCAS
d、V++代码实现
3.2.1、走路相关数据分析(为分析走路/寻路CALL做准备)
a、查找当前角色坐标(xhy)
b、查找目的地坐标(xhy)偏移+基址
c、找出相关CALLxa0 xa0
3.2.2、走路功能CALL及相关分析
a、隐藏的push指令
b、测试走路CALL
c、确定功能CALL及参数
3.2.3、对找到的几个疑是CALL进行测试
a、分析出疑是CALL相关参数
b、对找到的CALL进行逐一测试
c、确定真正的走路CALL
3.2.4、人物走跑站状态开关分析
a、走路CALL状态开关分析
b、分析状态开关基址+偏移
c、分析走路目的地址相关基址+偏移
3.2.5、利用分析数据实现走路/寻路
a、走路功能代码实现
b、测试
c、封装到walk(x,y)
d、瞬移(穿墙)
3.3、怪物过滤
xa0 xa0e、选中最近怪物xa0 xa0
3.4、物品过滤
3.4.1、物品属忄生分析xa0
d、捡物范围控制
3.4.4、游戏多开实现
3.5、组队相关
3.6、售物/购物(封包的世界)过游戏保护,绕过封包挂检测xa0xa0
3.6.1、售物功能封包分析
1、封包回溯,找未加密的封包
2、确家关键CALL
3、分析封包(物品数量,类型,位置)
4、功能测试SellGoods函数构建
3.6.2售物封包参数来源分析
1、数量分析
2、出售物品类型分析
3、出售物品在背包里的格数
4、各种数据的来源
3.6.3、编程实现出售背包指定物品
1、遍历背包指定物品
2、出售背包第一格物品
3、出售背包第N格物品
3.6.4、完善售物功能
3.6.5、打开NPC购物/售物对话框
1、打开NPC对话
2、打开NPC(买进/卖出)窗口
3、封装到int OpenNpc_buysell();测试xa0
3.7、摆摊.开店
3.7.1开店封包分析
xa0xa0a、店名分析
xa0xa0b、封包参数分析
xa0xa0c、为TAB选项卡2添加内容
xa0xa0d、不同CPP之间共享函数及变量的方法
xa0xa0d、写申请开店代码测试
3.7.2开店封包(挂店物品分析)
xa0xa0a、分析封包
xa0xa0b、封包出售物品的格式分析
xa0xa0c、写代码测试
高级篇xa0
4.0、编写相对完整的外挂
4.0.1、窗口界面整理
xa0xa0a、常规选项卡
xa0xa0b、保护选项卡
xa0xa0c、捡物选项卡
xa0xa0d、喊话选项卡
4.0.2、常规选项卡-自动打怪函数构建
xa0xa0a、关联变量
xa0xa0b、选怪函数优化
xa0xa0c、共享变量extern
xa0xa0d、算法设计
xa0xa0e、功能测试
4.0.3、保护选项卡-自动补红补蓝函数构建
xa0xa0a、402中的BUG修整
xa0xa0b、算法设计
xa0xa0c、编写代码
xa0xa0d、功能测试
4.0.4、捡物选项卡-自动捡物函数构建
xa0xa0a、算法设计
xa0xa0b、编写代码
xa0xa0c、功能测试
4.0.5、喊话选项卡-自动喊话设置
xa0xa0a、喊话功能算法设计
xa0xa0b、编写代码
xa0xa0c、功能测试
4.1、游戏更新后的外挂更新
4.2、脚本功能
4.3、盗号的实现
4.3.1_D版
xa0 xa0001通用忄生盗号
a、键盘勾子实现。
b、拦截键盘信息。
c、取得大致的密码(精确度90%左右,视密码复杂度而定)
xa0 xa0002、精确盗号实现
a、针对指定的游戏分析.
b、用户模式下的in line hook
c、取得准确的账号密码