Mac/linux使用vim查看字节码文件/.class文件方式

Mac/linux查看字节码文件/.class文件方式

这里使用的是.class文件举例

首先要有一个.class文件我这里随便找了一个.class文件

然后打开终端或者iTerm

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K3xvEh1A-1647445330229)(Maclinux%E6%9F%A5%E7%9C%8B%E5%AD%97%E8%8A%82%E7%A0%81%E6%96%87%E4%BB%B6.class%E6%96%87%E4%BB%B6%E6%96%B9%E5%BC%8F.assets/image-20220316231835183.png)]

vim '你的文件路径'

回车进入然后使用 :!xxd 将文件转换成16进制现实

  • 源文件

    在这里插入图片描述

  • 使用vim 命令

    :%!xxd
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zhTHJ49W-1647445330230)(Maclinux%E6%9F%A5%E7%9C%8B%E5%AD%97%E8%8A%82%E7%A0%81%E6%96%87%E4%BB%B6.class%E6%96%87%E4%BB%B6%E6%96%B9%E5%BC%8F.assets/image-20220316234036543.png)]

完成

当我们保存退出之后尝试cat

➜  ~  cat /Users/zangzihe/Desktop/GitHub/Son.class
00000000: cafe babe 0000 0034 0028 0a00 0800 1908  .......4.(......
00000010: 001a 0900 0700 1b09 001c 001d 0800 1e0a  ................
00000020: 001f 0020 0700 2107 0022 0100 0469 6e66  ... ..!.."...inf
00000030: 6f01 0012 4c6a 6176 612f 6c61 6e67 2f53  o...Ljava/lang/S
00000040: 7472 696e 673b 0100 063c 696e 6974 3e01  tring;...<init>.
00000050: 0003 2829 5601 0004 436f 6465 0100 0f4c  ..()V...Code...L
00000060: 696e 654e 756d 6265 7254 6162 6c65 0100  ineNumberTable..
00000070: 124c 6f63 616c 5661 7269 6162 6c65 5461  .LocalVariableTa
00000080: 626c 6501 0004 7468 6973 0100 174c 636f  ble...this...Lco
00000090: 6d2f 6174 6775 6967 752f 6a61 7661 312f  m/atguigu/java1/
000000a0: 536f 6e3b 0100 0773 6574 496e 666f 0100  Son;...setInfo..
000000b0: 1528 4c6a 6176 612f 6c61 6e67 2f53 7472  .(Ljava/lang/Str
000000c0: 696e 673b 2956 0100 0767 6574 496e 666f  ing;)V...getInfo
000000d0: 0100 1428 294c 6a61 7661 2f6c 616e 672f  ...()Ljava/lang/
000000e0: 5374 7269 6e67 3b01 0004 7368 6f77 0100  String;...show..
000000f0: 0a53 6f75 7263 6546 696c 6501 0015 4d65  .SourceFile...Me
00000100: 7468 6f64 496e 766f 6b65 5465 7374 2e6a  thodInvokeTest.j
00000110: 6176 610c 000b 000c 0100 09e5 b09a e7a1  ava.............
00000120: 85e8 b0b7 0c00 0900 0a07 0023 0c00 2400  ...........#..$.
00000130: 2501 0005 6865 6c6c 6f07 0026 0c00 2700  %...hello..&..'.
00000140: 1301 0015 636f 6d2f 6174 6775 6967 752f  ....com/atguigu/
00000150: 6a61 7661 312f 536f 6e01 0018 636f 6d2f  java1/Son...com/
00000160: 6174 6775 6967 752f 6a61 7661 312f 4661  atguigu/java1/Fa
00000170: 7468 6572 0100 106a 6176 612f 6c61 6e67  ther...java/lang
00000180: 2f53 7973 7465 6d01 0003 6f75 7401 0015  /System...out...
00000190: 4c6a 6176 612f 696f 2f50 7269 6e74 5374  Ljava/io/PrintSt
000001a0: 7265 616d 3b01 0013 6a61 7661 2f69 6f2f  ream;...java/io/
000001b0: 5072 696e 7453 7472 6561 6d01 0007 7072  PrintStream...pr
000001c0: 696e 746c 6e00 2000 0700 0800 0000 0100  intln. .........
000001d0: 0200 0900 0a00 0000 0400 0000 0b00 0c00  ................
000001e0: 0100 0d00 0000 3900 0200 0100 0000 0b2a  ......9........*
000001f0: b700 012a 1202 b500 03b1 0000 0002 000e  ...*............
00000200: 0000 000a 0002 0000 0026 0004 0027 000f  .........&...'..
00000210: 0000 000c 0001 0000 000b 0010 0011 0000  ................
00000220: 0001 0012 0013 0001 000d 0000 003e 0002  .............>..
00000230: 0002 0000 0006 2a2b b500 03b1 0000 0002  ......*+........
00000240: 000e 0000 000a 0002 0000 002a 0005 002b  ...........*...+
00000250: 000f 0000 0016 0002 0000 0006 0010 0011  ................
00000260: 0000 0000 0006 0009 000a 0001 0001 0014  ................
00000270: 0015 0001 000d 0000 002f 0001 0001 0000  ........./......
00000280: 0005 2ab4 0003 b000 0000 0200 0e00 0000  ..*.............
00000290: 0600 0100 0000 2e00 0f00 0000 0c00 0100  ................
000002a0: 0000 0500 1000 1100 0000 0900 1600 0c00  ................
000002b0: 0100 0d00 0000 2500 0200 0000 0000 09b2  ......%.........
000002c0: 0004 1205 b600 06b1 0000 0001 000e 0000  ................
000002d0: 000a 0002 0000 0032 0008 0033 0001 0017  .......2...3....
000002e0: 0000 0002 0018 0a                        .......

版权声明:本文为weixin_43194885原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。