我用 hexdump 打印 MBR,得到以下输出:
000001a0 67 60 6f 70 65 72 61 74 69 6e 67 60 73 79 73 74 |g`operating`syst|
000001b0 65 6d 00 40 00 63 7b da c5 f5 61 68 00 40 00 40 |em.@.c{...ah.@.@|
000001c0 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 |.@.@.@.@.@.@.@.@|
*
000001f0 00 40 00 40 00 40 00 40 00 40 00 40 00 40 55 ea |.@.@.@.@.@.@.@U.|
00000200
Run Code Online (Sandbox Code Playgroud)
*输出中的星号是什么意思?
为什么用文本编辑器打开二进制文件时看不到二进制代码?例如,当我用文本编辑器打开一个图像时,我看到一些奇怪的字符和一些人类可读的字符;但图像应该以二进制编码。
我正在尝试打开 skype .dat 十六进制文件,我想知道我是否可以使用 Sublime 文本而不是其他“专用”十六进制编辑器。
当我这样做时,hexdump filename.txt我得到以下输出:
00000000 ac5a 5afb c08d 5d15 26d0 2491 e8c9 8917
00000010
Run Code Online (Sandbox Code Playgroud)
当我这样做时<?= bin2hex(file_get_contents('filename.txt')); ?>:
5aacfb5a8dc0155dd0269124c9e81789
Run Code Online (Sandbox Code Playgroud)
那么为什么 hexdump 建议内容应该是ac5a5afbc08d5d1526d02491e8c98917,而 PHP 建议它们应该是5aacfb5a8dc0155dd0269124c9e81789呢?我只是没有正确解释 hexdump 的输出吗?
如何很容易地转换到/从普通的机器可读的十六进制数据(无任何填补处理/偏移/字符视图)与xdd或hexdump?
我厌倦了挖掘一些特殊格式的字符串(并发现它突然开始在 N 个字符后换行或跳过行)或每次编写 Perl 单行。
为什么不像base64/那样简单base64 -d?
我正在使用 Ubuntu 12.04
我阅读了以下有关如何在 Linux 中访问 RAM 内容的教程....
http://www.rootninja.com/using-dd-to-search-for-strings-in-memory-or-devices/
代码:
dd if=/dev/mem | hexdump -C | grep “string to search for”
所以,我运行代码...
代码:
sudo dd if=/dev/mem | hexdump -C > NAMEOFOUTPUTFILEHERE.txt
而且……它开始输出十六进制代码,直到几秒钟后,它说:
dd: reading `/dev/mem': Operation not permitted
2056+0 records in
2056+0 records out
1052672 bytes (1.1 MB) copied, 0.44834 s, 2.3 MB/s
Run Code Online (Sandbox Code Playgroud)
所以基本上..我能够获得大约 3.3 MB 的 RAM 转储内容——直到程序停止,说“不允许操作”
所以我想知道为什么我不能转储 RAM 的全部内容?这是在 Ubuntu 中故意限制以阻止恶意黑客吗?或者是别的什么?有人知道吗?谢谢
我正在寻找如何进行反向十六进制转储并发现提到了 xxd。但是,它似乎不能简单地使用:
xxd -r hexdumpfile > binaryfile
Run Code Online (Sandbox Code Playgroud)
然后我比较了xxd infile和 的输出之间的差异hexdump infile,发现了三个差异:
5a42在 hexdump 输出中变成425a在 xxd 输出中)我在服务器上只有某些文件的 hexdumped 版本。如何使用 xxd 正确取回二进制数据?
Hexdump 读取二进制数据并对其进行适当格式化的能力,例如,它可以通过管道传输到 awk 非常有用,但我经常需要读取二进制数据与系统本机数据具有不同字节序的文件. 特别是,我需要在小端机器上读取大端数据。我的理想解决方案是“hexdump”,带有一个反转字节序的开关,但这样的开关似乎不存在。
这个问题有什么好的“次优”解决方案吗?
如何转储“纯”和纯二进制位序列?
例如,我有这个:
0000000: 10001001 01010000 01001110 01000111 00001101 00001010 .PNG..
0000006: 00011010 00001010 00000000 00000000 00000000 00001101 ......
000000c: 01001001 01001000 01000100 01010010 00000000 00000000 IHDR..
0000012: 00000010 01011000 00000000 00000000 00000001 10010000 .X....
0000018: 00001000 00000010 00000000 00000000 00000000 11111101 ......
000001e: 01010111 10001001 11001111 00000000 00000000 00000000 W.....
0000024: 00000111 01110100 01001001 01001101 01000101 00000111 .tIME.
Run Code Online (Sandbox Code Playgroud)
左边的那些行号和右边的 ASCII 对我来说是个问题。我确实尝试过将其删除:
xxd -b /root/Desktop/image.png | sed -r "s/\d32{3,}.*//g" | sed "s/.*://" | sed "s/\d32//g"
Run Code Online (Sandbox Code Playgroud)
但是,我没有成功:
100010010101000001001110010001110000110100001010.PNG..
000110100000101000000000000000000000000000001101......
010010010100100001000100010100100000000000000000IHDR..
000000100101100000000000000000000000000110010000.X....
000010000000001000000000000000000000000011111101...... …Run Code Online (Sandbox Code Playgroud) 我可以通过执行以下两个命令将串行设备输出转换为十六进制格式:
cat /dev/ttyUSB0 > data.dump #send some data to serial device, and interrupt cat using Ctrl+C after some time
xxd data.dump
Run Code Online (Sandbox Code Playgroud)
它给我的输出如下:
00000000: 80ff ffff ffff ffff ffff ffff ffff ..............
Run Code Online (Sandbox Code Playgroud)
但我想用一个命令来执行此操作,以查看实时数据流,但这些命令都不适合我:
cat /dev/ttyUSB0 | xxd
xxd /dev/ttyUSB0
hexdump /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)
这些命令根本没有给我任何输出,这里有什么问题?我正在使用zshshell,并在 fedora 操作系统上工作。
例如,使用 hexdump,我可以查看主引导记录的二进制内容。同样,我想看看我的 gpt 是什么样的。它位于 EFI 系统分区的某个位置吗?我只找到了不同的 .efi 文件,没有任何关于分区表之类的东西的提示。
有没有办法将文件的二进制内容显示为 0 和 1?
所以,而不是这样的事情:
DE AD BE EF
Run Code Online (Sandbox Code Playgroud)
我们可以得到这样的输出:
11011110 10101101 10111110 11101111
Run Code Online (Sandbox Code Playgroud)
有没有办法用基本的命令行程序/开关来做到这一点?
当我打开一个二进制文件(在本例中是C:\\Windows\\System32\\notepad.exe)时,对于同一个文件,不同的十六进制编辑器彼此显示不同的结果。我在节头的起始点测试了它,所以注意2E 74 65 78 74 00 00 00( ".text...")的起始地址。
hexdump ×13
linux ×9
xxd ×3
command-line ×2
dd ×2
hex-editor ×2
windows ×2
conversion ×1
efi ×1
file-format ×1
gpt ×1
hexadecimal ×1
memory ×1
partitioning ×1
php ×1
serial-port ×1
uefi ×1
window ×1
windows-7 ×1
zsh ×1