実行可能ファイルをロードするメカニズムを理解しようとしているので、notepad.exe で 2 つの異なるテストを行いました。
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 値であるべきではありませんか?
前もって感謝します