DOS头 IMAGE_DOS_HEADER

摘要:
27e_Lfanew:一个32位可执行文件扩展名字段,用于指示DOS头之后的NT头与文件起始地址的偏移。
 1 IMAGE_DOS_HEADER STRUCT
 2 {
 3 +0h WORD e_magic    // Magic DOS signature MZ(4Dh 5Ah)     DOS可执行文件标记
 4 +2h WORD e_cblp    // Bytes on last page of file
 5 +4h WORD e_cp    // Pages in file
 6 +6h WORD e_crlc    // Relocations
 7 +8h WORD e_cparhdr   // Size of header in paragraphs
 8 +0ah WORD e_minalloc   // Minimun extra paragraphs needs
 9 +0ch WORD e_maxalloc  // Maximun extra paragraphs needs
10 +0eh WORD e_ss            // intial(relative)SS value        DOS代码的初始化堆栈SS
11 +10h WORD e_sp     // intial SP value                       DOS代码的初始化堆栈指针SP
12 +12h WORD e_csum     // Checksum
13 +14h WORD e_ip     // intial IP value               DOS代码的初始化指令入口[指针IP]
14 +16h WORD e_cs     // intial(relative)CS value         DOS代码的初始堆栈入口
15 +18h WORD e_lfarlc     // File Address of relocation table
16 +1ah WORD e_ovno         // Overlay number
17 +1ch WORD e_res[4]      // Reserved words
18 +24h WORD e_oemid      // OEM identifier(for e_oeminfo)
19 +26h WORD      e_oeminfo   // OEM information;e_oemid specific
20 +29h WORD e_res2[10]   // Reserved words
21 +3ch DWORD   e_lfanew     //  Offset to start of PE header      指向PE文件头
22 } IMAGE_DOS_HEADER ENDS
23 
24 
25 
26 e_magic:一个WORD类型,值是一个常数0x4D5A,用文本编辑器查看该值位‘MZ’,可执行文件必须都是'MZ'开头。
27 e_lfanew:为32位可执行文件扩展的域,用来表示DOS头之后的NT头相对文件起始地址的偏移。

免责声明:文章转载自《DOS头 IMAGE_DOS_HEADER》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java Graphics2D类的绘图方法Mac OS X操作系统常见快捷键集锦下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

浅析MySQL 8忘记密码处理方式

        对MySQL有研究的读者,可能会发现MySQL更新很快,在安装方式上,MySQL提供了两种经典安装方式:解压式和一键式,虽然是两种安装方式,但我更提倡选择解压式安装,不仅快,还干净。在操作系统上,MySQL也支持多类型操作系统,如linux,windows等,如下为MySQL几个重大变化的操作系统。             通过研究分析,不...

L3-002 特殊堆栈 (30分) vector容器的模拟、vector容器的一些用法

vector容器的简单应用,我们可以用vector维护一个有序数组,每次对要插入的数用upper_bound或者lower_bound来 为这个数找一个应该插入到vector的位置。另外再找一个数组来维护插入数的顺序,来面对pop操作 在从小到大的排序数组中, lower_bound( begin,end,num):从数组的begin位置到end-1位置...

oracle 解锁用户被锁住

1、通常我们遇到oracle用户密码输入多次错误,那么改用户就会变锁定,那么解决方法很简单,如下: 使用plsql工具sys用户登录(亦可dos命令输入:sqlplus / as sysdba ) 解锁 ALTER USER 用户名 ACCOUNT UNLOCK; 2、那么遇到这种用户会被锁的情况,我们可以设置用户密码无限次尝试登录,而该用户不会被锁定:...

linux c 用户态调试追踪函数调用堆栈以及定位段错误[转载]

一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。 在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。 int backtrace(void **buffer,int size) 该...

远程序桌面登录的.NET(C#)开发

远程序桌面登录的.NET开发,可以使用MSTSCLib.dll和MsTscAxWrapper.dll两个转换过的动态库,而无需使用WINDOWS自带的OCX,因为使用OCX开发可以会遇到其它问题。      主要代码: 代码 public AxMSTSCLib.AxMsRdpClient rdpClient;     rdpClient = new Ax...

深入探讨this指针

深入探讨this指针   为了写这篇文章,准备了好长时间,翻遍了箱底的书籍。可是如今还是不敢放开手来写,战战兢兢。不是操心自己写错,而是唯恐自己错误误导别人。同一时候也希望这篇文章能给你一点收获。既然是深入探讨this指针,所以建议刚開始学习的人,最好具有一定编译基础,调试基础。假设大家觉得这片文章有不满的地方,就给我发信批评一下,以便及时修正。 关于t...