首先看下我们的标准PE格式的二进制.(使用Winhex,或者010 Editor都可以)
?
可以看出,生成的时候默认会为我们生成.const常量区,那么我们可以让它和代码区合并吗?...//机器型号,作用是区别这个exe是哪个CPU可以跑的.重要....在这里需要注意的是 可选头大小,文件属性,以及机器型号. 其余的自己看看.
1.机器型号:
机器型号,在PE中的定义,在VC++6.0中已经给出了....这个地方是我计算偏移得出,根据结构体的类型大小,可以自己计算偏移得出....可以看出,可选头的大小是0x00E0 大小,换算成10进制就可以知道,E0是224字节大小,所以根据这个,可以计算出可选头大小
3.文件属性
文件属性紧跟在E0 00 后面,它是0F 01
文件属性是按照位来的