Sto*_*art 272 java jar decompiler
有没有人知道一个可以反编译整个Jar文件而不是单个类的免费反编译器?我有一个子类的问题,如名称$ 1.class name $ 2.class name.class
Von*_*onC 301
2009:JavaDecompiler可以很好地使用jar:从0.2.5开始,显示JAR文件中的所有文件.

自2009年底以来,JD-Eclipse似乎没有发生变化(参见更改).
因此,它与最新的Eclipse(3.8,4.2 +)的集成可能会有问题.
JD-Core得到积极维护.
两者都是(SO用户)Emmanuel Dupuy出色工作的结果.
2018:一个更现代的选项,提到在评论由大卫·肯尼迪阿劳霍:
JetBrains公司/的IntelliJ社区/插件/ java的反编译/引擎
Fernflower是第一个实际使用Java的分析反编译器,可能是一般的高级编程语言.
Run Code Online (Sandbox Code Playgroud)java -jar fernflower.jar [-<option>=<value>]* [<source>]+ <destination> java -jar fernflower.jar -hes=0 -hdc=0 c:\Temp\binary\ -e=c:\Java\rt.jar c:\Temp\source\
另请参阅如何使用最近的IntelliJ IDEA对使用最新IntelliJ IDEA的命令进行反编译.
Yuv*_*dam 37
首先,值得记住的是,所有Java归档文件(.jar/ .war等等......)基本上都只是花哨的.zip文件,附加了一些清单和元数据.
其次,要解决这个问题,我个人会使用几种工具来处理所有级别的问题:
.class文件jars)之间进行即时比较.值得一试.上述所有优点是,我不需要持有任何其他外部工具,这会混乱我的工作环境.我将从其中一个文件中获得的所有内容都可以在我的IDE中处理,或者本机地与其他文件进行区分.
Chr*_*s R 36
如果你碰巧有bash shell和jad:
JAR=(your jar file name)
unzip -d $JAR.tmp $JAR
pushd $JAR.tmp
for f in `find . -name '*.class'`; do
jad -d $(dirname $f) -s java -lnc $f
done
popd
Run Code Online (Sandbox Code Playgroud)
我可能只是微不足道,但它应该像广告中那样或多或少地起作用.您最终应该$JAR.tmp包含反编译的文件.
Ada*_*ter 25
我用一个名为(令人沮丧的)" JD:Java Decompiler " 的工具取得了一定的成功.
在处理为Java 5及更高版本编译的类时,我发现它比大多数反编译器更好.不幸的是,它仍然会有一些小问题,JAD通常会成功.
小智 10
就像是:
jar -xf foo.jar && find . -iname "*.class" | xargs /opt/local/bin/jad -r
Run Code Online (Sandbox Code Playgroud)
也许?
小智 5
将以下内容插入到decompile.jar.sh中
# Usage: decompile.jar.sh some.jar [-d]
# clean target folders
function clean_target {
rm -rf $unjar $src $jad_log
}
# clean all debug stuff
function clean_stuff {
rm -rf $unjar $jad_log
}
# the main function
function work {
jar=$1
unjar=`basename $jar.unjar`
src=`basename $jar.src`
jad_log=jad.log
clean_target
unzip -q $jar -d $unjar
jad -d $src -ff -r -lnc -o -s java $unjar/**/*.class > $jad_log 2>&1
if [ ! $debug ]; then
clean_stuff
fi
if [ -d $src ]
then
echo "$jar has been decompiled to $src"
else
echo "Got some problems check output or run in debug mode"
fi
}
function usage {
echo "This script extract and decompile JAR file"
echo "Usage: $0 some.jar [-d]"
echo " where: some.jar is the target to decompile"
echo " use -d for debug mode"
}
# check params
if [ -n "$1" ]
then
if [ "$2" == "-d" ]; then
debug=true
set -x
fi
work $1
else
usage
fi
Run Code Online (Sandbox Code Playgroud)
准备好使用,只需键入dj your.jar,您将获得your.jar.src包含来源的文件夹.使用-d调试模式选项.
| 归档时间: |
|
| 查看次数: |
524971 次 |
| 最近记录: |