1. jad
3358 varaneckas.com/jad/jad 158 e.Linux.Intel.zip下载jad,
赋予jad执行权限并执行
chmod a x ./jad
./jad
缺点:很多文件无法反编译、混淆、无法反编译
2. ded
3358 siis.CSE.PSU.edu/ded/installation.html
3. jd-gui
知道这一点,直接反编译为java文件,但没有命令行
4. jd-cmd
https://github.com/kwart/jd-cmd
其中需要安装maven:http://maven.Apache.org/download.CGI
linux安装maven :
提取分布式存档, I.e.Apache-maven-3.2.3-cqd yl.tar.gztothedirectoryyouwishtoinstallmaven3.2.3. theseinstructionsassumeyou
In a command terminal,add them2_ homeenvironmentvariable,e.g.export m2 _ home=/usr/local/Apache-maven/Apache
add the m2环境变量,e.g. export M2=$M2_HOME/cqdyl。
optional 3360 addthemaven _ optsenvironmentvariabletospecifyjvmproperties,e.g.export maven _ opts='-xms 256 m-xmx 512
add m2 environmentvariabletoyourpath,e.g. export PATH=$M2:$PATH。
makesurethatjava _ homeissettothelocationofyourjdk,e.g.export Java _ home=/usr/Java/JDK1.7.0_ 51 and that $
run mvn-- versiontoverifythatitiscorrectlyinstalled。
使用jd-cmd :
程序本身列举了三个例子:
Examples:
$ Java-jar JD-CLI.jar hello world.class
Shows decompiled class on a screen
$ Java-jar JD-CLI.jar-- skip resources-n-Galla PP.jar
Decompiles app.jar to app.src.jar; itdoesn ' tcopyresourcestotheoutputjar,
thedecompiledclassescontainlinenumbersascommentsandthejd-CLI打印
themostverbosedebuginformationaboutdecompilation
$ Java-jar JD-CLI.jar myapp.jar-odde compiled-oc
decompilescontentofmyapp.jartodirectorynamed ' decompiled ' andals oona
屏幕
但是我总是执行第三个提示
19:47336027.494 warn JD.core.output.dir output-classnameorjavasourceisnull
所以,如果要反向编译class文件,请使用第一个,反向编译jar中的所有文件,然后使用第二个
5. jeb
商务版据说功能强大,有命令行和图形,但价格高昂,运行速度慢,占用内存
33558 www.Kan Xue.com/BBS/showthread.PHP? p=1300282
使用方法:
Java-xmx 1430 m-jar Jeb.jar---automation---script=jebdecompileall.py classes.dex
启动命令
-Xmx参数指定java虚拟机进程的内存上限
在名为JEBDecompileAll.py的Python脚本中调用jeb的api,并反向编译了所有class文件