美文网首页
java根据jar反编译指定类的源码

java根据jar反编译指定类的源码

作者: 雨中星辰0 | 来源:发表于2019-05-06 14:06 被阅读0次
作者 时间
雨中星辰 2019-05-06

背景

由于领导通知需要让用户上传接口jar包,根据用户指定的接口,从jar包中反编译出源码。

一看到这个需求,第一个想到的就是大名鼎鼎的jd-gui啊。用了这么多年,一直都很好用。

开始在网上各种找,无果。
在maven仓库搜了一下,无果。
又去githup搜了一下,有了。githup地址为:https://github.com/java-decompiler/jd-gui
但是没有讲怎么用啊,囧。。。
算了,下载一下源码研究一下吧。发现用起来还是很简单的。

    /**
     *
     * @param jarPath 要反编译的jar包的绝对路径
     * @param outPath 反编译的源码输出的目录
     * @return
     * @throws DecompilerException
     * @throws IOException
     */
    public int decompile(String jarPath, String outPath) throws DecompilerException, IOException 
    /**
     * 
     * @param jarPath 要反编译的jar包的绝对路径
     * @param internalClassName 要反编译的class文件的路径:例:dcloud/common/Auth.java
     * @return
     * @throws DecompilerException
     */
    public String decompileClass(String jarPath, String internalClassName) throws DecompilerException

例:

        Decompiler decompiler = new Decompiler();
        Map<String, String> decompile = decompiler.decompile("D:\\java_team\\repository\\com\\sgcc\\epri\\dcloud\\dcloud.common.Auth\\2.0.0\\dcloud.common.Auth-2.0.0.jar");
        String source = decompile.get("dcloud/common/Auth.java");
        System.out.println(source);

需要注意的是:gd-gui项目在maven仓库中没有,需要将项目中githup中下载下来,进行打包。

git clone https://github.com/java-decompiler/jd-gui.git
cd jd-gui
./gradlew build 

打包后的文件在jd-gui/build/libs中

相关文章

  • java根据jar反编译指定类的源码

    背景 由于领导通知需要让用户上传接口jar包,根据用户指定的接口,从jar包中反编译出源码。 一看到这个需求,第一...

  • 无标题文章

    jar没有开放源码,用反编译工具来查 jar文件解压----->用反编译工具打开jar文件解压----->用反编译...

  • 反编译apk与重新打包

    一、反编译出源码 1.反编译java代码需要先下载dex2jar工具,下载最新版本后解压。 2.将要反编译的apk...

  • Linux/Ubuntu系统下反编译apk

    enjarify 反编译apk,jadx 查看jar源码,apktool查看资源文件 一、enjarify 反编译...

  • android 动态调试

    反编译以及打包 apk 工具网盘地址 反编译 :java -jar Apktool.jar d 22.apk 修改...

  • Springboot jar动态指定启动类

    需求: springboot jar 包java -jar 方式启动,动态指定启动类 知识点 spring-boo...

  • 反编译

    编译: 1、java -> jar 2、jar -> dex 反编译: 1、解包 apk 文件 2、dex -> ...

  • 反编译工具

    apktool:资源文件获取,可以提取出图片文件和布局文件dex2jar :将apk反编译成java源码(clas...

  • Android逆向反编译(一)对未加密apk进行反编译

    Android Killer(将APK直接反编译为java类,还可以直观地查看),比dex2jar的方式方便很多 ...

  • apk反编译

    方法1. 用apktool反编译 >> java -jar apktool_2.4.0.jar d -f my....

网友评论

      本文标题:java根据jar反编译指定类的源码

      本文链接:https://www.haomeiwen.com/subject/osmroqtx.html