C++ GCC生成程序集的解析器

C++ GCC生成程序集的解析器,c++,c,gcc,assembly,C++,C,Gcc,Assembly,我需要在二进制级别对已编译的C/C++文件进行一些调整。因此,我想解析程序集文件,以获得它的内存表示,并支持添加/删除指令等 我在谷歌上搜索过AT&T汇编解析器之类的东西,但没有找到 在解析GCC程序集文件并支持将修改后的代码写回时,我有什么选择?我不知道您想要什么。为什么不使用-S开关让gcc输出汇编代码,修改它,然后手动运行汇编程序呢?编译的二进制代码与相应的汇编代码非常不同。您实际要处理的是哪一个?GHC人员通过插入带有volatile asm语句的标记,然后使用复杂的perl脚本将程序集

我需要在二进制级别对已编译的C/C++文件进行一些调整。因此,我想解析程序集文件,以获得它的内存表示,并支持添加/删除指令等

我在谷歌上搜索过AT&T汇编解析器之类的东西,但没有找到


在解析GCC程序集文件并支持将修改后的代码写回时,我有什么选择?

我不知道您想要什么。为什么不使用
-S
开关让gcc输出汇编代码,修改它,然后手动运行汇编程序呢?编译的二进制代码与相应的汇编代码非常不同。您实际要处理的是哪一个?GHC人员通过插入带有
volatile asm
语句的标记,然后使用复杂的perl脚本将程序集作为文本进行操作来实现这一点。但不确定您是否想做同样的事情。Gnu binutils包括Gnu汇编程序
gas
。您想要的解析器和内部代表就在那里。但是黑客攻击gas是相当复杂的,因为它是为许多处理器设计的。我想你只对其中一个感兴趣。@Gene-我想要x86解析器。我想我不明白你想要什么。为什么不使用
-S
开关让gcc输出汇编代码,修改它,然后手动运行汇编程序呢?编译的二进制代码与相应的汇编代码非常不同。您实际要处理的是哪一个?GHC人员通过插入带有
volatile asm
语句的标记,然后使用复杂的perl脚本将程序集作为文本进行操作来实现这一点。但不确定您是否想做同样的事情。Gnu binutils包括Gnu汇编程序
gas
。您想要的解析器和内部代表就在那里。但是黑客攻击gas是相当复杂的,因为它是为许多处理器设计的。我想你只对一个基因感兴趣。@Gene-我想要x86解析器。