粉丝2895获赞5256

哈喽,大家好,今天我们来给大家讲一下一元大漠插件多现成操作介绍。 好,我们直接打开我们多线层操作的课件,这里呢我已经写好了一个多线多线层操作的脚本,用来给大家介绍一下, 那什么是多线层操作呢?我用通俗的话来讲就是同时操作 两个窗口啊,做相同的操作,或者是不一样的操作,对不对?那对于我们大漠插件来说,如果我们用大漠插件来控制 窗多个窗口,就好比模拟器窗口来说吧,我们可以同时啊用大漠插件来同时操操作多个 模拟器窗口,来全自动的运行我们的脚本,对不对?首先当然是要获取多个窗口的窗口锯柄啊,这里呢,我已经提前写好了啊,提前写好获取窗个啊多个窗口锯柄以后, 这里我给大家写了一个简单的脚本功能,就是打开雷电的游戏中心,对不对?我们同时操作多个窗口,打开我们的雷电游戏中心,好,这个时候我点击一下打开雷电游戏中心, 好,大家看到了没有?这个时候呢,他多个窗口呢,就同时打开了雷电游戏中心啊,就是这么简单啊,可以大家就是这样理解啊, 好,这个时候呢啊,我们的脚本还在运行当中啊,大家看到了啊,只有 只要我们啊,只要我们一关闭这个雷电游戏中心,他就会全自动的去打开,对不对?那可以多个窗口做相同的操作,也可以多个窗口做不一样的操作,比如说啊,这个窗口他已经打开了雷电游戏中心了,但是 另一个窗口他没有打开,这个时候呢,他找到了雷电游戏中心,他还会啊照常的给我们打开,所以用通俗的话简单的来介绍多现场操作就是这样啊,给多个窗口做相同的操作,或者是不一样的操作。那由于 大漠插件的多线层操作呢?啊,讲起来就比较复杂,涉及到很多复杂的东西,所以在新手入门课程里,我就不给大家介绍了。那大漠插件的多线层操作的实战教程呢, 我已经录制好了,给我啊,给我专门找我学习的学员,我会让他们学习。有很多新手学员啊,都想找我学习这些大抹插件的这些多现场操作的课程呢,我已经录制好了,后面新啊新手学员直接问我要视频教程来学习就可以,因为 啊涉及到这个多线程操作,然后全自动脚本的话,有很多复杂的东西,所以不方便在新手入门课程里面讲解。好。那 一元大墨插件的多线层操作介绍呢啊,我就已经给大家讲到这里,这里呢,那一元大墨插件的新手入门的这一篇呢,就已经是完结了。好了,那这期视频就到这里。

窗口才睡啊, 先追这的,弄弄弄一个可以控制他开始暂停,继续停止, 就是学一下县城吧。 painting, 嗯, 开始暂停,暂停 继续, 估计叫 呃,就几个小时可以录制呃,十十来节啊,几节视频吧。 嗯,然后就是后台可以点击这个开始的按钮,然后他同样可以点击别的啊,比如游戏啊,网页啊,或者模拟器啊, 雷电模拟器,后台啊都可以啊。那怎么选呢?我们我们在这里,在程序一开始的话,我们先把它取到窗口去啊,后台的他需要窗口去柄啊,双击这个程序即便亮窗口去柄, 现成的话他需要一个现成去比去比转速型啊。 出行窗口聚柄的话,我们先开用大模工具看一下这个窗口啊,拖这个圈到这里。他这个窗 口看起来是有多个巨饼的啊,多个多个巨饼对吧?多个巨饼的话 多个置顶的话,我们我们用那个精益助手啊,精益助手拖这个圈啊,拖这个圈到。我们要点的是这个开始的按钮,我们拖到拖到他这里 标题,我们然后在这里看到什么,在这里右键啊,三层一一代码,三层一代码,然后是精益模块命令啊,然后复制并关闭, 然后在芋圆上面粘贴啊,粘贴出来一个纸。程序叫做功能取锯柄啊,就是取到我们这个按钮的锯柄啊, 我们现在试一下是不是对,是对还是错啊。窗口去饼等功能,取去饼, 调色输出 窗口距离 创稿之饼表示一下。 添加一个经典毛款 调试 三三幺八四四,我们用大拇工去看一下,做到这开始这里三三幺八四是对的对的, 然后我们把这些功能给加上,开始暂停,继续停止, 插出一个嘴唇需用来控制他暂停的。继续吧, 定一元 长寿时间整肃。行啊, 然后我们定一个逻辑变量,是否暂停是否暂停。 逻辑性啊。 点击点击这个开始按钮的话是否暂停了一下, 这里写一个判断选手, 但如果是要暂停的话,正在卡在这个循环里面啊,是否暂停? 嗯,两百吧。 延迟 延迟时间啊,这定义颜色自己定义的颜色。 我们现在写一下他的后台点击啊,判断选手 i 等于零 let s。 嗯,鼠标消息啊鼠标消息 窗口制品水平坐标垂直坐标 窗口脆饼就是我们取的这个窗口脆饼 水瓶坐标五五。 我们是点这点就开始点他这里啊点他这里啊点他这里 设定一延时。 嗯,给他拜拜拜拜。好,秒 暂停的话就是是否暂停啊,等于针啊,让他 等于真的话,在这里他就会使循环的啊。暂停了啊。 she is she 是否暂停等于假 停止就结束啊。 我们现在试一下啊, 带麻拉长一点好看一点。 我们先这里给他清零啊,然后点一下开始会点后台会点我的手表 是在我这个开始按钮这边,他不会跑过去点的啊。这种就是后台点击了,后台点击我鼠标在这里啊,那么现在暂停啊,点一下暂停啊,他 刚才点赞停了,他们用是我这个代码,这里这里的代码刚才是鼠标照的太快去掉了判断选手 给他补上去啊 们接着试啊,开始 暂停啊,这一次暂停了啊,这一次代码起作用了,然后点击继续啊, 接着弄了啊,后台就是我的鼠标在,比如我在这开始按钮这里,他他鼠标不,会不会影响我们电脑操作别的东西啊?别的东西你想怎么操作都行,他反正他这后台去点啊。 呃,这一集就到这里吧,到这里, thanks。

