欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Windows命令行下的十六进制文件查看工具Hexdump

程序员文章站 2024-03-24 19:25:34
...

Hexdump for Windows官网下载地址:https://www.di-mgt.com.au/hexdump-for-windows.html

在官网找到这个下载地址
Windows命令行下的十六进制文件查看工具Hexdump

下载之后记得校验哈希值
Windows命令行下的十六进制文件查看工具Hexdump

解压后,添加个这个路径的环境变量即可在终端运行
Windows命令行下的十六进制文件查看工具Hexdump

官方readme.md (机翻了一下以便给读者更直观的体验)

Hexdump.exe for windows

一个Linux实用程序的简化版本,用于把文件以16进制形式的内容显示

>hexdump -h
Usage: hexdump [OPTION]... [FILE]
Display contents of FILE in hexadecimal.
With no FILE, read standard input.
 -C Canonical hex+ASCII display: add display of bytes as printable ASCII chars
 -H add ASCII display with escaped Html entities (e.g. '&' --> '&')
 -R add display of bytes in Raw format
 -V display version information and exit
 -h display this help and exit
 
>hexdump abc.txt
000000  61 62 63

>hexdump mexico-utf8.txt
000000  4f 6c c3 a1 20 6d 75 6e 64 6f 20 4d c3 a9 78 69
000010  63 6f 20 3c 26 3e 0d 0a	

原字符串是: Olá mundo México <&> 之后换行

规范的十六进制+ ASCII显示

>hexdump -C mexico-utf8.txt
000000  4f 6c c3 a1 20 6d 75 6e 64 6f 20 4d c3 a9 78 69  Ol.. mundo M..xi
000010  63 6f 20 3c 26 3e 0d 0a                          co <&>..


为多个文件执行。 这是编码和行尾的3种不同变体.

>for %f in (mexico*.txt) do @echo %f & hexdump -C %f
mexico-latin1.txt
000000  4f 6c e1 20 6d 75 6e 64 6f 20 4d e9 78 69 63 6f  Ol. mundo M.xico
000010  20 3c 26 3e 0d 0a                                 <&>..
mexico-utf8-bom-unix.txt
000000  ef bb bf 4f 6c c3 a1 20 6d 75 6e 64 6f 20 4d c3  ...Ol.. mundo M.
000010  a9 78 69 63 6f 20 3c 26 3e 0a                    .xico <&>.
mexico-utf8.txt
000000  4f 6c c3 a1 20 6d 75 6e 64 6f 20 4d c3 a9 78 69  Ol.. mundo M..xi
000010  63 6f 20 3c 26 3e 0d 0a                          co <&>..

在批处理文件中,将 %f 替换为%f%.

在规范显示中转义HTML实体

如果您要复制并粘贴到HTML网页中,则很有用

>hexdump -H mexico-utf8.txt
000000  4f 6c c3 a1 20 6d 75 6e 64 6f 20 4d c3 a9 78 69  Ol.. mundo M..xi
000010  63 6f 20 3c 26 3e 0d 0a                          co &lt;&amp;&gt;..

显示原始字节

>hexdump -R mexico-latin1.txt
000000  4f 6c e1 20 6d 75 6e 64 6f 20 4d e9 78 69 63 6f  Olß mundo MÚxico
000010  20 3c 26 3e 0d 0a                                 <&>..

这样会在右侧显示原始字节,在Windows控制台上可能显示的不是很好,但是您可以重定向到新文件。

hexdump -R mexico-latin1.txt > mexico-latin1.out

从标准输入读取

>type 1-23.txt
12345678901234567890123

>type 1-23.txt | hexdump -C
000000  31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36  1234567890123456
000010  37 38 39 30 31 32 33                             7890123

>echo abc | hexdump -C
000000  61 62 63 20 0a                                   abc .

注意Windows中echo添加的额外的LF字符。

David Ireland
DI Management Services Pty Ltd
Australia
http://www.di-mgt.com.au/contact
2.0版于2017年7月2日首次发布。

帮助文档

PS C:\Users\Administrator> hexdump -h
Usage: hexdump [OPTION]... [FILE]
#用法: hexdump [OPTION]... [FILE]
Display contents of FILE in hexadecimal.
#以十六进制的形式显示文件内容
With no FILE, read standard input.
#如果没有文件,就读取标准输入
 -C Canonical hex+ASCII display: add display of bytes as printable ASCII chars
#-C 规范的 hex+ASCII 显示:将字节显示添加为可打印的ASCII字符
 -H add ASCII display with escaped Html entities (e.g. '&' --> '&amp;')
#-H 使用转义的HTML实体添加ASCII显示
 -R add display of bytes in Raw format
#-R 添加原始格式的字节显示
 -V display version information and exit
#-V 显示版本信息并退出
 -h display this help and exit
#-h 显示此帮助并退出
PS C:\Users\Administrator\Desktop\Test\php> php -f .\test.php > serialize.txt
PS C:\Users\Administrator\Desktop\Test\php> ls


    Directory: C:\Users\Administrator\Desktop\Test\php

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           6/20/2020 11:33 PM             95 serialize.txt
-a---           6/20/2020 11:25 PM            286 test.php
-a---           5/21/2020  5:42 PM              0 test1.php

PS C:\Users\Administrator\Desktop\Test\php> cat .\serialize.txt
O:6:"People":3:{s:4:"name";s:7:"m0c1nu7";s:9:" * gender";s:4:"male";s:11:" People age";i:19;}
PS C:\Users\Administrator\Desktop\Test\php>
PS C:\Users\Administrator\Desktop\Test\php>
PS C:\Users\Administrator\Desktop\Test\php>
PS C:\Users\Administrator\Desktop\Test\php> hexdump -C .\serialize.txt
000000  4f 3a 36 3a 22 50 65 6f 70 6c 65 22 3a 33 3a 7b  O:6:"People":3:{
000010  73 3a 34 3a 22 6e 61 6d 65 22 3b 73 3a 37 3a 22  s:4:"name";s:7:"
000020  6d 30 63 31 6e 75 37 22 3b 73 3a 39 3a 22 00 2a  m0c1nu7";s:9:".*
000030  00 67 65 6e 64 65 72 22 3b 73 3a 34 3a 22 6d 61  .gender";s:4:"ma
000040  6c 65 22 3b 73 3a 31 31 3a 22 00 50 65 6f 70 6c  le";s:11:".Peopl
000050  65 00 61 67 65 22 3b 69 3a 31 39 3b 7d 0d 0a     e.age";i:19;}..
PS C:\Users\Administrator\Desktop\Test\php>