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