001 -F8找CALL实例ONE 模拟器的讲解
课程内容: 调试模拟器并找到他所调用的CALL.
002 -CALL调用方法的讲解
课程内容: 以几个CALL的反汇编模型讲解CALL的调用方式.
003 -实战,寻找第一个程序选中怪物功能
课程内容: 找到选中怪物目标的功能.
004 -实战寻找第一个程序寻路功能
课程内容: 找到游戏寻路功能.
005 -实战,寻找第一个程序技能释放功能
课程内容: 找到游戏技能释放功能.
006 -实战,寻找第一个程序普通攻击功能
课程内容: 利用 明文包CALL和 目标ID找到游戏普通攻击功能,并分析封包组的汇编代码.
007 - VC++创建工程以及简单的函数
课程内容: 创建一个空白的工程,并开始写第一个简单函数
008 -函数的机制之栈帧的形成
课程内容: 认识函数在反汇编里的机制以及栈帧的形成.
009 -函数的机制之调用约定的讲解
课程内容: 讲解函数的调用约定.
010 -数据结构篇之数组结构
课程内容: 讲解VC++中数组结构
011 -VC++TAB页的创建和辅_助控件类的使用
课程内容: 讲解VC++中TAB页面的创建和辅_助专用控件类的使用
012 -VC++键盘钩子注入
课程内容: 编写一个程序将DLL注入到游戏当中并讲解如何调试DLL代码.
013 -物结构分析(汇编代码分析)
课程内容: 分析怪物结构遍历的汇编代码
014 -第一个程序怪物结构遍历(用程序遍历链表)
课程内容: 用程序遍历怪物结构,讲解VC++TRY异常,调试输出,以及DLL调试.
015 -怪物结构其他成员的寻找
课程内容: 寻找除了ID之外的其他主要成员的偏移.
016 -VC++指针的应用(用结构指针遍历怪物数据结构)
课程内容: 利用自定义结构遍历游戏的数据.
017 -第一个程序背包结构分析
课程内容: 分析第一个程序的背包结构
018 -第一个程序背包结构汇编代码遍历
课程内容: 用汇编代码遍历背包结构
019 -用代码模拟背包结构
课程内容: 用代码模拟背包结构
020 -用自定义结构遍历背包结构
课程内容: 用自定义结构遍历背包结构
021 -第一小节结束
[第二小节:侧重于CALL的寻找及参数的分析,简单数组分析以及简单挂机流程]
022 -第二个程序人物属性分析
课程内容: 用自定义结构遍历背包结构
023 -分析程序发包流程
课程内容: 分析程序的发包模式,以及他的过程.
024 -寻找普通攻击CALL
课程内容: 分析寻找普通攻击CALL封包组成过程以及整个攻击代码流程.
025 -技能CALL的寻找与分析
课程内容: 分析和寻找游戏的技能攻击CALL.
026 -游戏功能框架以及游戏循环攻击功能分析
课程内容: 根据技能和普通攻击分析出游戏大概的循环攻击功能框架
027 -编写程序读取血量并显示
课程内容: 编写血量等信息的读取.
028 -编写程序调用普通攻击及技能攻击
课程内容: 编写调用普通攻击以及技能攻击的调用.
029 -怪物结构分析
课程内容: 分析程序的怪物结构公式.
030 -怪物结构分析(2)-怪物坐标的分析以及寻路和坐标加密的分析
课程内容: 分析了寻路CALL,和怪物坐标的偏移以及怪物坐标加密的分析.
031 -人物选怪功能和怪物选人功能的分析
课程内容: 分析人物选怪和怪物选人的思路.
032 -用程序遍历怪物
课程内容: 遍历怪物的属性.
033 -冒泡算法得到最近的怪物
课程内容: 选取最近的怪物功能的实现
034 -从代码分析出目标类型的偏移
课程内容: 从普通攻击入手,分析出目标类型的偏移(是否是怪物).
035 -做一个最简单的自动打怪
课程内容: 编写一个最简单的打怪流程.
036 -完善自动打怪-增加范围挂机
课程内容: 增加范围挂机功能.
037 -跨图寻路CALL的寻找与分析
课程内容:寻找游戏中跨图寻路CALL的分析与寻找..
038 -完善自动打怪-增加地图判断
课程内容:增加对挂机的时候地图判断.
039 -吃药CALL的分析以及背包数组的分析
课程内容: 通过明文包找到吃药CALL,分析吃药CALL的时候发现参数是一个结构,从物品指针+14C传递过来,通过这个物品指针我们找到了背包结构,分析发现+8是物品横坐标+C是物品纵坐标,+4是物品的ID,我们又发现更改物品的ID会导致鼠标放在物品上显示信息的改变,那么我们知道这个显示物品的信息是由这个+4这个ID值改变,监视这个地址,我们找到了读取物品信息的CALL.
040 -背包遍历及数量名字寻找和使用物品CALL的调用
课程内容:首先我们整理了上节课找的背包ID以及背包公式.但是光光是ID值还不够,因为你得知道其他的信息,比如说数量,名字等等,数量我们通过CE可以直接搜索到.而名字我们发现搜索到的名字的指针并没有在我们的背包结构内存中,我们继续通过名字来查找,发现他是来自另外一个结构,那么新的问题出现了这个物品结构是如何匹配物品名字的呢?通过分析我们发现原来那个ID值就是这个结构的下标,接下来我们成功的遍历出名字ID数量.并写出使用物品的CALL.
041 -智能判断吃药的实现
课程内容:今天我们要实现智能加血,什么是智能加血呢,我们要自动判断背包里哪个物品是药,那么如何判断呢,首先我们尝试了类型的判断发现补蓝和补血的类型名字一样,那么排除掉,那样的话我们只好用名字匹配了,幸好这个药品名字不多,那么我们可以直接匹配了2个.但是测试的时候发现出错了,这个时候我们发现使用物品并没有检测这个ID是否为0也就是有没有物品,加入判断后,我们发现已经可以正常加血了.
042 -吃药的完善-增加吃药间隔的判断以及等级判断
课程内容:首先了解下如何通过代码分析出CD和LV的偏移.通过逆向分析代码,我们找到了这个CD和LV的偏移,并且把判断的功能加入了智能吃药,经过不断的调试,我们成功的判断了物品的CD和LV,我们的智能加血更加完美了.
043 -技能结构的分析(1)
课程内容: 今天我们讲解了由名字逆向回结构,发现找到的并不是我们想要的技能结构而是技能信息结构,为什么会找到这样的一个结构,而不是技能结构呢?这是这节课留给大家的作业,请大家好好思考一下!
044 -技能结构的分析(2)
课程内容:我们从上一节课找的鼠标取技能信息的CALL开始寻找我们的技能结构,发现返回到了另外一个模块,没办法我们只好从技能使用CALL开始寻找,我们用快捷键使用技能,逆向到了快捷键结构,当然这不是我们所要找的,我们又用右键使用技能面板的技能,这时候我们遍历到了门派的技能结构.这个是不是我们想要找的呢?
045 -技能结构的分析(3)
课程内容:遍历的时候我们发现,结构中只有当前选中卷宗的技能,那么我们就明白了,这里也并不是真正的技能结构,那么我们又发现切换的同时技能也随之改变,没办法我们只有又开始分析了ID的来源,分析后我们发现他来自一个结构中,而这个结构呢,就是传说中的二叉树.!
046 -二叉树的原理讲解与遍历
课程内容: 二叉树在VC++中的结构的模型,在内存当中的模型,结构的图形,以及框架示意图像.最后我们用递归遍历了整个二叉树结构.
047 -技能结构的分析(4)
课程内容: 上节课我们把二叉树信息遍历出来了,但是发现里面有很多值,那么我们该如何确定那个是技能ID呢?通过代码发现他对比的是心法的ID,那么心法的ID来源是哪里呢?通过分析参数的来源,我们找到了心法的结构,这样我们通过心法的结构就可以准确的找到我们所学的技能.
048 -技能信息结构的分析
课程内容:首先我们按照技能分析1当中分析出了名字的偏移,然后我们开始按照背包找CD的找法去寻找技能的CD,终于按照一步步分析,我们找到了正确的地方,通过代码分析,他通过当前的时间减去记录的时间来判断是否在CD当中,这样我们的CD的偏移也就找到了,是在怪物结构中人物结构指针里.
049 -技能结构的遍历
课程内容: 今天我们来设计技能遍历以及结构,这个游戏的技能结构不像背包一样都在1,2个结构里,这个技能结构经过一个结构,一个二叉树遍历,两个信息属性结构,如果每次都重新遍历的话效率会非常低,这样我们就需要设计一个自定义结构来储存技能,刷新的话只需要刷新几个值就可以了.
050 -技能面板写入技能ID的分析
课程内容: 通过代码写入我们找到了处理技能结构ID的代码,通过分析我们知道他是如何一个过程,对于我们来说无须在去写一次,直接调用游戏内部的代码即可.
051 -技能流程处理(1)
课程内容: 设计自动技能攻击流程.
052 -技能流程处理(2)
课程内容: 讲解了C++宏在辅_助中的应用,以及技能流程的调试.
053 -技能流程处理(3)
课程内容: 通过输出CD和上次使用时间我们发现上次使用时间变量当中储存的并不是最后一次使用时间,而是下一次使用的时间,那么通过改变代码,我们成功的修复了使用技能造成的崩溃,并加上了自动补蓝功能.
054 -HOOK的应用-行为监测
课程内容: 首先我们讲解了下HOOK的原理,然后我们找到行为CALL,HOOK了他的头部,成功后,我们自定义消息输出了行为动作,并分析了攻击行为和移动行为.055 -坐标加密后续以及挂机捡取思路
课程内容: 修复不同地图坐标值错误,以及讲解了挂机捡取流程.056 -第二小节结束语
课程内容: 第二小节结束语.
[第三小节:不同的方式寻找与分析CALL和结构,学会分析代码]
057 -魔法之门明文包的分析以及喊话CALL的调用
课程内容: 通过代码分析我们从封包数据指针开始寻找,找到了他的来源以及分析出了整个发包的流程,通过关键的地方我们找到了数据指针写入的地方,但是我们发现却没有发现明文的地方,于是我们继续寻找,最终我们找到了加密的地方以及真正的明文包的函数.
058 -喊话内容的一次逆向分析过程课程内容: 我们从喊话内容查找到了喊话编辑框里储存的内容,通过分析我们发现这个是一个控件结构的内 容偏移.然后我们继续分析喊话所储存的内容,找到了清除编辑框内容的代码.课程重点:1.NOP的在分析数据中的作用2.NOP的时候所要注意的地方3.为何找喊话内容会找到结构呢,因为我们查找的是控件中的值.4.通过结构我们可以遍历所有的控件.5.读取以及访问的区别6.调用CALL时,如果参数的数量正确数值正确,但又崩溃了原因可能是传递的参数是结构体.
059 -选择怪物功能分析-从明文包入手课程内容: 从明文包返回到功能代码并不难,这节课的重点是通过代码分析到CALL的参数的构造.课程重点:1.通过NOP代码我们可以确认代码的功能.2.结构也是有可能作为参数传入的.3.重要的参数是有可能作为结构的某个成员所传递.
060 -选择怪物功能分析-从目标入手课程内容: 用CE搜索到目标的值,通过这个值我们找到了选怪功能的CALL.这对于我们来说是一个很简单,但是我们所要了解的并非仅仅是找到,而是分析和猜测汇编代码指令他所包含的含义.课程重点:1.CE搜索技巧2.汇编代码结合数据了解代码所包含的意义3.如何分析目标的数据类型
061 -分析跳的CALL-从明文包入手课程内容: 首先我们了解了跳的这一过程所发生的动作,通过明文包我们很快的定位了跳这个CALL并成功的调用.课程重点:1.参数的来源位置2.栈参数的个数确认3.写调用CALL的顺序
062 -跳的CALL的代码分析课程内容: 今天我们分析了跳的代码,找到了执行动作的CALL和发包的CALL,并无意中实现了飞天的功能.可以猜测发送非正常的坐标可以达到飞天功能.课
1