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|
$ 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|
相关文章推荐
- Linux下查看用户列表
- 嵌入式linux学习笔记 之 按键与中断
- 嵌入式linux学习笔记 之 按键与中断
- Linux系统操作mysql数据库
- Mysql 於lampp xampp LinuxUbuntu下的配置
- Linux统计文件个数
- Linux 高性能server编程——高级I/O函数
- 虚拟机linux下安装jdk和 hadoop
- 救援模式
- linux特效
- 单用户模式
- linux awk命令详解
- 解决Linux系统中文显示乱码的问题
- 在VMware虚拟机中安装CentOS 7
- Centos6.7换源
- I.MX6 Linux udev porting
- linux学习笔记(7)=》ubunt…
- (转)linux下&nbsp;gcc&amp;nbsp…
- wps&nbsp;for&nbsp;linux64位版文…
- Linux&nbsp;汇编语言开发指南