如何破译JAVA软件获取源代码

2024-05-11 17:38

1. 如何破译JAVA软件获取源代码

如果你破译的目的正当而且软件本身的license不反对的话,
你可以使用jshrink(google一下)就可以了。这个工具相当..
但是:你需要对java的卦码有些基本的了解。
另外,对于经过混淆的代码的,你仍然可以这样,但是结果只不过是天书,需要天人:)不过天人也不需要这样做:)

如何破译JAVA软件获取源代码

2. 一个.EXE程序,已知道它是由JAVA开发出来的,怎么查看它的源代码

Java的反编译工具

 1、Java反编译插件 —— Jadclipse
 2、Java反编译工具 jad
 3、Java 反编译器 JD-GUI
 4、Java反编译器 jdec
 5、uuDeJava
 6、Java 反向工程软件 Minjava
 7、Java Decompiler
 

3. JAVA应用怎么破解?

 一.破解工具预备 
  
  要破解JAVA软件,必须要反编译用JAVA编写的类文件。由于网上大虾们的支持,许多反编译软件被研制出来 
  
  其中,我经常使用的是: 
  
  1. cavaj Java Decompile 1.11 
  
  2.Java源代码反编译专家(该软件支持目录编译) 
  
  3.JAD 
  
  这三个软件各有优缺点:前二个软件是GUI界面,使用起来很方便。尤其是"Java源代码反编译专家",支持 
  
  目录编译,用起来很得心应手;第三个软件JAD功能最强,由于是字符界面,但是相对初学者比较难一点。 
  
  
  
  二.破解步骤 
  
  1.首先分析批处理文件,找到第一个调用的CLASS。 
  
  在分析iavaZIP20软件的iavaZIP2.bat,我把最重要的一句COPY到下行: 
  
  com.sfs.app.iavazip20.iavaZIP20 %1 %2 %3 %4 %5 %6 %7 %8 %9 
  
  可以知道,在com\sfs\app\iavazip20的目录下的iavaZIP20.CLASS就是被调用的第一个CLASS. 
  
  
  
  2.反编译第一个CLASS,分析MAIN方法,寻找版本控制的代码段 
  
  我用“cavaj Java Decompile 1.11”编译iavaZIP20.class文件,很快就可以得到该软件的JAVA代码, 
  
  main方法的全部代码如下: 
  
  public static void main(String args[]) 
  
  { 
  
  iavaZIP20 iavazip20 = new iavaZIP20(args); 
  
  if(iavazip20.isEXPired()) 
  
  { 
  
  System.out.println("iavaZIP20 trial time has expired. Please purchase and enter licence key."); 
  
  for(_cls13 _lcls13 = new _cls13(iavazip20, true); _lcls13.expirationFrame.isShowing();) 
  
  { 
  
  try 
  
  { 
  
  Thread.sleep(1000L); 
  
  } 
  
  catch(InterruptedException _ex) { } 
  
  } 
  
  
  
  if(_cls66.isSerialRegcode(((_cls1) (iavazip20)).res.getProperty("user.id"))) 
  
  { 
  
  iavazip20._fld6.remove(iavazip20._fld4); 
  
  iavazip20._fld6.add("Right", iavazip20._fld4 = iavazip20._fld0 = new _cls13(iavazip20)); 
  
  iavazip20._fld6.validate(); 
  
  } else 
  
  { 
  
  iavazip20.dispose(); 
  
  System.exit(0); 
  
  } 
  
  } 
  
  iavazip20.show(); 
  
  } 
  
  
  
  很明显,iavazip20.isExpired()就是版本控制的代码。 
  
  
  
  
  
  3.分析版本控制的语句,找到破解的方法 
  
  由于isExpired()的方法的代码如下: 
  
  public boolean isExpired() 
  
  { 
  
  return !_cls66.isSerialRegcode(super.res.getProperty("user.id", "0")) && Long.parseLong(super.res.getProperty("magic")) magicTime < System.currentTimeMillis(); 
  
  } 
  
  
  
  看了com\sfs\app\iavazip20的所有文件,由于该文件夹中的文件都是从1-66之间的整数问文件名,“class”为扩展名的类文件,分析“!_cls66.isSerialRegcode”的方法是破解的要害类应该就是66.class文件

JAVA应用怎么破解?

4. 如何反编译Apk得到Java源代码

1.下载反编译工具
    需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
    dex2jar:将apk中的classes.dex转化成Jar文件。
    JD-GUI:反编译工具,可以直接查看Jar包的源代码。
    apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。
    apktool-install-windows-r05-ibot:辅助windows批处理工具。
    下载地址:
    dex2jar:http://code.google.com/p/dex2jar/downloads/list
    JD-GUI:http://code.google.com/p/innlab/downloads/lis
    apktool:http://code.google.com/p/android-apktool/downloads/list
    工具截图:

2.解压缩APK包
    apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件。用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的。
    解压截图:

3.反编译dex文件
    解压apk文件后,你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包。
    解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。
    DOS行命令如下:dex2jar.bat  xx\classes.dex(xx是classes.dex文件所在的路径)。
    将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。
    编译截图:

   生成jar文件的截图如下:

4.反编译jar包
    得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。
    打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了。
    截图如下:

5.反编译xml文件
    打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。
    具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
    在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。

这样就得到了可以得到编译的源码和XML资源。
 注意:文件的路径中最好不要出现中文!
http://jingyan.baidu.com/article/dca1fa6fbe140ef1a4405212.html

5. 下载的java源代码怎么在eclipse运用,只是看下别人的程序思路!

你好,你下载的东西里面是编译好的代码吧,我看没有src目录,应该就是可以直接放到tomcat下跑的那种,你要用反编译工具把class还原成java文件后在eclipse中打开即可运行!!

下载的java源代码怎么在eclipse运用,只是看下别人的程序思路!

6. 如何看已经编译好的java程序的源码??

web-inf目录下有class文件夹(得到工作空间去看)

7. 怎样把一个java源代码做成一个软件成品,就是直接能运行的那种?

其实就是用一个外部程序 调用java虚拟机运行你的java程序。
可以做一个批处理文件
在里面调用java 虚拟机运行你的java程序。 
也可以用某种编程语言,像vb ,c 或c++编个程序,生成exe,能调用java虚拟机运行你的程序,很简单的。

怎样把一个java源代码做成一个软件成品,就是直接能运行的那种?

8. 有JAVA写出来的程序用什么软件能看到源码啊!求高手啊!

如果已经弄成已安装的程序了的话,按道理是不可以看到源码的。虽然目前有软件可以反编译,但是也不可能和源码一样。有的大神确实可以做到反编译出源码,但是这个工作量比重新写这个程序更大。既然有了反编译的水平,何不自己重写一个这个软件呢?


希望能够帮到你!