`
maidingding
  • 浏览: 13045 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java反编译的一小心得于体会

阅读更多

Jad.exe应该很多朋友用过,也知道其中的用法,我就不在累述了。

自己写了个小批处理是联合winrar用的,主要是解压jar包用的。

::打开/关闭命令行显示
@echo OFF

::::::::::::::::::::::::::::解析并设置变量::::::::::::::::::


::查找jad文件的路径, 这里取的jad.exe, 表示从PATH中查找,如果想手工指定,需在这里修改
set JAD_PATH=jad.exe

::设置解压出的class文件存放的位置(相对路径)
set CLASS_PATH=bin

::设置反编译后的java文件存放的位置(相对路径)
set JAVA_PATH=src

::检查JAD文件是否存在bat所在目录下,
if exist "%~dp0jad.exe" set JAD_PATH=%~dp0jad.exe

::判断参数个数,如果没有文件参数,则报错,这里也可以使用%~f1,也可以用%1,没有关系,之后要去掉引号
if ""%1""=="""" (set /P JAR_PATH=请输入要反编译的JAR包的路径...) else (set JAR_PATH=%~f1)
if '%JAR_PATH:~0,1%%JAR_PATH:~0,1%'=='""' set JAR_PATH=%JAR_PATH:~1,-1%

::获取源代码存放的路径,这里取JAR包所在路径,然后去掉".jar"作为文件夹路径, 这里的LOCATION不能带引号,因为下面还要追加字符)
if ""%2""=="""" (set LOCATION=%JAR_PATH:~0,-4%) else (set LOCATION=%~f2)

::::::::::::::::::::开始执行程序:::::::::::::::::::::::::::::::

::获取WinRAR.exe的路径,设置在临时变量rarpath中
for /f "usebackq delims=" %%i in (`ftype WinRAR`) do set RARPATH=%%i

::对rarpath进行解析,去掉前面7个节符,去掉后面5个字符,得到WinRAR执行路径
::路径大致是这样的形式  Winrar="C:\Program Files\WinRAR\WinRAR.exe" "%1"
set RAREXE=%RARPATH:~7,-5%

::调用WinRAR命令,解压文件到指定目录的bin目录下
%RAREXE% x "%JAR_PATH%" "%LOCATION%\%CLASS_PATH%\"

::遍历整个bin目录,取所有class文件,调用jad.exe反编译出源码,非class的拷贝到src目录下
::打开变量延迟功能
setlocal EnableDelayedExpansion
for /r "%LOCATION%\bin" %%i in (*.*) do if '%%~xi'=='.class' ("%JAD_PATH%"  -o -r -sjava -ff -b -nonlb -space -t -8 -d"%LOCATION%\%JAVA_PATH%" "%%~si") else (set TEMP_PATH=%%i & echo f|xcopy "%%i" "!TEMP_PATH:%LOCATION%\bin=%LOCATION%\src!")
endlocal EnableDelayedExpansion

::将产生的java文件压缩成源码文件
%RAREXE% a -ep1 -r "%LOCATION%-src.zip" "%LOCATION%\%JAVA_PATH%\*.*"


::::::::::::::::::程序结束, 显示运行结果::::::::::::::::::::::
echo *********************************************
echo 程序运行结束
echo 解析的JAR包的路径为 %JAR_PATH%
echo 解压缩工具WinRAR.exe的路径为 %RAREXE%
echo 反编译工具JAD.exe的路径为 %JAD_PATH%
echo 解析后的文件的根路径为 %LOCATION%
echo 解析后的class文件存放在 %LOCATION%\%CLASS_PATH%
echo 解析后的java文件存放在 %LOCATION%\%JAVA_PATH%
echo 压缩后的java文件存放在 %LOCATION%-src.zip
echo *********************************************
pause

注意要和jad.exe放在一起,不然你可以根据我写的批处理修改下,我知道你有办法的。

看到很多网友问如何把java编译好了之后的class文件反编译为java可执行文件。

我的方法与大家分享下,有好的办法可以留言于我。

1.把jad.exe和我写的小批处理放在一个文件夹下

2.把需要代反编译的class文件也放在这个文件夹下面。

 

3.打开jad看里面有什么用法

4.利用:jad -s java *.class命令来完成反编译

 5.得到你所想要的java文件。


 

  • 大小: 16.1 KB
  • 大小: 48.9 KB
  • 大小: 18.9 KB
分享到:
评论

相关推荐

    JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具

    JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA...

    java反编译工具绿色版

    Java反编译工具是程序员在开发和调试过程中经常会用到的一种实用软件,它能够将已编译的Java字节码(.class文件)转换回源代码格式,这对于查看和理解第三方库或者研究已有的二进制代码非常有帮助。本绿色版的Java反...

    java反编译工具

    4. Krakatau:Krakatau是一个专注于解析和生成Java字节码的工具集,它可以反编译字节码,同时也支持编译Java源代码。 使用这些工具时,需要注意的是,反编译可能会导致源代码的格式和注释丢失,而且反编译的代码...

    咖啡图形的java反编译工具(实用)

    这款名为“咖啡图形的java反编译工具”很可能是一款界面友好的图形化工具,专为简化这个过程而设计。 Java字节码是一种中间语言,由Java编译器生成,可以在任何支持Java虚拟机(JVM)的平台上运行。然而,由于字节...

    JAVA反编译包_小茶杯_jd-gui-1.6.6.jar.7z

    "JAVA反编译包_小茶杯_jd-gui-1.6.6.jar.7z" 是一个包含Java反编译工具JD-GUI的压缩包,版本为1.6.6,由"小茶杯"社区提供。JD-GUI是一个独立的图形用户界面工具,它能够直接打开并显示Java字节码的源代码。 JD-GUI...

    java反编译小工具

    本篇文章将介绍一个名为"java反编译小工具"的程序,该工具可能是为简化这个过程而设计的。 首先,我们提到的"java反编译.exe"很可能是这个工具的可执行文件,用于在Windows操作系统上运行。通常,.exe文件是Windows...

    JAVA反编译JAVA反编译

    Procyon是一个现代的Java反编译和分析工具,它不仅能够反编译Java字节码,还可以处理Java的注解处理器框架(Apache Maven, Gradle等)生成的元数据。Procyon的优势在于其对新语言特性的支持,比如Java 8的lambda表达式...

    java反编译exe

    然而,出于调试、学习或者逆向工程的目的,有时我们需要查看一个已编译的Java类文件的源代码,这时就需要用到反编译工具。标题中的“jd_gui.exe”就是一种常用的Java反编译工具,名为JadGUI。 JadGUI是Jad的图形...

    java jar反编译工具 java Class反编译工具

    JD-GUI是一款直观的图形用户界面工具,专门用于反编译Java的Class文件,从而帮助开发者查看和理解字节码背后的源代码。它不仅适用于单个Class文件,还可以处理包含多个Class文件的.jar档案。在Java开发中,JD-GUI...

    java反编译工具,一款很好的java反编译工具

    java反编译工具,java反编译工具,java反编译工具 一款很好的java反编译工具 一款很好的java反编译工具一款很好的java反编译工具

    JAVA反编译详细步骤

    除此之外,FernFlower是另一个开源的Java反编译器,它提供了一种更为细致的反编译策略,以尽可能地还原源代码结构。你可以通过下载源代码,然后在命令行调用相应的编译脚本来使用FernFlower。 对于更高级的场景,...

    jd-gui java反编译的工具,非常好用

    java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译的工具,非常好用 java反编译...

    一款小巧的java 反编译工具

    而Procyon和FernFlower则可以通过命令行进行操作,适合自动化处理大量文件,且它们都支持反编译Java 8及更高版本的特性。 反编译工具的应用场景广泛。开发者在没有源代码的情况下,可以通过反编译来排查问题,例如...

    java 反编译工具

    Java反编译工具是开发过程中的一种实用工具,主要用于查看或理解已编译的Java字节码(.class文件)的源代码。这类工具对于开发者来说非常有用,因为它们可以帮助我们了解第三方库或无法获取源代码的类的工作原理,...

    Java反编译工具

    在描述中提到的“无需安装解压直接执行可执行文件”,这通常意味着提供的压缩包包含了一个便携版的Java反编译工具,用户只需解压后运行其中的可执行文件(可能以.exe为扩展名,对于Windows系统),即可开始使用。...

    mac 版本 java反编译工具jd-gui

    在Mac操作系统上,一个常见的Java反编译工具是JD-GUI。JD-GUI是一款图形化界面的工具,它能够直观地显示类文件的源代码,而无需进行复杂的命令行操作。 标题中的"mac版本java反编译工具jd-gui"指的是专门为Mac OS...

    Java反编译.rar

    在标签“java反编译 反编译”中,再次强调了主题,反编译是一个关键的技术手段,不仅限于Java,其他编程语言也有相应的反编译工具和技术。 压缩包内的文件“JavaDecompiler”可能是一个反编译工具的名称,或者是...

Global site tag (gtag.js) - Google Analytics