我正在使用 DyninstAPI(即 SymtabAPI 组件)来重写二进制文件中的符号表。我正在使用以下方法来做到这一点:
data_region->setPtrToRawData((void*) new_raw, data_region->getRegionSize())
该方法成功返回,我检查了我的错误代码,甚至重新读取了已成功替换的数据部分。问题是原始二进制文件没有用新的原始.data
部分重写,原始原始.data
部分仍然存在。
我已经浏览了手册以查看是否有某种提交功能,但没有记录,示例中也没有提到任何类型的提交功能。 编辑:我刚刚通读了Region
该类的一些源代码,看起来我基本上正在做patchData
的事情(如果那是我应该使用的方法)。
建议?
编程手册可从http://www.paradyn.org/html/manuals.html获得。
PS 希望更有信誉的用户可以为我添加DyninstAPI
标签SymtabAPI
。