當前位置:編程學習大全網 - 源碼下載 - JAVA應用怎麽破解?

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文件

  • 上一篇:三大框架是什麽?
  • 下一篇:如何在64位Linux系統上使用匯編和C語言混合編程第2頁
  • copyright 2024編程學習大全網