免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!
本次游戏没法给
内容参考于:微尘网络安全
上一个内容:7.x86游戏实战-C++实现跨进程读写-跨进程写内存
工具下载:下载 OllyICE_wc.zip这个
链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3
提取码:6tw3
复制这段内容后打开百度网盘手机App,操作更方便哦
打开OD
用管理员启动NewOd.exe
下图菜单栏里的打开和附加,打开的意思是用OD运行一个程序,附加是自己运行一个程序(双击exe文件运行程序)让OD附加上,一般都会使用附加
然后点击附加,然后随便找一个程序附加,附加窗口里面显示的是进程(程序运行起来就被称为进程),然后想附加的进程可能会没有,这时重启电脑试试,如果还没有后面会有解决办法
附加完之后,会有下图的四个区域,代码区域、寄存器区域、内存区域、栈区域
下图红框位置是当前程序状态
停止的状态,效果就是附加的程序卡死
停止状态点击下图红框位置就会让程序运行起来
有时候它的窗口会变成下图红框的样子
如下图鼠标放到边缘变成箭头,然后鼠标左键按住左、右、上、下拖动一下就能明白了
或者点击下图红框位置的C
如下图有时会弹出其它的窗口搞的很乱,然后按C也没有用
这时双击下图红框位置就可以了
代码区
代码区为了好理解可以称它是代码段(就是程序中专门用来放代码的内存空间),如下图它有4列,从左往右分别是 代码的内存地址、硬编码、汇编代码、注释
代码的内存地址,就是内存地址所代表的空间里的内容视作代码
硬编码是cpu看的(英特尔、AMD、苹果的m系列)不同处理器用的指令集不一样,然后就会导致硬编码不一样
汇编代码,汇编是通过硬编码翻译的(老前辈们就是用硬编码写程序,后面使用硬编码实现汇编语言,又通过汇编实现c语言)
注释是给人说明这段代码什么意思
内存区:
内存区又称数据区(为了区分数据是代码还是数据(数据这俩字很抽象,这里可以理解成除了代码以外的所有东西)),如下图红框,首先ctrl+G弹出下图里的弹框,然后输入0x77166C1C,输入完点击ok,0x77166C1C是代码的内存地址
然后可以看到下图红框,可以通过数据区来看代码,但是通过数据区看代码就只能看硬编码了,然后在代码区看代码它会自动给翻译汇编代码
同理在代码区看数据区的内容,可以看到它翻译的汇编代码是乱的(后面就知道为什么说它是乱的了)
到这应该可以明白一件事,同样是数字(数据)对它的不同看法会有不同的样子,数据本身没有任何意义,有意义的是我们如何去解析,有一个东西叫数据结构,通过上方的例子带入数据结构应该可以很好理解
OD菜单的说明
看这位大哥写的(写的有点官方主要了解了解,看不懂也没事,后面用的时候会用白话写):OD窗口介绍_od界面介绍-CSDN博客