首页 > 编程知识 正文

如何反编译class,idea反编译jar包并修改

时间:2023-05-04 11:00:36 阅读:106598 作者:882

Jad实际上是一个很好的反汇编工具,在命令行中使用。 Jad不仅限于IDEA,在eclipse下也有插件。 在此记录Jad IDEA下的配置。

要补充的是,在windows上不要将Jad解压缩到有空格的路径中。 反编译失败。 安装完成后,必须设置jad.exe的路径。 jad有智能提示。

测试一下Jad的反汇编效果吧。

源代码:

packagecom.hankcs.strings; //: strings/concatenation.Java

公共类契约

{

publicstaticvoidmain (string [ ] args ) )。

{

Stringmango='mango ';

Strings='abc' mango 'def' 47;

system.out.println(s;

}

(}/*Output:

abcmangodef47

*///:~

先编译后反编译的结果:

/* decompiledthroughintellijad * /

//decompiledbyjadv1.5. 8g.copyright 2001 pavelkouznetsov。

//jad home page :http://www.KP dus.com/jad.html

//decompiler options 3360 pack fields (3) packimports(3)3) splitstr (64 ) radix ) 10 ) Lradix ) 10 ) ) )

//source filename 3360 concatenation.Java

packagecom.hankcs.strings;

公共类契约

{

publicConcatenation (

{

}

publicstaticvoidmain (string args [ ] ) ) )。

{

Stringmango='mango ';

strings=(newstringbuilder () ).append (append (mango ).append (def ).append (47 ).toString ) ) )

system.out.println(s;

}

}

反编译的结果与原始代码大部分相同,但在编译时编译器会将String替换为更高性能的StringBuilder。 从反编译的代码中可能可以看到Java编译器的优化效果。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。