具体而言,我想知道导入(idata)部分的数据结构是什么样子。哪里可以找到代表内存中的dll的数据结构的规范?
1
A
回答
2
DLL文件格式与EXE文件PE(可移植可执行文件)格式相同。您可以从Microsoft获得a copy of the specification。您也可以尝试Wotsit以获取一般文件格式信息。
Windows提供ImageHlp API来处理可执行文件。 LoadImage
函数看起来是一个很好的开始。
您还应该看看的the "Portable Executable File Format" chapter未记录的Windows NT。它似乎描述了如何使用ImageHlp来获取二进制文件的各个部分。我认为你最感兴趣的部分在第四页上,它描述了PE文件的IMAGE_DIRECTORY_ENTRY_IMPORT
部分。
0
看来我错了 - PE文件的结构在内存中似乎是相同的。
可以使用winnt.h中定义的结构来解释内存。
查看这些结构时,必须记住偏移量(或'RVA's [1])是小尾数。如果我只是将程序指向相关内存而不是使用调试器,我可能不会感到困惑。
[1]微软说。
相关问题
- 1. 哪里可以找到规范标签?
- 2. 哪里可以找到CLI规范?
- 3. 在哪里可以找到System.management的DLL
- 4. 我在哪里可以找到p2存储库规范?
- 5. 我在哪里可以找到Java数据结构的源代码?
- 6. 我在哪里可以找到MvcTextTemplateHost的API规范?
- 7. 哪里可以找到openCL编程的图形卡规范?
- 8. 我可以在哪里找到XSLT 1.0规范的XSD或DTD?
- 9. 我在哪里可以找到xib文件的规范?
- 10. 我在哪里可以找到官方的DTD规范
- 11. 哪里可以找到旧版本的HTML5规范?
- 12. 哪里可以找到产品名称Prestashop数据库结构
- 13. 从哪里可以找到构建ERD DDL命令的规则?
- 14. 在哪里可以找到COM DLL?
- 15. 我在哪里可以找到System.Linq.Dynamic dll?
- 16. 我在哪里可以找到System.Web.HttpContext.Current.Server dll?
- 17. 哪里可以找到7z dll?
- 18. 哪里可以找到我的Maven项目结构中的UML图表文件?
- 19. 我在哪里可以找到收据条码的规格?
- 20. 哪里可以找到MSDN文章中显示的内存类?
- 21. 我在哪里可以找到GNU ar文件格式规范?
- 22. 我在哪里可以找到XFA规范或DTD /模式?
- 23. 从哪里可以找到TREC文档格式规范?
- 24. 我可以在哪里找到USSD命令规范?
- 25. 我在哪里可以找到C#5语言规范?
- 26. 哪里可以找到Drupal的图表?
- 27. 我在哪里可以找到G4结构ANTLR4的g4文件?
- 28. 我在哪里可以找到.vcproj文件结构的参考?
- 29. 哪里可以找到Sqlite数据库?
- 30. 我在哪里可以找到nuget中的nhibernate.bytecode.castle dll?
嗨,感谢您的回复。 我看过这个规范,但它绝对看起来好像在光盘上的结构不同于内存(尽管我可能会误)。你一定可以看到,idata部分包含两个列表 - 函数ptrs和函数名之一。 – user47741 2008-12-20 23:43:59