gpt4 book ai didi

python - Python 中的反修饰导出函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:42:45 26 4
gpt4 key购买 nike

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

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

经过进一步研究,我发现这是由于名称修改造成的,我目前正在寻找一种能够获取原始函数调用名称的解决方案(从某种意义上说,它更具可读性,也许这可以减少我的唯一函数调用数)在 Python 中(如果可能)而不是在 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

对比

RegDeleteValueW
RegEnumKeyExW
RegCloseKey
RegQueryValueExW
RegSetValueExW

最佳答案

通常情况下,分解 C++ 符号并不容易。存在各种“样式”和其他复杂性。

一种选择是使用命令行工具。在 Windows 上它是 undname , 在 *nix 上你可以使用 nm, demangle, c++filt 和其他工具。

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

关于python - Python 中的反修饰导出函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45275343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com