呃,给大家录制一套芋圆柱门啊到精通的系列教程啊, 从新手的角度学语言的话首先要从变量开始我们所以我们第一节第一节课主要是讲变量啊变量,然后结合个数据类型啊, 呃,这是我的联系方式啊,刘玉峰啊,然后手机号是幺三六九五幺幺四三二, 数据类型啊,数据类型的话对于新手的话这些也不用记住,就是大概了解一下就行。 行了啊,一般常常用的啊,我们就是有有一个整肃型啊,整肃型的,这是他的范围啊, 然后第二个常用的就是文本型啊,文本型文本型就是我们打我们比如我们聊天打字啊,就是这些都是文本啊,然后一个是逻辑型啊,逻辑型就是真或假, 然后我们主要是要结合结合我们的代码来理解这些。 现在我们新建一个芋圆啊,我们开始弄啊,新建一个芋圆啊,然后对于新手的话我们先这样操作啊,程序新建啊, 晕倒,是窗口程序啊,我尽量讲的慢一点啊,就是照顾一些新手 啊,新建之后他这里会出现一个窗口啊,然后我们我们这 先弄一个主见啊,主见这里有一个基本主见啊,这些点点一下这个删那个横线的按钮啊, 他就会出现这些组建的名字啊,如果你你这个语言你开始没点的话,他是这样的啊,这样的,好的鼠标啊,然后你点一下他就是这样的啊,然后我们现在先放一个编辑框上去啊, 然后再放一个按钮上去啊, 然后这些这些比如编辑框的话我们点一下编辑框啊,然后再点一下属性啊,这里有个属性栏,然后然后这里的内容,比如我们写一下 幺二三啊,然后这里确定他就会出现这个幺二三啊, 然后接下来我们啊,我们双击这个按钮,他就会出现这个按钮,预备单击这个啊,这个界面啊, 然后我们现在主要就是讲变量啊,对于变量是怎么理解呢?变量的话就如果是新手没有接触过编程,因为因为他们不懂得变量在 在在内存中是怎么存储的啊?然后我这里重新画一下,我们画一个杯子啊, 这里 第一次第一次用这个画图工具了啊,比如,比如我们比喻这个杯子是一个变量啊,这这个杯子是一个变量,然后我们在里面啊,里面存一下东西啊 啊,这个变量就是变量的定变量,其实我们可以理解啊,在以前是理解是一个容器啊,他的内容就可以改变啊,就是新手学这些不知道什么意思的话,就这样理解就行了啊, 等到以后你们如果去学那个会变,你就会完整的知道他是在内存中,是内存中是怎么存储的啊? 现在我们在这里插这里弄个变量啊,这是在这个菜单栏有一个插入的按钮啊,点击一下插入插入,然后局部变量啊, 刚才我们讲了有三个数据类型,对吧?一个是整数型,一个是文本型,一个是逻辑型啊,这三种是常用的,所以我们我们开始学的话,就就先了解这三种就行了啊, 就是有的有的目前用不到啊,等以后用的到再说了啊,这个课程的话就是不断的实战啊,后面会会讲解一些实战的内容啊。 啊,边亮的话,边亮的话他在语言上没有具体怎么规定的,你可以随便定个名字啊啊,比如,比如文本啊,对吧?文本型啊,这个类型是文本型啊, 然后转速啊, 类型是整肃型啊, 然后逻辑啊, 类型逻辑型啊。哎,这个这个变量的话,一般的话我们是在这里啊,在这个整程序的下面叫做局部变量啊,局部变量你每调一次他这个边量, 他会初始的话啊,就是他每一次都是从初始时开始的,比如我们这里啊,我们调试一下啊。调试怎么调试?调试在这里啊,你看一下啊,工具啊,支持库配置 全选啊,然后确定啊,这一步要先弄啊,然后我们调试一下调试输出啊, 三个三个,要调试三个, 这是我第一次录视频,可能以后会弄一些高端的吧,以后会弄一些捏捏捏一些啊,内存逆向之类啊,或者是网页的,还有后面还会增加一些 游戏脚本的啊,主要就是游戏脚本啊,因为我自己本身搞了十几年游戏脚本, 你们看一下啊 啊逻辑啊逻辑, 然后接下来我们就是点一下这个调试的按钮啊, 然后调试按钮他就会出来一个窗口啊,出来一个窗口的话,我们这个按钮,因为单机的话,他是在这里,你点击一下这个按钮的话,他才会这这下面的代码才会执行下来。我们试一下啊, 这里这里我们可以清楚非常清楚的看到啊,他他他他的变量他你每雕一次他会初始画一下,你再点一下啊,对吧?每一次初始画一下文本,他首先是空文本啊,然后整数是从零开始啊,然后逻辑是假默认者,这是他初始值啊, 然后接下来的话就是就是我们把这个编辑框的幺二三啊,我们来来来看一下啊,我们先关掉这里啊 啊,比如这个编辑框一点内容啊, 跟气空一点内容,他的他的属性就是文本型的啊,所以我们用这个边量文本来接收一下啊, 文本等于编辑框的内容啊,然后我们再接着调试, 我们这里弄一个分割线啊,来区分一下啊,然后 然后接着调试一下啊,再点一下按钮啊,他这里是 最近把我们这个编辑框幺二三这个叫做文本型的内容啊的内容给他,给他存到我们这个叫做文本的局部变量里面,他开始的话,你没有给他存储的话,他是空文本啊,这上面是空文本,然后 然后到了这里你给他存储了,他这里就是幺二三了啊, 然后一个整肃型啊,整肃型的话,整肃型的话一语言的话可以 啊,比如到诊室或者直接给电量复制,我们先直接给电量复制吧,后面的转换的后面再说了啊, 比如整肃啊, 整数等于六六六啊,然后我们来接着接着调试输出整数啊, 这上面的我们为了不影响,我们先把它屏蔽掉, 屏蔽掉就点一下左边,然后点一下,点一个单引号啊,就是屏蔽掉,你看一下啊, 点一下按钮,这个整数,他开始的这局部变量吗?他默认就是你,你,你点这个按钮,预备单机可以看作一个指程序,他开始是零,然后你,然后你在这里给他复制是六六六,他是他就变成六六六了。变量就 就是可以改变的啊,可以改你,你在代码的超代,每个代码的过程中随便可随时可以改变他的值啊, 还有一个逻辑啊,我们先我们搞一下啊,然后这一刻就就暂时差不多了, 表示是做逻辑啊,逻辑他他摸的是脚,我们给他改成针啊, 咱们这是假,然后我们在这里给他改成针,他就变成针了啊,就是说明这个变量啊,这个变量你可以把动态的给他改直啊, 比如,比如假设这是个水杯吗?你可以,比如他是原来是空的啊,就是我们局部变量末这里开始是空的啊,然后你可以放水啊,放水之后 你你下次要要放茶的话,他就变成茶了啊,就是变量啊,变量就是这种东西。就是啊,他的直可以改变啊,内容也可以改变啊,然后这是就是第一节课了,然后其他的后面再说啊。

