17网站一起做网店池尾商圈,做跨境电商在什么网站选品,最新新闻热点事件ppt,云南楚雄天气预报免责声明#xff1a;内容仅供学习参考#xff0c;请合法利用知识#xff0c;禁止进行违法犯罪活动#xff01;
本次游戏没法给
内容参考于#xff1a;微尘网络安全
工具下载#xff1a; 链接#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…免责声明内容仅供学习参考请合法利用知识禁止进行违法犯罪活动
本次游戏没法给
内容参考于微尘网络安全
工具下载 链接https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提取码6tw3 复制这段内容后打开百度网盘手机App操作更方便哦 上一个内容5.第二阶段x86游戏实战2-认识内存
上一个内存里写了关于内存的东西最主要的是最后的写那一幅画面脑子里一定要有那幅画面不管在计算机中看到的内存是什么样都套那幅画面搞起来会很简单本次写的是程序的流程既然是要逆向那就要知道一个程序的流程要知道一个正向程序员是怎样写的代码他/她写代码是个怎样的流程这就需要有一个了解
先不写关于代码的先写一个生活当中的流程 比如早上醒了然后起床然后洗漱假设都洗漱然后吃饭假设都会吃早饭然后生活工作的工作上学的上学这种然后忙了一天睡觉 简化的流程就是 醒了 -》起床-》洗漱-》吃饭-》生活-》睡觉这就是一个流程大纲然后就会按部就班的一步一步去做 然后 醒了 -》起床-》洗漱-》吃饭-》生活-》睡觉 这是一个流程大纲再细化一点比如起床怎么起床起床大众的过程是掀开被子然后坐起来然后下床然后穿衣服然后穿鞋然后就完成起床这个过程然后可以说起床是由 掀开被子然后坐起来然后下床然后穿衣服然后穿鞋 这些动作组成的 然后来到写游戏代码中它也和起床睡觉一个道理比如打怪物首先要寻路到有怪物的位置然后选择怪物然后打怪然后捡怪物的掉落物 简化的流程 寻路到有怪物的位置-》选择怪物-》打怪物-》捡怪物的掉落物 这样的一个流程 然后寻路到有怪物的位置它就由 上坐骑 -》打开地图 -》寻路 -》确认到达 -》下坐骑 这样的一个流程组成这些流程都做完了寻路到有怪物的位置就算完成了然后选择怪物、打怪物、捡怪物的掉落物也就是这样的一个道理然后 上坐骑 -》打开地图 -》寻路 -》确认到达 -》下坐骑 这每一个步骤都是一段代码然后代码它也是有内存地址的也就是会有代码的头部代码刚开始的位置然后看下图红框当代码执行到 寻路到有怪物的位置位置之后它就会跳转到 上坐骑的代码然后上坐骑的代码执行完再执行打开地图的代码直到执行完下坐骑的代码然后执行完下坐骑的代码之后代码就会跳到选择怪物的哪里再执行选择怪物的代码其它的也是这个道理这样的一个步骤叫做call函数调用或者说调用函数 然后就有一个问题既然 寻路到有怪物的位置 这个东西是 上坐骑 -》打开地图 -》寻路 -》确认到达 -》下坐骑 这个流程组成的为什么不直接写成下图的样子这时因为 上坐骑 -》打开地图 -》寻路 -》确认到达 -》下坐骑 这一段流程不只有寻路到有怪物的位置会用这能还会有寻路到某个NPC某个玩家身边会用到 上坐骑 -》打开地图 -》寻路 -》确认到达 -》下坐骑 这个流程如果按照下图中的写法会重复写 上坐骑 -》打开地图 -》寻路 -》确认到达 -》下坐骑 它们的代码按照上图的写法只需要写寻路到有怪物的位置就可以不需要写重复写 上坐骑 -》打开地图 -》寻路 -》确认到达 -》下坐骑 这一段流程这一段流程只需要写一次就行了比如写寻路到某个NPC时直接去用 上坐骑 -》打开地图 -》寻路 -》确认到达 -》下坐骑这一段流程就可以比如寻路直接告诉寻路到哪去就行就不需要再写寻路到NPC的代码这样就会节省很多很多时间少写很多很多代码 以上是正向程序的开发流程不理解、看不懂也没事后面直接看逆向过程多看看就能明白了 然后是常量和变量 常量意思是程序运行过程中不会变化的数据或者说只要数据存在了就不会变了或者说整个程序运行过程中只会发生一次变化 变量意思是程序运行过程中会发生变化的数据 进程和线程 进程在 3.第二阶段x86游戏实战2-认识强大的CE找血量什么是进程 里写了现在对它再做一个补充进程里面的数据有代码有常量和变量变量一般就是比如qq里的网名、聊天数据、好友信息这种常量的数据表面上一般看不到然后双击一个exe文件会启动一个进程这个进程不会重复如果双击两次exe文件也就是运行两次程序这样的是两个完全不相关的进程不算是重复的进程然后每个进程都会有一个进程id如下图 然后进程指的是程序的代码代码也属于数据的一种、程序的数据等这些也仅仅是数据这意思就是进程并不会执行或者说运行代码进程只是一个内存空间内存空间里有程序所需要的数据和代码并不会使用数据和代码那谁来使用这里又有新的概念了线程线程会执行进程里的代码执行了代码也就使用了数据一个进程里会默认有一个线程这个线程被称为主线程一个进程里可以有多个线程线程有很多由操作系统控制多线程的进程比如现在想起床和洗漱一起做如果只用主线程去做它就只能先起床再洗漱或者先洗漱再起床这时可以开启一个新的线程让新的线程做洗漱让主线程做起床这样就能边起床边洗漱了当然线程执行代码也不是这样简单的现在先这样理解