#1 楼
profapi.dll
当然应该有一个导出表。例如,这是来自profapi.dll
版本6.3.9600.16384
的导出表:按序导出6个函数。如果您使用的Python库没有看到这些功能,那是由于Python库中的错误(或您可能对其使用)所致。对于它的价值而言,这是已知的较早版本的pefile库中的问题,大约一年前已修复。也许您使用的是过时的版本?
profapi.dll
当然应该有一个导出表。例如,这是来自profapi.dll
版本6.3.9600.16384
的导出表:按序导出6个函数。如果您使用的Python库没有看到这些功能,那是由于Python库中的错误(或您可能对其使用)所致。
评论
我正在使用profapi.dll版本6.1.7600.16385(由文件属性报告)。我正在使用Python库pefile列出profapi.dll的导出表条目。另外,这表明profapi.dll没有导出部分:win7dll.info/profapi_dll.html。查看pefile产生的整个PE转储,我发现RVA中确实存在IMAGE_DIRECTORY_ENTRY_EXPORT的有效条目,但是我看到pefile出现解析错误,说“导出目录中的RVA AddressOfNames指向无效的”。地址”。我不确定这是否是pefile解析错误。
– redraga
2014年11月14日在21:54
编辑:看来这是pefile的问题。我确实能够使用IDAPro找到profapi.dll的导出部分。我用注解更新了原始问题,其中提到了pefile中似乎有错误。
– redraga
2014年11月14日22:04
您在我做我的同时进行了编辑-很高兴我们得出了相同的结论:)
–詹森·格夫纳(Jason Geffner)
2014年11月14日22:10
请参阅我的答案中有关pefile更新的最后一段。
–詹森·格夫纳(Jason Geffner)
2014年11月14日在22:14
看起来pefile不会解析导出节,因为名称指针表和顺序指针表均为NULL,并且它使用此信息来遍历EAT。我知道我可以通过基于导出函数的数量直接遍历EAT来获取函数指针地址来更改pefile的行为,但是我对了解为什么profapi中Name和Ordinal表指针为NULL感兴趣。另外,加载程序如何修补导出的功能?我不确定这是否是发布此内容的正确位置。如果需要,我可以稍后再提出一个单独的问题。
– redraga
2014年11月17日20:59