Jad FQ

2023-10-28 16:18
文章标签 jad fq

本文主要是介绍Jad FQ,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

FAQ

Q1: Is the source code of Jad available?

A1: Currently I have no plans to release the Jad source code for any purposes including porting to other computer platforms.

Q2: What is the option -dead for?

A2: This option forces Jad to decompile the dead portions of bytecode. For example, non-optimizing compilation of the following code can produce the dead bytecode:

      if (false) 
{
...
}
This option should be on by default, but the incorrect dead bytecode can crash Jad.

Q3: Why does Jad fail to generate the throws clause in the method declarations like the one in

       int divide(int a, int b) throws DivideByZero { ... }   ?

A3: This throws clause is represented in the Java class files by the Exceptions attribute. The Java Virtual Machine itself doesn't use these attributes (well, at least, the common implementations of JVM), so they can be stripped out of the Java class files. Jad has no way of restoring this information in full if it's missing from the class file.

Q4: Why does Jad generate weird-looking static fields like class$java$lang$Float and static methods class$(String)?

A4: These fields/methods are the internal representation of the <classname>.class expression and automatically generated by compiler. For example, java.lang.Thread.class is translated into the following:

...
((class$java$lang$Thread == null) ?
(class$java$lang$Thread = class$("java.lang.Thread")) :
class$java$lang$Thread);
...
static Class class$(String s)
{
try
{
return Class.forName(s);
}
catch(ClassNotFoundException ex)
{
throw new NoClassDefFoundError(ex.getMessage());
}
}
static Class class$java$lang$Thread;
This is fixed in 1.5.8. The explanation for the previous versions: Jad doesn't convert all that back to the original expression, but apparently the Sun JDK 1.2 compiler is able to compile "the long format" successfully. JDK 1.3 compiler doesn't accept names containing class$, so in order to recompile the decomplied class you need to change all expressions similar to the conditional expression above to <classname>.class and remove static methods/fields whose names start with class$.

Q5: Jad refuses to decompile my class file saying "Class file version mismatch". What can I do?

A5: Use -debug option. Jad then complains about the version mismatch, but attempts to decompile the file anyway. Note that this works starting from the version 1.5.6e.

Q6: Jad fails to decompile my class file, it spits out a bunch of gotos and JVM instructions. Why is that?

A6: There could be several possible reasons: the class file has been obfuscated or it was produced by non-JDK Java compiler or some functions were inlined by Java compiler. Generally Jad works best with class files generated by Sun Java compilers. If you encounter such a behaviour, please send me a bug report with attached .class files.

Q7: How to decompile jar or zip archive with classes?

A7: "Unjar" (jar xvf <jarfile>) or unzip (using unzip or WinZip) the archive into a directory on your hard drive. Then see the next answer.

Q8: How to decompile the whole class tree?

A8: Run

      jad -r [-d<directory_for_sources>] [<other_options>] <directory_with_classes>**/*.class
On Unix the last argument should be in single quotes. For more information please read Readme.txt.

Q9: Why do I get "Class <<ambiguous>>List not found" from the compiler?

A9: There are two List classes: java.awt.List and java.util.List. If Jad generates two import directives:

	import java.awt.*; 
import java.util.*;
and your class actually uses the List class, the compiler will complain. Prior version 1.5.7d use the command-line option -pi to prevent Jad from combining the import directives.

Q10: How to make the command-line options -ff -nonlb -space -t to be on by default?

A10: Use the environment variable JAD_OPTIONS to permanently override the default settings. The example for Windows:

	set JAD_OPTIONS=-ff+ -nonlb+ -t+ -space+

Q11: How to extract Java classes from an executable file (.exe)?

A11: Use the Java-Split utility written by the Decafe Pro team. Download it from http://decafe.hypermart.net/javasplit.htm.
Or use J++Extract from
http://www.multimania.com/dolmen/productions.

Q12: What does the error message "JavaClassFileParseException: Invalid tag value 0x0" mean exactly?

A12: It means that your file is not a valid Java class and Jad was unable to parse it successfully. Either the file was broken (for example, during download) or the package this class belongs to contains a custom Java class loader that modifies (or decrypts) Java classes after reading them into the memory. In both cases Jad cannot decompile this file as it is.

 

这篇关于Jad FQ的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/294407

相关文章

【笔记】Eclipse反编译工具Jad及插件JadClipse配置

针对问题:Ctrl+鼠标左键(或者F3)查看class源码的时候提示:Source Not Found。 准备工具: ①jadclipse 下载传送门注意选择与eclipse版本一致的版本。(我用的是Eclipse4.4.1,选择下载版本net.sf.jadclipse_3.3.0.jar,经过测试可用)②jad.exe 下载传送门 选择对应操作系统的版本。 步骤:

jad 反编译的使用方法

最近看到好多大神学习java源码,感觉好高大上有没有,都是class文件自己不会看有没有!!!        下面给大家介绍如何反编译         当然是用工具jad啦! jad简单用法(以下假设jad.exe在D:\JDK\jad目录下) 一、基本用法  Usage: jad[option(s)]  直接输入类文件名,且支持通配符,如下所示。  D:\JDK\jad>j

Eclipse安装反编译jad插件

原文地址: http://tangmingjie2009.iteye.com/blog/1916992 本机Eclipse版本: Eclipse Java EE IDE for Web Developers. Version: Kepler Service Release 1 试验成功   Eclipse的反编译插件一直在用jad,感觉很不错。   刚下了个新版的eclipse,配置jad的时

Eclipse学习之道:Eclipse反编译工具JAD.exe使用

一:下载插件 JAD : http://www.kpdus.com/jad.html#download(选择与操作系统对应的版本) JadClipse:http://sourceforge.net/project/showfiles.php?group_id=40205(选择Eclipse支持的版本) 二:安装 1,将下载到的JAD反编译工具解压,将得到的jad.exe放置到系统

【Eclipse】安装jad反编译插件

https://www.cnblogs.com/xxyfhjl/p/5836060.html

Android FQ

什么是ANR 如何避免它? ANR:Application Not Responding,五秒 在Android中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应。当出现下列情况时,Android就会显示ANR对话框了:  对输入事件(如按键、触摸屏事件)的响应超过5秒  意向接受器(intentReceiver)超过10秒钟仍未执行完毕 Android应用程序完全运行在一个独立

windows ubuntu 子系统:肿瘤全外篇,2. fq 数据质控,比对。

首先我们先下载一组全外显子测序数据。nabi sra库,随机找了一个。 来自受试者“16177_CCPM_1300019”(SRR28391647, SRR28398576)的样本“16177_CCPM_1300019_BB5”的基因组DNA配对端文库“0369547849_Illumina_P5-Popal_P7-Hefel”的Illumina随机外显子测序 下载下来,转为两个配对的fq

MyEclipse装JAD插件

一直都用MyEclipse6.5,现在用MyEclipse7.5   这几天要反编译人家的代码,想装个JAD,发现不会装插件,,   7.5的插件的文件夹和6.5的不一样,后来才发现原来7.5的插件文件夹在dropin里面,把下载的jar文件放进去,重启就可以了。

Eclipse 反编译插件安装jad

Eclipse的反编译插件一直在用jad,感觉很不错。   刚下了个新版的eclipse,配置jad的时候发现要多设置个东西。 从头开始   环境介绍: eclipse version:Kepler Release(其实是3.9) jadClipse version:3.3(好久好久以前的版本了,估计是也没有什么好更新了)   1.下载jadClipse   http://sourceforg

JAD Java Decompiler

java反编译工具jad