如何在vim中填入十六进制值的二进制文件?

时间:2015-04-27 20:03:04

标签: vim

与主题一样。

我想在vim中用给定的值填写二进制文件的一部分(基址+偏移量)。

例如,我想从地址UIControl开始添加1M值NSLog(@"%lu", (unsigned long)_sliderOnOff.on);

我可以使用什么命令?

1 个答案:

答案 0 :(得分:1)

  1. 通过vim -b {filespec}:edit ++bin {filespec}二进制模式打开文件。
  2. 使用0x0fff命令或go转到字节索引:goto。您需要转换为十进制,例如::exe 'goto' 0x0fff
  3. 插入值;您可以向[count]命令提供i,并通过:help i_CTRL-V_digit插入任意十六进制值:1048576i<C-V>xfd<Esc>
  4. 编写文件并退出:wq
  5. Vim中的替代方法是使用中间 hex dump 格式,并通过Vim附带的xxd工具来回转换。有关详细信息,请参阅Improved hex editing

    所以,虽然Vim不是完美的工具(正如评论中所提到的,十六进制编辑器是正确/更好的工具),但它可以完成。