大家好,我是正一,那么这节课啊,我们来讲解第四课,认识 call。 那么什么是 call 呢?我这里呢给大家做了一个总结啊, 在会编当中啊,在底层的会编当中呢,叫做 cao, 那么 cao 呢?也有很多的叫法,呃,在一元当中呢,他叫做此程序啊,火山试窗呢,叫做方法,还有的叫做函数,实际上他们都叫做 cao, 他们是一个东西啊,是一个东西, 最后呈现出来的是函数也好还是方法也好?子,一元当中的子程序也好,最后呈现出来的就是底层的一个会编代码靠的形式,也就说无论你是叫子程序还是叫方法还是叫函数, 最终呈现出来的都是底层的会编代码,那么会编代码呢?我们把它叫做扣。那接下来我们做一个这个小例子, 用一元做一个小例子啊,其他的都是啊,类似的。那么一元当中的子程序,我们都知道他有几种啊,有几种这个类型做个标注啊。一是啊,有参数, 有参数字程序啊,实际上这个就不用不用做了啊,有参数以及有返回值,无返回值,有返回值, 无无返回事这几种,到这大家这个基础 估计都很扎实了,这些就不用多说了啊,还有是无参数的无参数子程序,然后同样的他也是有返回之或者无返回之, 那下面我们做一个一元的这个子程序的一个例子,呃,我们让他有参数也有返回值。然后第三点,在这个底层认识,在汇编,底层 认识子成,认识 cod, cod 吧, cod 参数与返回, 实际上这个就很重要了,因为我们分析这个数据的一些 call 的时候,通常都会大多数都会有参数的啊,这个参数有可能是以某些 id 或者说他的,他的标识以及他的返回值通常都会有,所以说我们用一个经典的这个例子啊, called 带 带参数的以及带返回值的一个子程序来做示例。我要说过啊,他这个无论是子程序还是方法还是函数,最终底层呈现的都是以会编代码 call 的形式。所以说我接下来我们用一语言来封装一个小程序, 这节课知识点较少啊,但是这个小细节呢,我们还不能不讲啊,不讲的话,对于这个零基础,他后面我们找数据的时候,他一定他是啊,不知道是怎么回事的。所以说我们新建一个窗口程序, 把这个按钮名称啊改成一个计算,就用一个加法计算的一个程序吧,标题呢也叫做计算,双击这个计算这个按钮,然后新建一个子程序, 这个是我们这个计算这个按钮下啊,这里是计算按钮下的代码。好,然后这个呢是封装的加法计算 四程序啊,然后把它的名称改一下,叫做 加法计算。那么加法计算一定会有个加数与被加数,加数整数型这边呢是被加数同样 都是整数型,然后也要让他有个返回值吧,因为我们跟大家说过是要有参数也有返回值的,所以说返回加数加上 倍加数。好,这个子程序呢,它就有了两个参数,然后也有了一个返返回值,整数型的返回值。 那我们就在这个按钮下,在这个计算这个按钮下,来调用一下这个加法计算这个子程序怎么调用啊?是不是我们就这样去调用了,然后给他进行一个传餐呢? 然后给他加一个二,这个给他一个八,他的结果计算出来之后他就是十,因为他返回的加数是被加数,加数是他传进来这个二是第一个加数,八是第二个被加数,那么返回加数加上被加数二,加八是不是十?所以说他返回的这个结果应该是十,那我们再给他加 加一个变量,这个就叫做结果整数型的,然后给它接一下, 好,然后我们可以用一个信息框给他弹出来,弹这个结果 运行点击是不是就是十了?这样是不是就完成了?那要注意啊, 要注意这个是这个子程序的一个调用处,也就说他是分为这个代码,这个靠的一个子程序的一个调用处,以及子程序的一个内部代码区,那这里呢?是子程序的 内部代码区域,对不对?这是子程序的 内部代码区,那这个呢?是子程序的一个代码调用处,就是子程序的调用调用处。那么一样的道理说我们这个子程序里边可以欠套很多个子程序,说我在这个 计算这个按钮下,我调用了这个加法计算这个子程序,对不对?这是这个加法计算的内部的一个代码区,那么你们想一想说我这个里边还可不可以调用其他的这个子程序?可以,那是不是就子程序欠套子程序, 对吧?所以说这节课的重点就是理解一下,这是子程序的一个调用处,这是子程序的一个内部的一个代码区域。好,那我们把它静态编译出来啊,这些对 于后面,后面我们这个层层的向上反,呃,会编,呃,逆向的时候啊,一层一层的向上反,他的调用都是有这个, 都是有这个需要这个基础的啊,好,都是有好处的,所以说要把这个基础打好,他是层层嵌套的 啊。然后我们把它进行一个编译吧。静态编译,嗯,编译到这个桌面,我看一下桌面有没有这个残留啊?没有残留啊啊,加法计算, 加法计算保存好,这个不关掉啊,然后我们找到这个刚才编译出来加法计算,把它运行起来,点击一下测试时点,点击没问题啊,然后打开这个工具啊,插地 bug, 这个工具我们附加到这个程序当中,我们打开的这个加法计算,这个程序双击附加 好,附加之后还要告诉大家上上一节课呢,我们认识了这个模块,那么我们来看在这里就可以看到它的这个模块呢是 n、 t、 d、 i、 l 点模块, 他不是我们这个程序的模块,我们要切换到这个程序的模块,所以说点击符号,符号,点击这个符号呢,这里边就构成了我们整个的这个这个程序所运行所依赖的这个 模块都在这,所以呢我们找到我们用户的这个模块加法计算点 e x e, 这就是我们的一个用户模块的一个主模块,这个当前这个程序的一个主模块, 我们双击一下给他切换到这个主主模块,点击,然后点击上面这里就变了,说模块加法计算点 exe, 这个时候他的模块就切换成这个加法计算 ese 这个程序了,那我们要的就是他,所以说我们切换到这,那下面这些呢?就是我们这个代码上面这些,我这个不要看啊,不要看,从这开始我们就可以给他下断,点击,看到没有,他就断下来,代码从这开始执行。然后呢? 呃,我们按 f 八一步一步的向下走看他,他结果已经有了,结果已经有了。再来过来看一下,然后点击 十,这刚才放开的啊,结果是 aa 的话应该就是一个十, a 的话应该就是十啊。那么我们看一下,说下边这些代码 能不能抓到一个标识,能不能抓到这个我们熟悉的感觉,我们再来对比一下这个原码与这与这里来观察一下,看一下有没有熟悉的 地方。我们向下观察,这里有个 push, 八与二,八与二,这个是什么呀?二与八,这个参数是二与八,这是不是就是我们压的那个参数啊?对不对?加法计算的一个参数, 那这个 push 实际上就是一个压餐的一个操作,是会编代码当中的一个。呃, push 压,压入参数,然后呢?呃压餐的话,他是呃先呃先进后出的,所以说他压的是呃,他这里显示先压的是最后 后边呢,所以说他先压的是八,因为呃你向下压的时候,他是先进后出这个铺气八,他先进进到这了,然后再压二的话,这个二就在他上面了。 我们重新来一遍啊,这这里可能稍微的难一点了啊,稍微的难一点,对于零基础来说,我们就直接在这下段,如果点击这个,呃,这是刚才这个没有放开啊,给他放开,再点击,他断下来了, 断下来之后,这个时候我们压餐的话,他会压入这个八,点击看到没有?这个八先压进来了,然后再压进去来,二看到没有? 正这个顺序是不是就是二在上面,八在下边了?所以说你在这看的时候他是八在上面,因为什么?他先把八压进来,先把八进压进来,然后再压进来这个二。因为二在八 上面,先进的后出,先进后出先压的八,他是先压进来的,所以说他后出,那最后压进来这个二他一定是先出,这样的话是不是就与我们这个代码就对应了?我们传的参数二在上面, 八在这个后面,对不对?那同样的这个二在上面,八在这个下面,是不是?所以说压餐这里要注意是先进后出, 先进后出。也就说,呃,你在这个会编代码当中,你看到这个 pose 它压的餐呢?它在这它压的是最后一个的,它是倒着来的。比如说 你,我们正常的参数是一二三四,我们在其他地方正常的参数是一二三四,这样去压的。在其他语言, 那如果你在会编代码当中,他先压的就是四三二一,因为我刚才解释了他是先进后出,他先压四呢?他是放到最底下了,然后三二一,这样的话,你在这看的话,他就是正向的,对不对?就是顺着的一二三四啊?这一点就尽量理解, 那我们既然有熟悉的地方了,那在这看是不是就捋清这个思路了? 这个位置是什么位置?大家看一下是不是就是程序的一个调用处子?程序的调用处对不对?就是呃加法计算 cord 的一个调用处。 cord 调用处啊,我们没有详细的去分析这个 car 啊,这个没有 必要,因为这节课呢,就是呃,就是让大家认识这个,嗯,认识这个,这些呃子程序在绘编呃底层代码当中的一个显示的一个逻辑啊,以及它的一个顺序。好,那 他是一个参数压入两个参数,那这个靠,我们知道在这调用的时候他会有一个结果的一个返回,他的这个返回我们怎么看呢?我们怎么看?他的一个返回值,他返回几个参数?我们压的是 压的是两个参数,是像这个靠压入两个参数,我们看啊,这个靠上面有两个铺系,那就有上面还有一个铺系,这还有一个铺系,那究竟说这个靠他有几个参数呢?正常,我们在这看看这个圆码,他是两个的,那我们怎么确定说他有几个参数呢?那 先来用一些简单的啊,先先简单的大致的方法来确定啊,后面还会讲更更精细的方法,那我们就可以在这下个段我点击一下加法预算啊,这是之前残留的,这断下来了,已暂停。按一下 f 七, 按一下 f 七进入,然后调试执行到返回,执行到返回呢,就是到这个 coul 的一个尾部了,到这个 coul 的尾部,它返回八,返回八,返回八呢?是八个字节。 read 是返回八个字节,这个啊, read 吧, 返回八个字节。那么一个参数,如果说这个靠有参数的话,一个参数占用 四个字节,那两个参数占用八个字节,那我们现在就,呃现在大致上就可以确定说这个靠他是两个参数,对不对?他是两个参数,所以说 我们在按 f 八的时候就跳出来了,这个你可能需要多操作几遍啊,多操作几遍,我们先让他缓冲一下,说我在这下,呃,双击下段点击 他直行到这的时候,他就断下来了,因为这是这个 ctrl 的一个调换处啊,他断下来了。断下来之后,呃,我们按 f 七呢,是进入这个 ctrl 的内部,说这个 ctrl 断的就是在这啊,这里是举例啊,说现在断的就是在 啊,断在这个子程序内了,在后边他显示的是 call, 那我想要进入这个 call 的内部来观察他代码怎么进呢?在 绘面当中我们就哎摁 f 七,摁 f 七这个就是这个 call 的一个内部了,就进入这个 call 的内部了。那说我们调用这个加法计算他有几个参数,怎么去确定呢?看他的一个返回,那我们用调试执行到返回这个是这个这个 子程序的一个尾部,就说直接到他这个尾部了,你中间有多少代码?我都不看了,说直接跳到他的这个尾部,跳到他的尾部。他这有个瑞特,实际上就是这个返回,就是这个返回, 他这里返回呢?是返回他的一个字节,返回的是字节,一个参数占四个,那么返回八呢?就是两个参数啊,暂时就这样去理解,那稍后呢,我们就来做一个总结,说,呃,这是 cao, 说如何判断 cao 的一个参数呢?说我们 可以进去,进去之后看一下他这个返回,返回多少个字节,那一个参数占四个字节,那刚才我们也做记录了,说这里返回八个字节,那他明显他就是两个参数,是吧? 好,那这就是一个子程序或者函数在底层会编,会编代码当中的一种显示上面这些,嗯,上面这些木啊,这些会编指令啊,撒吧这些啊这些我们后面都会讲的,不要着急啊,先把这节课的知识把它学会, 就说这个 car 啊,然后如何进入下端之后 n f 七进入,那 n f 八呢?是一步一步的向下走,我们再来啊,再来给大家精细的讲一下,点击按一下 f 八,它是一行一行代码向下走, n f 八, 好, n f 七呢?说我们走到了一个 car 的时候,我想要进入这个 car 的内部来观察他的会编代码,我们就 n f 七进入,他就会进入这个 car 的内部去 执行啊, f 七 f 八还有什么呢?运行到返回,运行到返回呢,就是直接到这个靠当前这个靠的尾部说,我在这说我不想让让他一步一步的向下执行这个绘本代码,我直接让他跳到他的尾部,那我就按一下这个运行到返回, 他直接就会跳到他的尾部了啊,这就是整个的一个常用的一个用法。好了,那么我们这节课啊,就到这里啊,这节课对于零基础来说也是稍微难以理解一点啊,咱们多多的去锻炼啊,多多看几遍,一定要跟着啊操作这节课 重点就是啊靠着一个压入参数,然后啊如何看他的一个参数,以及啊看他这个返回的一个字节,先把这些啊大致的一个 基础知识先把它尽量的去掌握,那么我们前面这节课的这个基础掌握了之后,下节课开始我们就要小试牛刀啊,用 c e 配合插地 bug 来把它的血值 还有一些其他的属性把它找出来,找出来之后我们显示用一元把它读取出来。好了,我们这节课啊就到这里,我们下节课再见。

