Alguém sabe alguma forma de ler os bytecodes de um .class? Quando eu abro ele no vim (ou qualquer outro editor), aparecem vários caracteres estranhos e o código fica ilegível. Tenho certeza que existe alguma forma de ler bytecodes, pois tem muita gente que resolve problemas olhando o código gerado neles.
publicclassTeste{publicstaticvoidmain(String[]args){System.out.println("Se eu pudesse matava mil, mil, mil. Que eu so caba Homi. Mato inte o delegado.");}}
javap -c Teste:
Compiledfrom"Teste.java"publicclassTesteextendsjava.lang.Object{publicTeste();Code:0:aload_01:invokespecial#1;//Method java/lang/Object."<init>":()V4:returnpublicstaticvoidmain(java.lang.String[]);Code:0:getstatic#2;//Field java/lang/System.out:Ljava/io/PrintStream;3:ldc#3;//String Se eu pudesse matava mil, mil, mil. Que eu so caba Homi. Mato inte o delegado.5:invokevirtual#4;//Method java/io/PrintStream.println:(Ljava/lang/String;)V8:return}
saida com hexadump do Teste.class (man hexadump/hd no seu linux para mais opcoes): (Somente pra quem é caba Homi)
Não. Eu não gostaria de recuperar o source code, mas sim ler os bytecodes mesmo. Fiz a sujestão do GradeBook e deu certo. Se alguém souber de outro método, por favor, poste aqui.