【发布时间】:2019-02-26 15:01:33
【问题描述】:
我试图了解加载可执行文件的机制,所以我用 notepad.exe 做了两个不同的测试
1) 运行dumpbin命令:
dumpbin /ALL "C:\Windows\System32\notepad.exe" /OUT:"C:\sample\log4.txt"
我在 OPTIONALHEADER VALUES 下得到以下值:
1AC50 entry point (000000014001AC50) WinMainCRTStartup
1000 base of code
140000000 image base (0000000140000000 to 0000000140042FFF)
2) 运行 WinDbg:
x notepad!*CRT*
我得到了这些:
00b9bf9a notepad!__mainCRTStartup (void)
00b9bf90 notepad!WinMainCRTStartup (<no parameter info>)
00ba04a4 notepad!msvcrt_NULL_THUNK_DATA = <no type information>
00ba050c notepad!_IMPORT_DESCRIPTOR_msvcrt = <no type information>
我不明白为什么 14001AC50 和 00b9bf90 是不同的值。它们不应该是相同的 AddressOfEntryPoint 值吗?
提前致谢
【问题讨论】:
-
记事本有两种风格,您无法将 32 位版本与 64 位版本进行比较。使用 64 位版本的 Windbg 获得更快乐的匹配。谷歌“windows aslr”也是如此。
-
是的,那是我的错误。谢谢!
标签: windows windbg entry-point dumpbin