ASMfier工具使用

ASMfier完成類似TraceClassVisitor的功能,可以直接打印出asm的字節碼。使用方法如下

java -cp E:\study\asm\asm-4.0\lib\asm-4.0.jar;E:\study\asm\asm-4.0\lib\asm-util-4.0.jar org.objectweb.asm.util.ASMifier  java.lang.Runnable

添加asm的兩個jar包,asm-4.0.jar和asm-util-4.0.jar,然後運行存在的類文件,就會輸出結果!

結果如圖:

package asm.java.lang;
import java.util.*;
import org.objectweb.asm.*;
import org.objectweb.asm.attrs.*;
public class RunnableDump implements Opcodes {

public static byte[] dump () throws Exception {

ClassWriter cw = new ClassWriter(0);
FieldVisitor fv;
MethodVisitor mv;
AnnotationVisitor av0;

cw.visit(V1_5, ACC_PUBLIC + ACC_ABSTRACT + ACC_INTERFACE, "java/lang/Runnable",
null, "java/lang/Object", null);

{
mv = cw.visitMethod(ACC_PUBLIC + ACC_ABSTRACT, "run", "()V", null, null);
mv.visitEnd();
}
cw.visitEnd();

return cw.toByteArray();
}
}


發佈了54 篇原創文章 · 獲贊 37 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章