大家好,我是郑一,那么从今天开始啊,我们来讲二零二三年的最新的易语言内存逆向系列课程的第一课,游戏数据交互的原理以及啊熟悉一下 c e。 呃,那么这部分课程啊,是我们整套的内存课程当中的下部分啊,上一部分呢是我们讲的是 啊一元乐玩涂色讲,呃,已经讲解完成了啊,前面我已经是发过很多的课程, 那么从这一部分开始,我们更新下一部分内存部分的课程,大家可能都知道啊,我们做的课程呢是细节是比较完善的啊,是非常完善的,所有的这些框架啊,还有一些这个实际的操作啊,都是完整的 好。呃,那么我们不多说啊,这个这一部分呢,同样呢也是在实际的操作过程当中带领大家去把这些知识点呢,把它啊学会, 那还是按照我们目前的一个学习方式,以前学习呢,可能是会把这些会编的代码前期呢先给大家通通的讲一遍 啊,然后呢再进入一个查找,但是我个人感觉啊,呃,这样讲的话,可能大家把一些会编的基础命令认识之后,可能 也是记不住啊,因为大多数都是这样反应的,那我们不如说在这个逆向的过程当中发现这一段代码是我们需要的,那我们把这段代码呢详细的进行抛 剖析,剖析讲解,在讲解的过程当中呢,我们也把这些会编代码就把它记就把它记下来了啊,这样更加的深刻,大家学习起来可能就 嗯不会那么的浪费时间。同时啊这种方式我是个人是比较认可的,说有一些会编代码,说你前期可能啊,讲了三十个,四五十个的,这样会编代码可能你用了啊,一周左右的时间你全部都记住了,那你当你在吸收别的知识的时候,嗯, 你就忘记了啊,你是记不住的,所以说就采用这种方式,我们把这个数据分析的时候,把这些数据都分析,分析的时候出现了这些,包括二查数啊,列表啊,还有一些这个普通数组啊,这些都讲解一遍之后,他自然而然的这些绘本代码里边 就有我常用的这些基础会编命令,所以说在剖析这些这个数据的时候,自然而然的就会讲到了,然后我们再用代码把它这个进行一些功能的实现,这样是一定可以记住的。 好了,那么我们就正式进入今天的课程,数据交互的原理呢,大家要懂第一点,所有联网的软件,网络游戏等啊,所有联网进行联网的软件,那 包括网络游戏,接下来我们用网络游戏啊做称呼啊,不仅是他啊,只要是联网的都是这种形式啊。 客户端啊指的是玩家本机下载的游戏与服务端,那么服务端呢?就是游戏公司的服务器, 我们为什么要把这个游戏下载到本机啊?那么他就是客户端,然后,呃,游戏公司的服务器呢?叫做服务端。像你打怪一些升级了,说你我在这个本机下载的游戏,我砍了十个怪升级了, 那你这是需要与游戏公司的福气去进行交互的,他反馈给你客户端说告诉你可以这个升级了,他就给你这个升级啊,就是就说客户端与服务端他是要实时进行交互的, 那他们两个的通信都是用封包进行通信,那什么又是封包呢?这里又产生了一个问号,又产生了一个疑问,说客户端与服务端 通信都是用封包进行的,那封包呢?记某种协议组成的一段字阶级进行, 那这里又产生了一个协议,说某种协议,那在这啊,我们稍后会有解释。首先通信都是用封包来来进行的,那这个封包又是什么?大家可以想象成两个人打电话,那么封包呢?就是说话的内容, 说 a 给 b 打电话,那么他们两个中间说的什么话呢?就可以看成是封包,就说客户端与服务端,客户端通过这个发包函数发给服务端的时候,他们两个这个内容就是一个封包, 那封包是某种协议组成的一段字结集,那这个协议又是什么呢?协议可以看成是封包的余种, 那两个人打电话还是用这个例子,两个人打电话,一个用中文,一个用 英文,那这样可以吗?就说一个会中文,一个会英文,他们两个是交流不了的。所以说啊,你告诉这个,呃, a 与 b 打电话,你告诉 b 说你用这个中文, 稍后我给你打电话,你用这个中文来给我沟通,来与我沟通啊。打电话的时候这两个人都用中文,是不是他们两个就可以这个相互听得懂啊? 对吧?那这就是一个协议,协议呢?总结一句话,就是可以看成是封包的一个鱼种是用,用什么?这个,呃,用什么鱼种来进行一个通信啊? 总结一下,联网软件客户端和服务端通过约定好的协议用封包进行通信。上面这第一点呢,讲了什么是封包,然后又什么是协议,还有客户端与服务端的一些知识。 好,第二点,网络游戏的代码的执行流程都是在本地计算机,这句话可能说的比较多啊,字体可能比较多啊,我用一个简单的就直白一点的这个啊,讲解吧,可能大家更容易理解啊。我们用一元来举例说,我们写了一个这个, 嗯,显示时间的一个软件用一元来写的,那你在写这个代码的时候,你是不是需要把这些代码都添加到一元当中啊?我们打开一个吧,我随便的打开一个啊。 好,我随便打开这个原码, 呃,我们用这个全部暂停下边。这个,呃,代码 来举例说我们点击了全部暂停,那你想要这个功能,是不是就把这些代码你都要写在这个软件里边?我们静态编译的时候啊,是不是都编译在里边了?然后你发给用户使用的时候,实际上这个代码在哪?是不是就是 在用户接收了你的这个软件内?那么游戏呢?游戏的客户端,你下载的这个游戏,你就可以把它看成是一个大型软件啊, 对吧?他大型软件的代码是不是都在这个客户端内啊?那我想要想要找他的一些功能,是不是我们附加 ce 或者这个 od 就可以找到他的一些功能?靠, 因为有一些功能我们是写在这的,是写在这个软件内的,对吧?但是一些重要的数据它是不会 呃,他是呃,需要这个实时的去呃与这个呃服务器进行通信的啊,这点要说明,但是大家要理解说我们为什么说网络游戏的代码执行的流程都是在本地计算机把这句话理解,那就是因为这点, 因为本地的这个游戏的客户端呢,你可以把它看成是一个大型的软件,因为这些一些功能的代码你都是写在这个软件内的,对不对?所以说你会找到他的一些功能,靠,说我全部暂停,这就是一个靠,这就是一个功能。如果找到这个 call 的时候,那我一调用是不是他就执行了全部暂停?无论是这个 e e, x e 的程序还是游戏的这个,那么它底层呢?都是一个呃,当你用这个 o d 或者 c e 的时候,它都是一个底 层的代码,就是会编代码啊,这点要注意,就说你这个,它在会编显示呢,就是一个 coul 的形式,这个子程序。 好,那么大家理解了,这个网络游戏呃的代码的执行流程都是在本地的计算机,那知道这个了,就说有一些功能卡,我们附加之后就可以找到他的一些啊那功能, 那通过逆向分析获得代码,获得游戏功能 car, 我们在调用 co 实现对应的功能,这是刚才我直白直白的讲的 靠的一个调用流程,那这也有必要说靠的一个调用流程功能,靠,然后封包,靠加密封包,然后用这个发包函数进行一个发包, 这个发包函数呢?还区分呃直接发包以及现成循环发包。这个后面我们会讲的啊,会讲的, 上一套课程也讲过这个跳出循环法包,三十二的,六十四的已经讲了很多个游戏啊,好,你先记一下他的这个流程,因为这节课是一个啊数据交互的原理,说知道我们在游戏公游戏当中的一个动作, 可能说,呃,我们用这个单机游戏来视力啊,说我想要一个跑动的一个动作,可能是鼠标的一个,呃,鼠标,鼠标键盘的一个动作,然后呢?会有一个这个,呃,这个不,不漏出不漏出来啊, 可能会有一个功能靠,然后呢?呃,功能靠呢?封包,靠,然后再把这个封包进行加密,因为大多数的这个网游啊,他都是这个加密的封包,不可能说一点这个不加密的啊。呃,然后用这个发包函数发送,把这个数据包呢发送 给这个游戏公司的服务器啊。好,直到这个流程。然后我们再来看第三点啊,也是刚才也讲过啊,功能康呢,就是相当于一元中的一个子程序,十一中的函数刚才设立的时候全部这个暂停的时候,那是一个子程序,对吧?嗯, 他你用这个 c e 或者用这个,呃, o d 或者叉 d bug 啊,附加之后啊,他最终展现的就是一个会变代码 co 的形式啊。啊,在高级元当中, c 中呢,他叫做函数 数据类型,这一点也要注意说我们写一个亿元程序的时候,中间会用到很多的数据类型,还有一些这个啊,变量的数据类型,对吧?那么一样的游戏他就是一个大型程序,程序中又会分为很多板块啊, 一元叫做自定义数据类型,高级元中叫做类,如人,人物的一些基本信息,人物类背包的一些信息背包类都包含着不同的数据类型,这个吧,第四点你尽量的去理解就可以了,如果你看过我前面的那个自定一元的自定义数据类型,到这你就理解了 啊,也就说啊,不仅是常用的这个数据类型,还有一些自定义的数据类型,就这一个类啊,这个到我们分析一些这个涉及到这个类的数据的时候,我们会啊,讲的啊,会讲的, 那这几点啊要去理解,然后啊,我们接下来就来熟悉一下这个 ce 啊啊,我开了两个啊,一个英文一个中文啊,后面课程我们用这个英文的啊,开中文的目的呢?是让大家做 下对比,说我看英文啊,刚打开的时候我不知道他是做什么的,那我们就可以用这个再开一个中文来看。首先我们来看呃,这个左上角的这些菜单啊 文件,然后有新建扫描标签,清空列表,打开进程保存,另存为这些熟悉就可以了。编辑,这里还有个设置,点击设置,然后 右上角这这个图标下边也有个设置,点击他,他们是同等的效果啊。编辑,然后设置,还有菜单显示,呃,辣椒本,创建窗体,添加文件。第三 d, 这还有个帮助,都可以看一下,还有这个教程 大家可以看啊,如果说你是非常初级的一个小白,一点 ce 都没用过,你可以玩一玩这个教程啊,可以去看一下, 然后下边还有这三个小图标,这个是什么呀?这个就是选择一个打开进程啊,选择一个应用程序给它打开, 然后这是啊,打开实体表和未受保护的这个,然后这是保存你当前目前的一个数据,这些后面我们都会讲解啊,点击一下这个设置,点这设置也可以点击这个编辑,这设置也可以啊,默认就行了啊。我给大家看一下我的设置,因为接下来的设置呢,是针对于这个单机游戏的啊。 好,看一下工具,这你们我每个界面啊,都给大家看一下,快速的看一下,你们跟着来, 照着来做啊,跟着来做常规设置,这这些都勾选,然后仅在标签的时候,这些都勾选啊,仿照来这个来设置,还有工具,这这个勾选热键 这些,这这这些都是无所谓的啊。禁止随机。这扫描设置,这扫描设置,这要看一下啊,默认开启快速扫描这两个,然后在这这些都勾选插件没有啊,插件没有,没有添加 语言,这你可以反选择这个英文啊,但是咱们就用中文吧。调试器选项在这设置的是使用硬件断点,这个要进行设置啊,然后这些使用 windows 调试器, 如果说你不是用咱们的这个单机呢?你用你的游戏呢?你用 windows 的调试器不行,那你就用这个 v e h 的这个要跟你们说,不是说非要用这个的啊。好, 然后点击下这个 log, 这些你们都去。呃,基本的照着做就行了,那下面再再讲几个知 知点啊,二 d 游戏与三 d 游戏,二 d 游戏呢?大多数的这个数据啊,他都是用这个二 d 或者二点五 d, 呃,大多数他都是用这个整形,比如说啊,人物的血值,还有现在的这个是, 这个是快捷栏啊,快捷栏,快捷栏显示的这些红药以及蓝药的数量,二 d 或者二点五 d, 那么常用的他就是一个用整数型来表示这些数量 啊,那如果是三 d 的游戏呢?他的血值或者蓝量啊,还有这些数量,呃,他通常用浮点型啊,坐标啊, 人物的一个坐标,三 d 游戏的一个人物的一个坐标,还有一些其他的数据,他常用的是浮点型啊,就是说你们就记住就行了。说我们三 d 游戏大多数常用 用的是用浮点型,他的坐标啊,然后这些呢?他都有可能用浮点啊,然后我们二 d 或者二点五 d 的时候呢啊,他的坐标,呃,常用的是整形,然后这些呢?都常用的是整形,整形在这是如何表示呢?再看一下右侧这新的扫描,再次扫描,撤销扫描 啊,精确数值值大于值小于搜精确数值,那么比如说啊,我们这有一个五,那我就搜五,这是精确数值,对吧?然后你还可以其他说值大于,介介于两值之间, 然后减少的数值是数值增加了。先去熟悉一下,后面我们都会用到这些类型进行扫描啊,先熟悉好,我点击一下新的扫描啊,之前这个是扫描过,下面还有个 数值类型啊,二进制字节啊,二字节,四字节,八字节,单双浮点,这些字节,数组字符串等等这些都去熟悉一下啊,这些勾选呢,都跟着来勾选一下啊,我们先来简单的附加一下 附加这个单机啊,单机游戏啊,附加。然后我用这个红药先来做视力,他是一个应该是一个二点五 d 的游戏啊,他不是三 d 游戏啊,好,我们就按照整数形来搜索啊, 这个数量啊,红药数量这里显示五,对吧?四字结呢,代表的就是一个整形。好,我们点击首次扫描,他有了这么多,那我们就吃一个药,他变成了四个,那我们点击四,就是在这些扫描到的数据的基础上呢,我们再次扫描,在这里边去筛选, 看哪个变化成了四,再次扫描,所以说他叫做再次扫描。好,那我们很明显这个不是他变成了六了,对吧?目前来说他还是四,所以说把它删除啊, 那我们就可以把它脱下来,脱下来之后双击这个数值给他改一下,看能不能给他变动,改为六,他没有变啊,血脂一般是不能变的,因为这个血脂要变的话,你不是无敌了吗?所以说他这些都是属于重要数据的啊, 那我们可以再吃一个,说吃到三,看他会不会这个变到三,跟着变到三确实是变到三了,那这个就证明说是我们血值显示血值的一个 显示血值。好,那么这就是一个简单的一个小试牛刀啊,先熟悉一下这个 c、 e, 还有些其他的说这些还有这些 都可以去熟悉一下,说我有一定的基础了,那你可以就向上追一下,提前的去预习一下,因为下节课开始啊,我们就要啊,以这个人物的一些属性来作为一个切入点,进行一个查找,先提前的去预习一下,然后我们再用便利工具啊,再用一元来把它显示出来。 整套的课程啊,我们从这个模拟再到这个逆向,全程都是实际的操作,进行一个串联的啊,串联的不是说单独的说,我们用一个小按钮下边单独的一个靠进行串联,而是整体的把我们的框架进行一个 完整的串联啊,到这相信大家都听懂了,那么我们就不多说了啊,大家把这节课的知识点啊,基础的部分把它理解,我们下一节课再见。

