• [Decompiler] 使用 DJ Java Decompiler 将整个jar包反编译成源文件


     
    看公司代码的时候,发现公司将基本的类包装了,想要查看包装的源文件,发现是编译成了.class文件放在robase.jar包下。
    无法通过Eclipse-attach source直接查看源码。因此要将jar包下的class文件反编译成java文件以便查看源码,理解程序。
     
    首先设置软件的系统环境变量:

    变量名:PATH

    变量值:D:\Program Files\decomp[软件安装路径]


    我所要解压的jar包叫robase.jar,先将robase.jar放在D:\下,然后通过解压缩工具解压到同名文件夹robase下。

    同时,在D:\下再建一个robase_res文件夹,存放我们反编译后的java文件。

    Win+R组合键打开运行窗口,输入cmd,回车出现命令行窗口。

    在命令输入框中输入如下命令: 

    jad -o -r -d D:\robase_res -sjava D:\robase\**\*.class 


    命令解读:

    D:\robase_res表示编译后文件的存放路径 目标文件夹

    D:\robase\**\*.class 表示需要被反编译的文件 

    -o  - overwrite output files without confirmation (default: no) 无需确定覆写文件 

    -r  - restore package directory structrure 恢复包目录结构 

    -s <ext></ext>- output file extension (by default '.jad') 如果不设置为-sjava,则默认扩展名为.jad 

    D:\robase\**\*.class 中的两颗接连的星,表示任意层次的子目录。 

     

     

    编译完成后,在robase_res文件夹中就出现了我们需要的java源文件。但是这样还不够。

    eclipse中attach source 是需要attach一个jar文件而不是文件夹。因此,我们要将robase_res文件夹打包为robase_res.jar

    如果你不熟悉 jar 命令打包,那就用一个讨巧的办法。

    使用压缩工具先把robase_res文件夹打包为robase_res.zip

    然后直接把后缀名改为robase_res.jar即可,导入后能成功查看。

     

    参考文档:http://web.udl.es/usuaris/jordim/Progs/Readme.txt

     

     

  • 相关阅读:
    sqlserver 配置管理器中无法启动sqlserver服务
    9.4笔记
    ASP.NET 正则表达式验证
    ASP.NET之OnClientClick 事件
    ASP.NET之js 根据textbox变化刷新相关数据
    SQL
    leetcode:Roman to Integer(罗马数字转化为罗马数字)
    leetcode:Integer to Roman(整数转化为罗马数字)
    leetcode:Palindrome Number
    leetcode:String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/avivaye/p/2974943.html
Copyright © 2020-2023  润新知