正文描述:《java反编译各类异常情况》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、javaclass利用jad反编译之后,偶尔回碰到一些不正常的代码,例如:label0:_L1MISSING_BLOCK_LABEL_30、JVMINSTRret7、JVMINSTRtableswitch13:default269、JVMINSTRmonitorexit、JVMINSTRmonitorenter,这些一般是由特殊的for循环、trycatchfinally语句块、synchronized语句反编译后产生的。下面,就简单介绍一下,一些反编译后的特殊代码的还原规则。本文在Jdk1.4
2、.2_08+jad1.58f下测试。 第一部分、for、while循环 1、普通的循环,原始 viewplaincopytoclipboardprint? Java代码 1.public void f1() { 2. boolean flag = false; 3. if (Boolean.getBoolean("sys")) { 4. System.out.println("sys"); 5. }
3、 else { 6. for (int i = 0; i < 10; i++) { 7. flag = Boolean.getBoolean("sys"); 8. if (flag) { 9. System.exit(0); 10. } 11. } 12.
4、} 13. } Java代码 1.public void f1() { 2. boolean flag = false; 3. if (Boolean.getBoolean("sys")) { 4. System.out.println("sys"); 5. } else { 6. for (int i = 0; i < 10; i++) { 7.
5、 flag = Boolean.getBoolean("sys"); 8. if (flag) { 9. System.exit(0); 10. } 11. } 12. } 13. } 反编译后的代码viewplaincopytoclipboardprint? Java代码 1.public void f1() 2.
6、 { 3. boolean flag = false; 4. if(Boolean.getBoolean("sys")) 5. { 6. System.out.println("sys"); 7. } else 8. { 9. for(int i = 0; i < 10; i++) 10.
7、 { 11. flag = Boolean.getBoolean("sys"); 12. if(flag) 13. System.exit(0); 14. } 15. 16. } 17. } Java代码 1.public void f1() 2.
8、 { 3. boolean flag = false; 4. if(Boolean.getBoolean("sys")) 5. { 6. System.out.println("sys"); 7. } else 8. { 9. for(int i = 0; i < 10; i++) 10. { 11.
显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。