啊,接下来给大家录制第十七集啊,就是啊,大漠沼字还有识别字啊,大漠的话早志,还有识别字的话,要先建立一个大漠智库啊,我们在这里又见新家啊, 海文版大漠是酷, 然后我们在弹幕工具上面啊,就是这样的啊,打开或编辑新建字库, 然后我们刚才新建的大漠支付把它添加进来啊,然后接下来我们我们就用这个使用方法来实验吧,我们这样啊, 嗯,抓头啊,抓头之后把这个使用方法给他都抓上来, 抓上来之后要在这里啊,点一下这个,看我操作点一下这个小格,小格的点啊,然后移到这个使用方法上面啊,他这里是黑色,我们就点到黑色里,点一下出来了啊, 然后我们提取点赞多个,看一下是什么样的。有一个舍字,有一个用字,有一个方字,有一个 法式,把它添加到字库里面。十,添加到当前字库用 添加到当前字库方,添加到当前字库法, 添加了当今支付他这里这个工具上面,这里就代表已经识别成功了,然后我们要在代码上面试一下,一个是找字啊,一个是一个是识别啊, 我们上一次的代码这里这一段给它屏蔽掉, 早知的大末叫做 fire 啊,这里是大末点 fire 呃, s t r fire s t r 啊, 范围的话,范围的话,这这找字或者识别文字,不用整图,我们就再点一下抓图啊,这这这个范围找就行啊,这里对吧, 这这这里就是他的范围了啊, 使用导致的话,要先给他呃,设置一下智库的 的一个路径啊,叫做 set s e t 啊, 这些的话在大漠帮助文档都能查到啊,都能随便都能查到,这有有,这个帮助文档要经常查,然后这些命令不用记住,一般的话我们可以把大漠的命令看成一个整程序啊,然后就提供参数,得到结果就行。这里啊,返回这整数型 两个参数,第一个参数字库的需要取值为零至十九,最多支持二十个字库啊,字库文件名啊,它的路径这里有,例子,是安静,静静的例子 零,呃,路径就是取运行末路 g r 实验文本,实验文本点 tst, 这里可以吃啊,然后看一下这里面需要什么参数, 要找的字,使用方法 是 ps, 这是它的色彩描述啊,色彩描述,我们是这里啊,在这里,这个栏有一个色彩描述啊这里,然后复制下来。 行车度一般零点九就行,颜色 x y 三点一二三三的。大漠一样是变体型啊,我们调试一下 早至 点一下实验文本,系统找不到指定的文件,但是路径报错了。 实验文本我看一下啊,是不是弄错了 啊,这里叫大漠车库,不是实验,我们把它改一下啊,所以说我录视频没有备,没有,没有备课啊, 大漠之苦, 呃,它,它有,它不是负一,就代表找到了,这里是找到了啊,然后我们接着来 o c r, 就是识别啊,一般的话弄个变量接收啊,返回文本,文本 ocr, 呃,文本性 范围跟上面的一样啊,范围跟上面的一样啊, 接下来就看其他的, 他就还有两个参数。呃,色彩描述啊,色彩描述是一样的,相射度 零点九, 返回原本,返回原本, 调试一下啊, 点一下能找到他这里有数据能找到啊,然后假设我们把这个给挡住啊,看一下能不能找到他。这是前台的,肯定是找不到的 啊,找不到这个负一,它是返回是负一,然后返回是空文本啊,没有识别到是空文本, 找字找不到就是负一,返回是负一啊,然后十 o c 啊,如果 o c 啊没有数据,他就是空文本啊,空文本在这里 不挡住是可以的。我们这个没有绑定窗口,没有绑定窗口就是针对整个电脑屏幕的, 找到坐标,然后 o c r 出结果的文本啊,这一集就差不多了啊,就这样啊,看一下这个怎么停止的。