编程语言
首页 > 编程语言> > python – 手工编写C名称

python – 手工编写C名称

作者:互联网

我正在使用idapython插件在Python中为IDA Pro反汇编程序编写脚本.使用此功能,我可以填补IDA自动分析不足的空白.

令我难以理解的一个领域是命名位置/功能(为了更好的术语)“漂亮的名字”.我的意思的一个例子如下图所示:

idapython和IDA Pro本身只允许我输入基本的C-ish函数名称.如果我输入不允许的符号(例如范围解析运算符),它们将被替换为下划线.但是,如果我手动输入一个受损的名字(例如__ZN9IOService15powerChangeDoneEm),IDA Pro会为我美化这个.

因此我的问题是:如何生成错位的名称以通过idapython?有可用的名称库吗?一个可用的Python?我唯一的希望是从g中撕掉修复功能并解决这个问题吗?

解决方法:

我终于开始挖了一点.

不幸的是我找不到工具,但我确实找到了资源.

如果你想要的只是gcc3方式的mangle名称,那么就知道gcc3使用Itanium C ABI,它具有标准化的名称修改方案.我发现了两个文件:

> Itanium C++ ABI
> Calling Convention PDF文档,描述了各种编译器的方案

作为参考,两者均来自Name Mangling的维基百科页面.

标签:name-mangling,python,c,ida
来源: https://codeday.me/bug/20191006/1860939.html