首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有64位地址的xxd

具有64位地址的xxd
EN

Unix & Linux用户
提问于 2019-01-04 20:30:46
回答 1查看 6.4K关注 0票数 2

我发现xxd对终端中二进制数据的简单操作非常方便。但是,它有一个限制,即程序输出的所有地址都限制在32位以内。例如。

代码语言:javascript
复制
root:/# xxd -s 0x5baae0000 /dev/sda
baae0000: 2d7c 6176 6976 6172 7c61 7469 7a61 720a  -|avivar|atizar.

注意开头的5已经消失了。这意味着直接与xxd -r一起使用它将比我想要的更早地修补超过100亿字节的区域。换句话说,我想这样做,

代码语言:javascript
复制
root:/# echo HELLO | xxd -o 0x5baae0000 | xxd -r - /dev/sdb

但最后我不得不做这样的事情来解决这个问题,

代码语言:javascript
复制
root:/# echo HELLO | xxd -o 0x5baae0000 | xxd -r -seek 0x500000000 - /dev/sdb

它在解析修补程序时将丢失的0x5000000字节添加回目标文件。

在任何情况下,我都想知道是否有一种未知的/聪明的方式让xxd使用64位地址,还是没有这些限制就像xxd那样操作的替代程序?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-01-31 15:53:25

一个修复这个问题的补丁现在已经作为补丁854正式作为vim的一部分被包括进来。因此,要么尝试更新包含修补程序的更新版本的vim (v8.1.0854+),要么自己从来源编译(如果还没有可用)。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/492579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档