手动修改 C++ 名称

2023-11-27

我正在写一个脚本IDA ProPython 中的反汇编器使用idapython插入。使用它,我能够填补 IDA 自动分析的不足之处。

让我困惑的一个领域是用“漂亮的名字”(因为缺乏更好的术语)来命名位置/功能。我的意思的一个例子如下所示:

IDA pretty names sample screenshot

idapythonIDA Pro 本身只允许我输入基本的 C 语言函数名称。如果我输入不允许的符号(例如范围解析运算符),它们将被下划线替换。However,如果我手动输入一个损坏的名称(例如__ZN9IOService15powerChangeDoneEm), IDA 专业版will为我美化这个。

因此我的问题是:如何生成损坏的名称以通过idapython?有可用的名称修改库吗? Python 中有可用的吗?我唯一的希望就是将损坏功能从其中剔除g++并解决这个问题?


我终于抽出时间来挖掘一下。

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

如果您想要的只是 gcc3 时尚的 mangle 名称,那么请知道 gcc3 使用 Itanium C++ ABI,它具有标准化的名称修改方案。我找到了两个文档:

  • The 安腾 C++ ABI page
  • A 调用约定PDF文档,描述了各种编译器的方案

作为参考,两者均来自维基百科页面名称修改.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手动修改 C++ 名称 的相关文章

随机推荐

  • 关于Python背景透明.png格式OpenCV的问题

    我正在用 Python 学习 OpenCV 我尝试更改 PNG 格式的图片颜色 但 PNG 背景出现一些问题 图像具有透明背景 当我将其更改为灰度时 背景已更改为黑色 我的图片不再透明 我想要的是保持图片的透明背景 原图 My code i
  • 文件打开:这是糟糕的 Python 风格吗?

    要读取文件的内容 data open filename r read 打开的文件立即停止在任何地方被引用 因此文件对象最终将关闭 并且它不应该影响使用它的其他程序 因为该文件仅打开用于读取 而不是写入 编辑 这实际上在我写的一个项目中困扰了
  • 克隆私有存储库 (Github)

    我在 Github 上有一个用于我正在开发的项目的私有存储库 到目前为止 我只在家用台式机上工作 但我刚刚买了一台笔记本电脑 并正在尝试对其进行设置 以便我可以从任意一台计算机上处 理该项目 并推 拉更改 我向笔记本电脑的 Github 帐
  • 静态编译 openssl 二进制文件

    从源 tarball 构建时由 config make 命令生成的 openssl 二进制文件动态链接到这些库 linux vdso so 1 gt 0x00007fffa75fe000 libdl so 2 gt lib x86 64 l
  • AWS Lambda 上的 cURL 给出命令未找到错误

    从今天开始几个小时 Lambda 上的一个简单的curl 命令失败了 Lambda环境是NodeJs 10 x 也在12 x中尝试过 const execSync require child process exports handler
  • nvidia-smi 易失性 GPU 利用率解释?

    我知道nvidia smi l 1将给出每一秒的 GPU 使用情况 类似于以下内容 但是 我希望能得到关于什么的解释Volatile GPU Util真正意思 是使用的 SM 数量除以 SM 总数 还是占用率 还是其他什么 NVIDIA S
  • WinForms 工具提示未显示

    我有一个 WinForms 应用程序 每个表单和用户控件都按如下方式设置其工具提示 in the control constructor var toolTip new ToolTip this Disposed o e gt toolTi
  • 如何处理 python WebDriver 中偶发的 BadStatusLine、CannotSendRequest 错误

    自从我们开始在 jenkins 中运行 selenium UI 测试以来 我们注意到测试期间出现少量但令人讨厌的错误频率 我们在看似随机的 selenium 操作 单击 退出 访问等 上收到 BadStatusLine 和 CannotSe
  • 同一 Matplotlib 标签中的多种字体大小

    我正在尝试做一些相对简单的事情 我希望能够增加一个字母的字体 例如 LaTeX 变量 例如 30 并保持标签中的其他字母为某种字体 例如 20 有人有快速的解决方案吗 对我来说这似乎相当复杂 我尝试使用 对于标签中的每个 项目 plt pl
  • 基于 Windows 7 上的 Perl

    我在 Windows 7 上安装了 Padre perl perl IDE 每次运行程序时 我都会收到一条错误消息 perl warning Setting locale failed perl warning Please check t
  • 从 jar 中提取 scala 源代码

    所以我有一个包含 scala 作为源代码的 jar 文件 但我丢失了原始代码 有没有办法将 jar 中的类文件转换为 scala 函数和类 而不是编译器生成的 java 类 我尝试过使用反编译器 但它只给我提供了零意义的java代码 先感谢
  • 无法显示 Highchart

    我对 Javascript Rails 和 JQuery 一起工作还很陌生 我正在 Highcharts 上阅读本教程 http www highcharts com documentation how to use installatio
  • spring-cloud 与ribbon/eureka/hystrix 使用restTemplate 无法设置连接/读取超时

    我已经使用 spring cloud 构建了一个 spring boot 应用程序 并希望在我的客户端应用程序 这也是一个微服务 中使用 RestTemplate 以便我可以继续使用mockMvc 进行集成测试 我正在使用默认的ribbon
  • 如何检测Facebook分享成功?使用 JavaScript

    此代码正在共享 facebook 但我想要如何检测 facebook 共享成功 我如何使用 javascript 做到这一点 u location href t document title var myWindow window open
  • 如何删除文本按钮的填充?

    我正在尝试从中删除填充TextButton但它不会起作用 TextButton onClick modifier Modifier padding 0 dp Text getString R string terms and conditi
  • 如何更改 RecyclerView 项目 onClick 的 viewType

    我创建了一个以 Cards 作为主要视图类型的 RecyclerView 我想要实现的是 当用户单击某个项目时 该项目的 ViewType 将从卡片更改为另一个 Viewtype 例如水平滚动的列表文本视图 我的 RecyclerView
  • 将 CSS 应用于活动路由器链接 [Angular 2]

    我想将特殊的 CSS 样式属性应用于活动路由器链接 a name a 这是我到目前为止所尝试的 使用默认的 router link active 类 router link active color 000 font weight bold
  • AttributeError:“属性”对象没有属性

    Python 2 6 似乎无缘无故地被破坏了 有人能看出这段代码有问题吗 class DB def doSomething self str print str class A db DB staticmethod def getDB re
  • 如何使用混淆器?

    我试图学习如何使用ProGuard 这并不像我想象的那么容易 一开始我找了一个简单的Java代码来尝试一下 简单的二类 Swing 计算器 可以通过该链接找到该代码 但我发现它太冗长了 无法将其发布到此处 无论如何 这是一个简单的应用程序
  • 手动修改 C++ 名称

    我正在写一个脚本IDA ProPython 中的反汇编器使用idapython插入 使用它 我能够填补 IDA 自动分析的不足之处 让我困惑的一个领域是用 漂亮的名字 因为缺乏更好的术语 来命名位置 功能 我的意思的一个例子如下所示 ida