我在使用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
正常工作,但在从AddressOfNames中提取名称时失败user32.dll
。
使用Windows 8 x86。