“PE文件格式”1.9版 完整译文(附注释)(3)
2007-01-14 20:15:17 来源:WEB开发网核心提示: 000000000000;填充的000000000000000000000000000000000000现在第一节,就是上面所汇编的代码节,“PE文件格式”1.9版 完整译文(附注释)(3)(3),“到”了,它开始于0x1a0处,从0x1c0处开始:68656C6C
000000000000 ;填充的
000000000000
000000000000
000000000000
现在第一节,就是上面所汇编的代码节,“到”了。它开始于0x1a0处,有0x20字节长:
6A00 ;push 0x00000000
68???????? ;push offset_written
6A0D ;push 0x0000000d
68???????? ;push offsethello_string
6AF5 ;push 0xfffffff5
2EFF15???????? ;call dwordptrcs:__imp__GetStdHandle@4
50 ;push eax
2EFF15???????? ;call dwordptrcs:__imp__WriteConsoleA@20
C3 ;ret
因为这一节的长度(刚好32字节),在下一节(数据节)前我们不需要填充任何字节。下一节到了,从0x1c0处开始:
68656C6C6F2C20776F726C640A ;"hello,world
"的ASCII码值
000000 ;填充几个0以和_written对齐
00000000 ;_written
现在剩下的只有输入目录了。本文件将从"kernel32.dll"库中输入2个函数,输入目录将从本节的变量后面立即开始。首先我们先将上面的数据按32字节对齐:
000000000000000000000000 ;填充的
在0x1e0处开始输入描述(IMAGE_IMPORT_DESCRIPTOR):
OriginalFirstThunk ???????? ;待定
TimeDateStamp 00000000 ;未绑定
ForwarderChain ffffffff ;无中转
Name ???????? ;待定
FirstThunk ???????? ;待定
我们需要用一个0字节项来结束输入目录(我们现在位于0x1f4):
更多精彩
赞助商链接