反编译教程-03(jad 常见问题)解决error
2013-05-10 18:17
579 查看
我安装了JadClipse插件来反编译.class文件,有些.class可以完全反编译出来,但有些.class只能反编译一部分并报出这样的错误:
/*
DECOMPILATION REPORT
Decompiled from: C:\Documents and Settings\Administrator\桌面\js控制\barcode.jar
Total time: 328 ms
Jad reported messages/errors:
Couldn't fully decompile method opas
Couldn't fully decompile method pasd
Couldn't fully decompile method sdfg
Couldn't fully decompile method dfgh
Couldn't fully decompile method fghj
Couldn't fully decompile method ghjk
Couldn't fully decompile method zxcv
Couldn't fully decompile method nmqw
Exit status: 0
Caught exceptions:
*/
这是什么原因呢,请高手指教
附myeclipse插件反编译的配置:
准备工作
下载jad.exe文件:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip
下载jadeclipse插件:http://prdownloads.sourceforge.net/jadclipse/net.sf.jadclipse_3.3.0.jar?download
JadClipse 官网:http://jadclipse.sourceforge.net/wiki/index.php/Main_Page
安装
将jad.exe解压到指定目录。如:C:\jdk1.5.0_12\bin\jad.exe(全路径)
将jadeclipse插件net.sf.jadclipse_3.3.0.jar 拷贝到myeclipse安装目录\Genuitec\Common\plugins\目录下。
在myeclipse安装目录下dropins/创建eclipse文件夹,然后在eclipse文件夹中分别创建features、plugins文件夹,将net.sf.jadclipse_3.3.0.jar 分别拷贝到features和plugins文件夹中。
重新启动myeclipse后,配置jadeclipse插件
在eclipse窗口下,点击Window > Preferences > Java > JadClipse > Path to Decompiler。(设置jad的绝对路径,如 C:\java\Jad\jad.exe)。Use Eclipse code formatter(overrides Jad formatting instructions)选项打勾,与格式化出来的代码样式一致。
在eclipse窗口下,点击Window > Preferences > Java > JadClipse > Misc,将Convert Unicode strings into ANSI strings选项打勾,避免反编译后可能出现的中文乱码。
Java反编译工具开始是使用小颖,后来使用DJ Java Decompiler(破解版,嘿嘿),后来不能用了,用google一搜,发现大家都开始使用jad+jadclipse了,用了一段时间了,发现真是好用啊。看来要经常跳上井沿
102e2
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
/*
DECOMPILATION REPORT
Decompiled from: C:\Documents and Settings\Administrator\桌面\js控制\barcode.jar
Total time: 328 ms
Jad reported messages/errors:
Couldn't fully decompile method opas
Couldn't fully decompile method pasd
Couldn't fully decompile method sdfg
Couldn't fully decompile method dfgh
Couldn't fully decompile method fghj
Couldn't fully decompile method ghjk
Couldn't fully decompile method zxcv
Couldn't fully decompile method nmqw
Exit status: 0
Caught exceptions:
*/
这是什么原因呢,请高手指教
附myeclipse插件反编译的配置:
准备工作
下载jad.exe文件:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip
下载jadeclipse插件:http://prdownloads.sourceforge.net/jadclipse/net.sf.jadclipse_3.3.0.jar?download
JadClipse 官网:http://jadclipse.sourceforge.net/wiki/index.php/Main_Page
安装
将jad.exe解压到指定目录。如:C:\jdk1.5.0_12\bin\jad.exe(全路径)
将jadeclipse插件net.sf.jadclipse_3.3.0.jar 拷贝到myeclipse安装目录\Genuitec\Common\plugins\目录下。
在myeclipse安装目录下dropins/创建eclipse文件夹,然后在eclipse文件夹中分别创建features、plugins文件夹,将net.sf.jadclipse_3.3.0.jar 分别拷贝到features和plugins文件夹中。
重新启动myeclipse后,配置jadeclipse插件
在eclipse窗口下,点击Window > Preferences > Java > JadClipse > Path to Decompiler。(设置jad的绝对路径,如 C:\java\Jad\jad.exe)。Use Eclipse code formatter(overrides Jad formatting instructions)选项打勾,与格式化出来的代码样式一致。
在eclipse窗口下,点击Window > Preferences > Java > JadClipse > Misc,将Convert Unicode strings into ANSI strings选项打勾,避免反编译后可能出现的中文乱码。
Java反编译工具开始是使用小颖,后来使用DJ Java Decompiler(破解版,嘿嘿),后来不能用了,用google一搜,发现大家都开始使用jad+jadclipse了,用了一段时间了,发现真是好用啊。看来要经常跳上井沿
102e2
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
相关文章推荐
- 集lamp搭建、DVWA搭建、sqli-labs搭建配置教程及常见问题解决之二
- Linux环境下Mysql的安装教程及安装过程常见问题的解决方法
- MySQL下常见的启动失败与备份失败问题的解决教程
- MySQL下常见的启动失败与备份失败问题的解决教程
- VMware12安装虚拟机教程、Ubuntu16.04安装教程、常见问题解决方法
- Swift教程_swift常见问题(0006)_完美解决swift数组索引是变量时的内存溢出
- MySQL5.7安装教程及常见问题解决
- 【Github】Github命令行快速使用教程及常见问题解决
- 安装SQL server2008教程及常见问题的解决
- 在使用VC++6.0常见问题“Error spawning cl.exe”的解决方法
- 解决一个非常小的常见的问题-安装软件configure时 error: C compiler cannot create executables
- DKhadoop安装配置教程与常见问题解决方法
- wdcp安装教程及常见问题解决方法
- MySQL下常见的启动失败与备份失败问题的解决教程
- Genymotion配置和使用教程以及常见问题解决方法
- Swift教程_swift常见问题(0005)_完美解决Cannot override 'dealloc'异常
- 集lamp搭建、DVWA搭建、sqli-labs搭建配置教程及常见问题解决之一
- Swift教程_swift常见问题(0005)_完美解决Cannot override 'dealloc'异常
- rsync @ERROR: auth failed on module backup 解决思路及附录rsync常见问题及解决办法