逆向工程(二):从一个简单的实例来了解PE文件 笔记1
去掉消息框,是在ollydbg工具下,在程序的messagebox段,改变程序代码运行顺序,跳过程序框段代码段,从而去掉程序框。
什么是PE文件?PE(Portable Executable)文件是Windows操作系统下使用的可执行文件格式,仅在wimdows系统下可用。
一
1.VA指进程虚拟内存的绝对地址,RVA(Relative Virtual Address,相对虚拟地址)是指从某基准位置(ImageBase)开始的相对地址。
2.PE文件被执行时,PE装载器会为进程分配4CG的虚拟地址空间,然后把程序所占用的磁盘空间作为虚拟内存映射到这个4GB的虚拟地址空间中
3.每个CPU拥有唯一的Machine码
4.PE文件把代码,数据,资源等依据属性分类到各节中储存。NumberOfEsctions指文件中存在的节段(又称节区)数量,也就是节表中的项数。该值一定要大于0,且当定义的节段数与实际不符时,将发生运行错误。
5.SizeOfOptionalHeader用来指出IMAGE_OPTIONAL_HEADER32结构体的长度。PE装载器需要查看SizeOfOptionalHeader的值,从而识别IMAGE_OPTIONAL_HEADER32结构体的大小。
6.1.Magic
7.SectionAlignment,FileAlignmentPE文件的Body部分被划分成若干节段,这些节段储存着不同类别的数据。FileAlignment指定了节段在磁盘文件中的最小单位,而SectionAlignment则指定了节区在内存中的最小单位(SectionAlignment必须大于或者等于FileAlignment)为IMAGE_OPTIONAL_HEADER32时,magic码为10B,为IMAGE_OPTIONAL_HEADER64时,magic码为20B
8.数据目录既有地址也有大小。
去掉消息框,是在ollydbg工具下,在程序的messagebox段,改变程序代码运行顺序,跳过程序框段代码段,从而去掉程序框。
什么是PE文件?PE(Portable Executable)文件是Windows操作系统下使用的可执行文件格式,仅在wimdows系统下可用。
一
1.VA指进程虚拟内存的绝对地址,RVA(Relative Virtual Address,相对虚拟地址)是指从某基准位置(ImageBase)开始的相对地址。
2.PE文件被执行时,PE装载器会为进程分配4CG的虚拟地址空间,然后把程序所占用的磁盘空间作为虚拟内存映射到这个4GB的虚拟地址空间中
3.每个CPU拥有唯一的Machine码
4.PE文件把代码,数据,资源等依据属性分类到各节中储存。NumberOfEsctions指文件中存在的节段(又称节区)数量,也就是节表中的项数。该值一定要大于0,且当定义的节段数与实际不符时,将发生运行错误。
5.SizeOfOptionalHeader用来指出IMAGE_OPTIONAL_HEADER32结构体的长度。PE装载器需要查看SizeOfOptionalHeader的值,从而识别IMAGE_OPTIONAL_HEADER32结构体的大小。
6.1.Magic
7.SectionAlignment,FileAlignmentPE文件的Body部分被划分成若干节段,这些节段储存着不同类别的数据。FileAlignment指定了节段在磁盘文件中的最小单位,而SectionAlignment则指定了节区在内存中的最小单位(SectionAlignment必须大于或者等于FileAlignment)为IMAGE_OPTIONAL_HEADER32时,magic码为10B,为IMAGE_OPTIONAL_HEADER64时,magic码为20B
8.数据目录既有地址也有大小。