Java反编译工具体会收藏
做Java已经有4年多了,Java反编译工具开始是使用小颖,后来使用DJ Java Decompiler(破解版,嘿嘿),后来不能用了,用google一搜,发现大家都开始使用jad+jadclipse了,用了一段时间了,发现真是好用啊。看来要经常跳上井沿goole以下阿,了解一下新动态。
看jad网站说jad的bug和限制:
1.包含有内部类,则jad处理构造函数的参数时会出错;
2.不支持zip和jar包。(注:如果使用Eclipse插件,则很容易得到包中的某个类的反编译代码)
3.当有标签块,嵌套循环中有break/continue,有goto语句的时候,会提示信息“Couldn't fully decompile method <name>”;当有try-catch-finally语句的时候会提示信息“Couldn't resolve all exception handlers in method <name>”
4. Currently Jad ignores the contents of the Line Number Table Attribute and the Source File Attribute(不明白什么意思)
5.JAD不能处理继承信息,总是把java.lang.Object作为两个不同类的通用父类,需要的时候做强制转换
6.jad对inlined functions处理不好
jad使用过程中发现
SharkUtilities.releaseTransaction(t);
break MISSING_BLOCK_LABEL_89;
Exception exception;
exception;
SharkUtilities.releaseTransaction(t);
throw exception;这个一般是try-catch-finally语句中的
finally...{
SharkUtilities.releaseTransaction(t);
}语句。
类似于
Exception ex;
if(!connected)
throw new NotConnected("The connection is not established...");
SecurityManager sm = SharkEngineManager.getInstance().getSecurityManager();
if(sm != null)
try
...{
sm.check_executionadministration_get_sequence_processmgr(t, userId);
}
// Misplaced declaration of an exception variable
catch(Exception ex)
...{
throw new BaseException(ex);
}
return SharkEngineManager.getInstance().getObjectFactory().createProcessMgrIteratorWrapper(t, userId).get_next_n_sequence(t, max_number);
ex;
cus.info("ExecutionAdmin -> Unexpected error while user tries to get the list of process managers");
throw new BaseException(ex);应该是
try...{
if(!connected)
throw new NotConnected("The connection is not established...");
SecurityManager sm = SharkEngineManager.getInstance().getSecurityManager();
if(sm != null)
try
...{
sm.check_executionadministration_get_sequence_processmgr(t, userId);
}
// Misplaced declaration of an exception variable
catch(Exception ex)
...{
throw new BaseException(ex);
}
return SharkEngineManager.getInstance().getObjectFactory().createProcessMgrIteratorWrapper(t, userId).get_next_n_sequence(t, max_number);
}catch(Exception ex)...{
cus.info("ExecutionAdmin -> Unexpected error while user tries to get the list of process managers");
throw new BaseException(ex);
}嵌套try-catch
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lkj107/archive/2008/05/26/2484191.aspx
JAD解决MISSING_BLOCK_LABEL心得
4星 · 超过85%的资源 需积分: 49 18 浏览量
2011-04-03
21:50:43
上传
评论
收藏 1KB RAR 举报
lajilaji
- 粉丝: 0
- 资源: 7
最新资源
- C语言基础-C语言编程基础之Leetcode编程题解之第33题搜索旋转排序数组.zip
- 基于Python实现的手写数字识别系统源码.zip
- 从网页提取禁止转载的文字
- C语言基础-C语言编程基础之Leetcode编程题解之第32题最长有效括号.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第31题下一个排列.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第30题串联所有单词的子串.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第29题两数相除.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第28题找出字符串中第一个匹配项的下标.zip
- 实验报告模板(1).docx
- C语言基础-C语言编程基础之Leetcode编程题解之第26题删除有序数组中的重复项.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
前往页