【问题标题】:SymtabAPI doesn't implicity change binarySymtabAPI 不会隐式更改二进制文件
【发布时间】:2011-05-15 22:49:24
【问题描述】:

我正在使用 DyninstAPI(即 SymtabAPI 组件)来重写二进制文件中的符号表。我正在使用以下方法:

data_region->setPtrToRawData((void*) new_raw, data_region->getRegionSize())

方法返回成功,我检查了我的错误代码,甚至重新读取了已成功替换的数据部分。问题是原始二进制文件没有被新的原始.data 部分重写,原始的原始.data 部分仍然存在。

我已经翻阅了手册以查看是否有某种 commit 功能,但没有记录在案,示例中也没有提到任何此类功能。 编辑:我刚刚通读了Region 类的一些源代码,看起来我基本上在做patchData 所做的事情(如果这是我应该使用的方法) )。

建议?

编程手册可在http://www.paradyn.org/html/manuals.html获取。

附注希望更有信誉的用户可以为我添加标签DyninstAPISymtabAPI

【问题讨论】:

    标签: symbol-tables


    【解决方案1】:

    在与开发人员协商后,他们提醒我需要调用的函数是emit,而我最终使用的语法是:

    symtab_obj->emit("new_binary.out");
    

    谢谢德鲁!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 2013-01-28
      • 2012-06-08
      • 1970-01-01
      相关资源
      最近更新 更多