📄 ne文件格式.txt
字号:
NE 文件格式
对 NE 的一些说明(猛禽): NE 是 New Excutable 的缩写, “新可执行”文件,是 16 位 Windows 可执行文件的标准格式,这种东东可能再也不会有人用了,其实把它贴出来也没用,但即然贴了 PE ,就把它也贴出来吧,仅供参考。 32 位 Windows 可执行文件的格式称为 PE ,即 Portable Excutable 。参考: PE 文件格式
两个重要数据结构。
// EXE 文件头
struct HeadEXE
{
WORD wType; // 00H 'MZ'
WORD wLastSecSize; // 02H 最后扇区被使用的大小
WORD wFileSize; // 04H 文件大小
WORD wRelocNum; // 06H 重定位项数
WORD wHeadSize; // 08H 文件头大小
WORD wReqMin; // 0AH 最小所需内存
WORD wReqMax; // 0CH 最大所需内存
WORD wInitSS; // 0EH SS 初值
WORD wInitSP; // 10H SP 初值
WORD wChkSum; // 12H 校验和
WORD wInitIP; // 14H IP 初值
WORD wInitCS; // 16H CS 初值
WORD wFirstReloc; // 18H 第一个重定位项位置
WORD wOverlap; // 1AH 覆盖
WORD wReserved[0x20];//1CH
WORD wNEOffset; // 3CH NE 头位置
};
// NE 文件头
struct HeadNE
{
WORD wType; // 'NE'
BYTE wLinkerVerMajor;
BYTE wLinkerVerMinor;
WORD wEntryOffset;
WORD wEntrySize;
DWORD dReserved;
// wModelFlag : b15 - -EXE/DLL, 其它位指定 286/386 指令等
WORD wModelFlag;
WORD wDGROUPseg;
WORD wInitLocalHeapSize;
WORD wInitStackSize;
WORD wInitIP;
WORD wInitCS;
WORD wInitSP;
WORD wInitSS;
WORD wSegTableEntrys;
// wModelRefEntrys : 1eh ModelRef 通常为 DLL 文件
WORD wModelRefEntrys;
WORD wNoResdNameTableSize;
WORD wSegTableOffset;
WORD wResourceOffset;
WORD wResdNameTableOffset;
// 28h 指向一个表的指针,表项为从表末开始的以 WORD 为单位的偏移量
// 表项内容为 PASCAL 字符串,但不含文件名后缀。
// Windows查找DLL 文件的顺序为: Windows 目录, System目录, 指定的
// 目录, Path, 网络映射.
WORD wModelRefOffset;
WORD wInputNameTableOffset;
DWORD wNoResdNameTableOffset;
WORD wMovableEntrys;
WORD wSegStartOffset;
WORD wResTableEntrys;
// 0 - 未知, 1 - OS/2 1.x, 2 - Windows 3.x, 4 - DOS 4 欧洲版
BYTE bOperatingSystem;
BYTE bExtFlag;
WORD wFLAOffsetBySector; // 快速装入区,Windows 专用
WORD wFLASectors; // Windows 专用
WORD wReserved;
WORD wReqWindowsVer; // Windows 专用
};
后记(猛禽):参考文献:《Windows NE 格式及多余 DLL 的清除》贾建平( 空军第一航空学院 ) 《中国计算机用户》96-3/4 P81
[Mental Studio]Apr.26-2k
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -