问题标签 [pe-exports]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
320 浏览

delphi - “出口”命名约定——它是如何工作的?

哪些规则适用于最终出现在 PE(可移植可执行文件)的导出部分的名称?粗略地说,我看到名字以“_”下划线开头,一个“?” 问号或“@”符号。这些是什么意思,名字的其余部分呢?

另外-如何将命名约定反转为更有用的东西?

0 投票
1 回答
1450 浏览

c# - 如何从 PE 模块的导出表中读取名称?

我已经成功地从另一个进程加载到内存中的非托管模块中读取了 PE 标头。我现在想做的是读取这个模块的导出名称。基本上,这就是我目前所拥有的(我省略了大部分 PE 解析代码,因为我已经知道它可以工作):

扩展

获取出口()

当我运行它时,我得到的只是一个双问号模式,然后是完全随机的字符。我知道标题被正确读取,因为签名是正确的。问题必须在于我迭代函数列表的方式。

0 投票
1 回答
2549 浏览

c# - 当文件偏移量大于文件本身时,dumpbin 如何读取导出表?

我正在编写一个小的 PE 阅读器,所以我在我的测试应用程序旁边运行了 dumpbin 以确认这些值被正确读取。到目前为止一切正常,除了导出表。

我正在测试的文件是一个 DLL。我的应用程序将文件作为字节数组读取,然后传递给我的 PE 阅读器类。这些值与 dumpbin 的输出一致,包括导出数据目录的 RVA 和大小。

问题是,字节数组的大小只有 42,496。正如您可能想象的那样,当我的 PE 阅读器尝试阅读 E000 (57,344) 时,我得到一个IndexOutOfRangeException. 但是,dumpbin 没有这样的问题,并且可以很好地读取导出目录。是的,整个文件确实被读入了字节数组。

这怎么可能?

0 投票
2 回答
326 浏览

debugging - VS2010线程数据栈

我刚刚发现了如何闯入 Windows dll (user32.dll) 中的 SetTimer 函数。 链接文本

但是我需要知道它用什么参数调用。我认为在调用函数之前将参数推送到数据堆栈中,但我发现无法在 Visual Studio 2010 中显示线程数据堆栈。

0 投票
1 回答
307 浏览

c++ - EXE 也导出静态库导出

我已经创建了一个静态库和一个 EXE 文件(它使用静态库),但是当我在 IDA pro 中打开 EXE 时,导出也列在 EXE 中。

我知道它们应该在 .lib 本身中导出,但为什么它们在 EXE 中也显示为导出?

编辑:这是一个导出/导入(它们在单独的头文件中)

这是导出:

和进口:

0 投票
2 回答
850 浏览

c++ - PE 导出表中不属于函数的条目

我查看了特定 DLL 的导出表,我在表中看到了一些奇怪的条目,所以我试图在 pecoff 规范中找到这个问题的答案,但没有找到任何答案,我希望有人可能有一。

我在某个 DLL (Qt5Core.dll) 上运行了一个 dumpbin,发现导出表的条目不是函数- > 有一些条目的地址指向 .data 部分和 .rdata 部分......例如:

常量 QAbstractState::`vftable' 67366E0C 1470 QMetaObject 常量 QEventTransition::staticMetaObject 673C15A8 6160 QCoreApplication * QCoreApplication::self 6746180C 5504

看起来像一些 c++ 变量,我想知道为什么它们在导出表中?谢谢!