Linux 查看16进制文件

本文详细介绍了如何使用hexdump命令在不同操作系统下查看与解析Java Class文件的16进制内容,包括文件的魔数转换、字节序解释以及通过ASCII码辅助理解文件结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看一些java的class文件时,经常需要使用16进制查看器,windows下的是winhex,linux下的就是hexdump了.

$ hexdump filename

这样打开的文件以两个字节为一组,其顺序取决于本机字节序.x86构架就是小端格式了

任意一个class文件:

0000000 feca beba 0000 3200 1f00 000a 0008 0715

正常情况下的jvm class 文件的魔数由 cafe babe变成了 feca beba .(class文件采用了大端格式).

这样看起来非常不习惯,也容易出错.

$hexdump -C filename

这样就可以了,并且在控制台右侧还会显示翻译的acsii码

00000000  ca fe ba be 00 00 00 32  00 1f 0a 00 08 00 15 07  |.......2........|
00000010  00 16 0a 00 02 00 15 07  00 17 0a 00 04 00 15 0b  |................|
00000020  00 18 00 19 07 00 1a 07  00 1b 01 00 09 4f 4f 4d  |.............OOM|
00000030  4f 62 6a 65 63 74 01 00  0c 49 6e 6e 65 72 43 6c  |Object...InnerCl|
00000040  61 73 73 65 73 01 00 06  3c 69 6e 69 74 3e 01 00  |asses...<init>..|
00000050  03 28 29 56 01 00 04 43  6f 64 65 01 00 0f 4c 69  |.()V...Code...Li|
00000060  6e 65 4e 75 6d 62 65 72  54 61 62 6c 65 01 00 04  |neNumberTable...|
00000070  6d 61 69 6e 01 00 16 28  5b 4c 6a 61 76 61 2f 6c  |main...([Ljava/l|
00000080  61 6e 67 2f 53 74 72 69  6e 67 3b 29 56 01 00 0d  |ang/String;)V...|
00000090  53 74 61 63 6b 4d 61 70  54 61 62 6c 65 07 00 1c  |StackMapTable...|
000000a0  01 00 0a 53 6f 75 72 63  65 46 69 6c 65 01 00 0c  |...SourceFile...|
000000b0  48 65 61 70 4f 4f 4d 2e  6a 61 76 61 0c 00 0b 00  |HeapOOM.java....|
000000c0  0c 01 00 13 6a 61 76 61  2f 75 74 69 6c 2f 41 72  |....java/util/Ar|
000000d0  72 61 79 4c 69 73 74 01  00 11 48 65 61 70 4f 4f  |rayList...HeapOO|
000000e0  4d 24 4f 4f 4d 4f 62 6a  65 63 74 07 00 1c 0c 00  |M$OOMObject.....|
000000f0  1d 00 1e 01 00 07 48 65  61 70 4f 4f 4d 01 00 10  |......HeapOOM...|
00000100  6a 61 76 61 2f 6c 61 6e  67 2f 4f 62 6a 65 63 74  |java/lang/Object|


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值