Python中的demanging导出函数

2024-04-18 17:54:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直试图转储一组PE文件的所有导入的API函数调用。在

我注意到大多数PE文件都有一组“奇怪”的导入函数。这些都大大增加了我独特的函数调用的数量,尽管我觉得其中很多都是相同的函数调用。在

进一步研究,我发现这是由于名字的困扰,我目前正在寻找一个解决方案,能够获得原始函数调用的名称(在某种意义上,它更可读,也许这可以减少我的独特函数调用的数量)在<强Python < /Stime>如果它可能,而不是C++。在

我得到的一些例子:

?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ
?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PAD_J@Z
??0exception@@QAE@ABQBD@Z
??0exception@@QAE@ABQBDH@Z
??0exception@@QAE@ABV0@@Z
??1exception@@UAE@XZ

^{pr2}$

Tags: 文件函数api数量basic解决方案名字std
3条回答
一般来说,对C++符号进行分拆是不容易的。有各种各样的“风格”和其他的复杂性。在

一种选择是使用命令行工具。在Windows上是undname,在*nix上,您可以使用nmdemanglec++filt和其他实用程序。在

另一个选择是尝试使用实现demangling的编译器代码。例如,LLVM有内置的Itanium ABI demangler。GCC也应该有类似的东西。在

相关问题 更多 >