gpt4 book ai didi

linux - 用vi和hexedit打开一个二进制文件,为什么内容不一样?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:49 24 4
gpt4 key购买 nike

我想直接编辑一个二进制文件,我知道两个编辑器,vi 和 hexedit。但是当我分别使用它们打开一个二进制文件时,cotens 是不同的。以下是我所做的。

首先,我使用“dd if=/dev/sda of=mbr bs=512 count=1”生成二进制文件,其中包含 mbr 数据。然后我使用“hexedit mbr”打开它,它显示:开始:

00000000   EB 63 90 D0  BC 00 7C 8E  C0 8E D8 BE  00 7C BF 00 
00000010 06 B9 00 02 FC F3 A4 50 68 1C 06 CB FB B9 04 00
00000020 BD BE 07 80 7E 00 00 7C 0B 0F 85 0E 01 83 C5 10

结尾:

000001E0   FF FF 83 FE  FF FF 00 40  D6 02 00 38  2B 01 00 00 
000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA

我使用“vi mbr”打开它并输入“:%!xxd”,它显示如下:开始:

0000000: c3ab 63c2 90c3 90c2 bc00 7cc2 8ec3 80c2
0000010: 8ec3 98c2 be00 7cc2 bf00 06c2 b900 02c3
0000020: bcc3 b3c2 a450 681c 06c3 8bc3 bbc2 b904

结尾:

00002b0: bfc3 bf00 40c3 9602 0038 2b01 0000 0000 
00002c0: 0000 0000 0000 0000 0000 0000 55c2 aa0a

hexedit 显示是我在 mbr 中所期望的。但是用vi显示怎么说呢?而且 vi 显示似乎不对,因为超过了 512 个字节。

感谢您的任何解释!

最佳答案

命令 :%!xxd 使用外部程序 xxd,因此您应该首先尝试通过键入以下内容来检查其输出:

xxd mbr

如果看起来不错,请尝试以二进制模式打开 vi(无 EOL):

vi -b mrb

然后 :%!xxd

关于linux - 用vi和hexedit打开一个二进制文件,为什么内容不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18370576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com