您的位置:首页 > 运维架构 > Linux

Linux 查看16进制文件

2016-01-17 20:08 525 查看
查看一些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|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: