初识硬编码(x86指令描述)

硬编码


任何一个程序其实都可以看做两部分组成的,指令数据

cpu并没有明确的规定哪些要当做数据,哪些要当做指令来执行,把数据给EIP只要是遵循了指定的格式(x86 x64 ARM),cpu都会当做指令来执行

x86/x64架构应该遵守的指令格式

inter手册:Intel® 64 and IA-32 Architectures Software Developer Manuals

x86和x64在指令格式和描述上是基本相同的,x64只是在x86的基础上做了一些额外的扩展

inter手册位置: Volume 2, Chapter 2: 2.1 Instruction Format

x86
初识硬编码(x86指令描述)_第1张图片

inter手册位置: Volume 2, Chapter 2: 2.2 IA-32e Mode

x64
初识硬编码(x86指令描述)_第2张图片

在学习硬编码之前,我们需要有一个辅助学习的工具,可以把二进制转换为汇编代码(反汇编引擎)推荐x64/32dbg或者是OllyDBGIDA pro

汇编指令最少占1个字节,最多15个字节

你可能感兴趣的:(硬编码,汇编,硬编码,反汇编)