値に問題がありIMAGE_EXPORT_DIRECTORYます。アドレスを計算するたびに、間違った値が返されます ( Name、NumberOfNames、AddressOfNamesなど)。以下のコードで計算しています。
IMAGE_EXPORT_DIRECTORY *export_directory = (IMAGE_EXPORT_DIRECTORY*)(nt_headers->OptionalHeader.DataDirectory[0].VirtualAddress + (DWORD)dos_header);
デバッガーをたどると、アドレスは正しく、 があるはずですがIMAGE_EXPORT_DIRECTORY、なぜ間違った結果が得られるのでしょうか? 悪いptrと表示されているため、そこからどの要素にもアクセスできませkernel32.dllんuser32.dll。
Windows 8 x86 を使用しています。