“PE文件格式”1.9版 完整译文(附注释)(3)
2007-01-14 20:15:17 来源:WEB开发网核心提示: OriginalFirstThunk00000000;结束符号TimeDateStamp00000000;ForwarderChain00000000;Name00000000;FirstThunk00000000;现在只剩下DLL名字,还有2个换长,“PE文件格式”1.9版 完整译文(附
OriginalFirstThunk 00000000 ;结束符号
TimeDateStamp 00000000 ;
ForwarderChain 00000000 ;
Name 00000000 ;
FirstThunk 00000000 ;
现在只剩下DLL名字,还有2个换长,以及换长数据和函数名字了。但现在我们真的很快就要完成了。
DLL名字,以0结尾,开始于0x208处:
6b65726e656c33322e646c6c00 ;"kernel32.dll"的ASCII码值
000000 ;填充到32位边界
原始第一个换长,开始于0x218处:
AddressOfData ???????? ;"WriteConsoleA"函数名的RVA
AddressOfData ???????? ;"GetStdHandle"函数名的RVA
00000000 ;结束符号
第一个换长就是同样的列表,开始于0x224处:
(__imp__WriteConsoleA@20,at0x224)
AddressOfData ???????? ;"WriteConsoleA"函数名的RVA
(__imp__GetStdHandle@4,at0x228)
AddressOfData ???????? ;"GetStdHandle"函数名的RVA
00000000 ;结束符号
现在剩下的只有输入名字(IMAGE_IMPORT_BY_NAME)形式的两个函数名了。我们现处于0x230字节。
0100 ;序数,不需要正确
5772697465436f6e736f6c654100 ;"WriteConsoleA"的ASCII码值
0200 ;序数,不需要正确
47657453746448616e646c6500 ;"GetStdHandle"的ASCII码值
Ok,这就全部结束了。下一个字节,我们并不真正需要,是0x24f。我们必须将节填充到0x260处:
更多精彩
赞助商链接