与主题一样。
我想在vim中用给定的值填写二进制文件的一部分(基址+偏移量)。
例如,我想从地址UIControl
开始添加1M值NSLog(@"%lu", (unsigned long)_sliderOnOff.on);
。
我可以使用什么命令?
答案 0 :(得分:1)
vim -b {filespec}
或:edit ++bin {filespec}
以二进制模式打开文件。0x0fff
命令或go
转到字节索引:goto
。您需要转换为十进制,例如::exe 'goto' 0x0fff
。[count]
命令提供i
,并通过:help i_CTRL-V_digit
插入任意十六进制值:1048576i<C-V>xfd<Esc>
:wq
。 Vim中的替代方法是使用中间 hex dump 格式,并通过Vim附带的xxd
工具来回转换。有关详细信息,请参阅Improved hex editing。
所以,虽然Vim不是完美的工具(正如评论中所提到的,十六进制编辑器是正确/更好的工具),但它可以完成。