欢迎来到天天文库
浏览记录
ID:8819990
大小:58.34 KB
页数:49页
时间:2018-04-08
《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.
此文档下载收益归作者所有