反编译工具jad下载、安装及使用(无需集成环境一键使用)
代码
1585 人阅读
|
0 人回复
|
|
<
1、下载
1.windows下载地点:http://www.kpdus.com/jad.html
2.下载完成将紧缩包解压至便利本人查找的地位
2、常睹用法
1.进进DOS界里(按键win+r,输进cmd)
2.进进jad.exe地点的途径
2.1正在dos界里分离各号令进进jad.exe途径
2.1.1间接输进d:,切换至d盘
2.1.2输进cd gongju,切换至东西目次
2.1.3输进dir显现一切目次
2.2间接正在当地找到jad.exe,正在当前途径栏输进cmd回车进进dos界里
3.拿到需求停止反编译的Java文件,保留正在便利本人找到的途径
4.正在保留Java文件的途径输cmd进进dos界里,输进javac Cache.java
5.界里假如呈现下图的毛病,把文件编码修正为UTF-8编码大要ANSI编码(修正文件编码可正在Notepad++或记事本修正,详细修正流程此处没有做阐明),然后输进号令javac -encoding UTF-8 Cache.java停止编译(编译以后输进java Cache施行,如只需编译不用施行,请自止略过);大要javac -encoding GBK Cache.java停止编译(编译以后输进java Cache施行,如只需编译不用施行,请自止略过)
6.会正在Java文件地点途径下天生一个class文件
3、具体用法
- D:\gongju\jad\jad158g.win>jad -h
- Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov (jad@kpdus.com).
- Usage: jad [option(s)] <filename(s)>
- Options: -a - generate JVM instructions as comments (annotate)
- -af - output fully qualified names when annotating
- -b - generate redundant braces (braces)
- -clear - clear all prefixes, including the default ones
- -d <dir> - directory for output files
- -dead - try to decompile dead parts of code (if there are any)
- -dis - disassembler only (disassembler)
- -f - generate fully qualified names (fullnames)
- -ff - output fields before methods (fieldsfirst)
- -i - print default initializers for fields (definits)
- -l<num> - split strings into pieces of max <num> chars (splitstr)
- -lnc - output original line numbers as comments (lnc)
- -lradix<num>- display long integers using the specified radix
- -nl - split strings on newline characters (splitstr)
- -noconv - don't convert Java identifiers into valid ones (noconv)
- -nocast - don't generate auxiliary casts
- -noclass - don't convert .class operators
- -nocode - don't generate the source code for methods
- -noctor - suppress the empty constructors
- -nodos - turn off check for class files written in DOS mode
- -nofd - don't disambiguate fields with the same names (nofldis)
- -noinner - turn off the support of inner classes
- -nolvt - ignore Local Variable Table entries (nolvt)
- -nonlb - don't insert a newline before opening brace (nonlb)
- -o - overwrite output files without confirmation
- -p - send all output to STDOUT (for piping)
- -pa <pfx>- prefix for all packages in generated source files
- -pc <pfx>- prefix for classes with numerical names (default: _cls)
- -pe <pfx>- prefix for unused exception names (default: _ex)
- -pf <pfx>- prefix for fields with numerical names (default: _fld)
- -pi<num> - pack imports into one line using .* (packimports)
- -pl <pfx>- prefix for locals with numerical names (default: _lcl)
- -pm <pfx>- prefix for methods with numerical names (default: _mth)
- -pp <pfx>- prefix for method parms with numerical names (default:_prm)
- -pv<num> - pack fields with the same types into one line (packfields)
- -r - restore package directory structure
- -radix<num>- display integers using the specified radix (8, 10, or 16)
- -s <ext> - output file extension (default: .jad)
- -safe - generate additional casts to disambiguate methods/fields
- -space - output space between keyword (if, while, etc) and expression
- -stat - show the total number of processed classes/methods/fields
- -t<num> - use <num> spaces for indentation (default: 4)
- -t - use tabs instead of spaces for indentation
- -v - show method names while decompiling
- -8 - convert Unicode strings into ANSI strings (ansi)
- -& - redirect STDERR to STDOUT
复造代码 4、class反编译
1、翻开win10的cmd号令止(按键win+r)
2、进进到jad.exe地点的途径
3、输进jad example1.class,以后便会正在 example1.class地点途径天生一个example1.jad文件
(可使用记事本大要Notepad++翻开该文件查察),间接将example1.jad改成example1.Java,文件内乱容不变。
4、输进jad -sJava example1.class,反编译成果以.Java为扩大名。
别的:
1、jad -p example1.class(-p将反编译成果输出到屏幕)
2、jad -dJadtemp example1.class(-d后接文件名,指定文件的输出目次)
5、ANSI及UTF-8编码注释
ANSI 编码:差别的国度战地区订定了差别的尺度,由此发生了 GB2312、GBK、Big5、Shift_JIS 等各自的编码尺度。那些利用 1 至 4 个字节去代表一个字符的各类汉字延长编码方法,称为 ANSI 编码。正在简体中文Windows操作体系中,ANSI 编码代表 GBK 编码;正在日文Windows操作体系中,ANSI 编码代表 Shift_JIS 编码。 差别 ANSI 编码之间互没有兼容,当疑息正在国际间交流时,没法将属于两种言语的笔墨,存储正在统一段 ANSI 编码的文本中。(去自百度百科)
UTF-8编码:UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变少度字符编码。它能够用去暗示Unicode尺度中的任何字符,并且其编码中的第一个字节仍取ASCII相容,使得本来处置ASCII字符的硬件不必或只停止少部分修正后,即可持续利用。
Unicode(同一码):是计较机科教范围里的一项业界尺度,包罗字符散、编码计划等。Unicode 是为了解决传统的字符编码计划的范围而发生的,它为每种言语中的每一个字符设定了同一并且独一的两进造编码,以合意跨言语、跨仄台停止文本转换、处置的请求。
Unicode只是一组字符设定大要道是从数字战字符之间的逻辑映照的观点编码,可是它并出有指定代码面如何在计较机上存储。UCS4、UTF-8、UTF-16(UTF后的数字代表编码的最小单元,如UTF-8暗示最小单元1字节(=8 bits),以是它可使用1、2、3字节等停止编码,UTF-16暗示最小单元2字节,以是它可使用2、4字节停止编码)皆是Unicode的编码计划。此中UTF-8果能够兼容ASCII而被普遍利用。(去自百度百科)
免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作! |
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
|
|
|
|
|
|
|
|