用hexdump -c 文件名可直接输出清晰的十六进制+ascii对照视图,每行含偏移地址、16字节十六进制值及对应ascii字符(不可见符显示为.),兼容性强,适合逆向分析;大文件可加| less分页浏览并支持搜索。

要在Mac终端中快速查看任意二进制文件(如a.out、firmware.bin、加密密钥文件)的原始字节结构,不依赖图形界面、不安装额外软件,直接用系统自带命令输出清晰可读的十六进制+ASCII对照视图。
用hexdump -C查看标准十六进制视图
这一步最常用,输出格式稳定、兼容性强,适合绝大多数诊断场景。
在终端中输入:hexdump -C 文件名,例如hexdump -C payload.bin。
输出每行包含:左侧十六进制偏移地址 → 中间16列十六进制字节 → 右侧对应ASCII字符(不可见字符显示为.)。这种三栏对齐格式是逆向分析和协议解析的基础视图。
若文件过大导致刷屏,可加| less分页浏览:hexdump -C huge.bin | less。按q退出,按/可搜索字节序列(如/ff d8 ff查JPEG头)。
用xxd生成更紧凑的十六进制转储
xxd输出默认每行16字节,但排版更紧凑,地址与数据之间无空格,且支持反向转换(-r),适合需要后续编辑再还原的流程。
运行:xxd 文件名,例如xxd config.dat。
注意:xxd默认不显示右侧ASCII栏,如需显示,请用xxd -p以外的选项——实际应使用xxd -c 16 -g 1增强可读性,其中-c 16强制每行16字节,-g 1让每个字节单独分组(避免2字节合并显示成7765而误判为单个16位值)。
【关键区别】 hexdump -C把0a显示为换行符对应的.,而xxd默认保留0a原样;若你正比对网络包或固件头,这个细节会影响你是否一眼识别出换行/空字节位置。
炫酷的jQuery二进制数字时钟,它的时分秒都是用二进制来表示,绿色表示该位值是1,灰色则表示0,原理是将时钟的时分秒分别实时转换成二进制,然后随着本地时间的更新而实时刷新
用od命令查看特定进制或结构化字节
od(octal dump)更灵活,适合按整数单位解读字节流,比如把连续4字节当作一个32位整数来看。
方法一:查看十六进制并附带ASCII —— od -xc 文件名。输出中每组两个字节被倒序显示(小端序),例如welcome首二字节w(77)和e(65)会显示为6577,这是od的默认行为,不是错误。
方法二:按4字节有符号整数解读 —— od -i 文件名。适用于快速扫视PE/ELF文件中的节大小、虚拟地址等字段,跳过手动换算。
方法三:只看前100字节快速定位文件头 —— od -N 100 -x 文件名。避免加载整个GB级镜像文件,节省时间。
大文件或分区级十六进制查看(需sudo)
当目标不是普通文件,而是磁盘镜像、DMG、甚至裸设备(如/dev/disk2s1),必须绕过文件系统缓存,直接读取原始扇区。
第一步:确认设备路径,用diskutil list查出目标标识,例如/dev/disk3s2。
第二步:用dd截取前几KB,再经hexdump处理:sudo dd if=/dev/disk3s2 count=2048 bs=512 2>/dev/null | hexdump -C。
这里bs=512匹配传统扇区大小,count=2048即读取1MB,2>/dev/null屏蔽dd进度提示,确保hexdump只收到纯净字节流。
【不可逆风险】 若误将if=写成of=并加上sudo,可能覆写硬盘引导区,导致系统无法启动。










