“PE文件格式”1.9版 完整译文(附注释)(3)
2007-01-14 20:15:17 来源:WEB开发网核心提示: 000000000000000000000000;填充的输入描述(IMAGE_IMPORT_DESCRIPTOR),开始于0x1e0:OriginalFirstThunk18020000;原始第一个换长的RVATimeDateStamp00000000;未绑定ForwarderChainf
000000000000000000000000 ;填充的
输入描述(IMAGE_IMPORT_DESCRIPTOR),开始于0x1e0:
OriginalFirstThunk 18020000 ;原始第一个换长的RVA
TimeDateStamp 00000000 ;未绑定
ForwarderChain ffffffff ;-1,无中转
Name 08020000 ;DLL名字的RVA
FirstThunk 24020000 ;第一个换长的RVA
结束标志(0x1f4):
OriginalFirstThunk 00000000 ;结束标志
TimeDateStamp 00000000 ;
ForwarderChain 00000000 ;
Name 00000000 ;
FirstThunk 00000000 ;
DLL名字,开始于0x208:
6b65726e656c33322e646c6c00 ;"kernel32.dll"
000000 ;填充到32位边界
原始第一个换长,开始于0x218:
AddressOfData 30020000 ;函数名"WriteConsoleA"的RVA
AddressOfData 40020000 ;函数名"GetStdHandle"的RVA
00000000 ;结束标志
第一个换长,开始于0x224:
AddressOfData 30020000 ;函数名"WriteConsoleA"的RVA
AddressOfData 40020000 ;函数名"GetStdHandle"的RVA
00000000 ;结束标志
输入函数名称(IMAGE_IMPORT_BY_NAME),开始于0x230:
IMAGE_IMPORT_BY_NAME,开始于0x240:
0200 ;序数,不需要正确
47657453746448616e646c6500 ;"GetStdHandle"的ASCII码值
(填充)
00000000000000000000000000000000;填充的
00
第一个未使用字节开始于:0x260
--------------
噢,这个文件能在NT上却不能在windows95上运行。windows95不能运行按32字节节对齐的应用程序,它要求节对齐为4KB;并且很明显的,文件对齐也应为512字节。因此要想在windows95上运行,你得插入很多的0字节(为了对齐)并调整RVA。感谢D.Binette在windows95上的(运行)试验。
更多精彩
赞助商链接