1. 程式人生 > >myeclipse9.X加密和破解機制

myeclipse9.X加密和破解機制

不想了解破解機制急於破解的直接跳到最後 ‘ 具體操作

myeclipse 9.1 終於出來了,有人嚐鮮了,但是發現很受傷,很受傷是因為完整性驗證部分,呵呵。

myeclipse 9.0 完整性校驗有引數可以控制.

-Dgenuitec.honorDevMode=true

-Dosgi.dev=true

但是9.1取消了這個選項。上面的命令就不好用了。反編譯原始碼即可看差異,確實刪掉了開發模式的程式碼。

要想跳過校驗,有兩種選擇。

看堆疊(使用 jconsoleJava內建),可以看到

...

com.genuitec.eclipse.core.SignatureVerifier.verifyJarSignatures(SignatureVerifier.java:172)

com.genuitec.eclipse.core.CommonCore.startup(CommonCore.java:39)

...

1.短路 com.genuitec.eclipse.core.CommonCore中的startup()方法

2.短路 com.genuitec.eclipse.core.SignatureVerifier中的verifyJarSignatures()方法

仔細看反編譯的原始碼即可發現 短路CommonCore中的startup()方法比較麻煩,因為需要別的類包中的庫,找起來比較麻煩。

所以我選擇短路SignatureVerifier中的verifyJarSignatures()

方法

下面的類即可,什麼也不需要,這個方法什麼也不做,直接替換就行,用壓縮軟體開啟,替換相應的類即可

注意:最好編譯該類的時候使用JDK1.5。高版本也可以,移植的時候可能要考慮JDK的問題。因為1.5執行不了1.6的類檔案

相應的包是 Common/plug/com.genuitec.eclipse.core.common_9.0.0.me2011*.jar,包具體視情況而定.

package com.genuitec.eclipse.core;  
  
/** 
 * replace com.genuitec.eclipse.core.SignatureVerifier With this class<br> 
 * in jar com.genuitec.eclipse.core.common_9.0.0.me2011*.jar<br> 
 * shorcut method verifyJarSignatures()<br> 
 *  
 * @author macbookpro 
 */  
public class SignatureVerifier {  
    public void verifyJarSignatures() {  
    // do nothing ...  
    }  
}  

類可以自己編譯,也可以用已上傳的替換即可。

關於,進一步的使用者licenceactivecode破解,那個用9.0的破解方法即可,這部分都是一樣的。

一個基於Java環境的破解程式。

***************************************************************

有人用了以上的方法,沒有破解成功,之後還有校驗完整性錯誤的彈出框,這個是因為myeclipse的檢測機制我之前沒有弄清楚。

myeclipse檢測完整性分為兩個步驟

1. myeclipse 啟動校驗

2. myeclipse 元件校驗。

上面寫的只是myeclipse的啟動的短路,其實還有元件的檢測。

元件校驗

myeclipse啟動成功,會首先載入eclipse的核心,然後掛載myeclipse元件。

當掛載myeclipse元件的時候,就會有完整性校驗了。這個就是元件校驗,9.0不知道是否存在這種校驗。

找到那個元件校驗的類包有兩種方法(目前能想到的比較實際的)

1. 檢視堆疊。(jconsolejstack

   在彈出校驗錯誤的視窗時,看堆疊,找出那個類進行的校驗,然後找到該包,短路掉裡面的校驗邏輯。(找包的部分比較麻煩)

   然後再開啟myeclipse,再找出哪個類進行的校驗………. 直到沒有彈出框為止,證明都找到了。

2. jar檔案遍歷

   編寫程式,找出jar檔案裡的校驗類。

   程式很好寫,就是找出plugin目錄和子目錄下的jar檔案裡的類名是否包括SignatureVerifier類即可。

下面的類包和裡面的類就是我通過上面兩種方法共同找到的類。

Common/plugins/com.genuitec.eclipse.core.common_9.0.0.me201105301859.jar                     

 [com/genuitec/eclipse/core/SignatureVerifier.class]

Common/plugins/com.genuitec.eclipse.easie.core_9.0.0.me201106010603/easiecore.jar          

 [com/genuitec/eclipse/easie/core/SignatureVerifier.class]

Common/plugins/com.genuitec.eclipse.j2eedt.core_9.0.0.me201106292137/j2eedtcore.jar        

 [com/genuitec/eclipse/j2eedt/core/SignatureVerifier.class]

Common/plugins/com.genuitec.myeclipse.product_9.0.0.me201106290046/myeclipse-product.jar    

 [com/genuitec/myeclipse/product/SignatureVerifier.class]

我們需要把上面的類包中的SignatureVerifier短路掉即可,用上面SignatureVerifier類重新編譯即可,注意包名。

替換的類我編寫好了一份,要是自己編譯麻煩的話,那就直接用附件裡面的。

這幾個類包短路掉之後,我用windows測試過沒有問題。沒有校驗的彈出框了,基本可以解決校驗問題。

替換類的方法我感覺還是比較麻煩,誰讓我喜歡嚐鮮了,嚐鮮的朋友都知道,那就是必須的折騰。

myeclipse 9.1 破解說明

myeclipse 9.X 系列需要兩個步驟:

第一步是破解Licence(所有系列都有)

第二步破解啟用碼activecode,(9.X系列特有)

Licence的算號,網上都有,這個基本沒有什麼問題,不需要藉助其他的庫,直接演算法就可以。

關鍵是啟用碼的計算,這個比較麻煩,網上有關於9.0的破解程式,但是是exe檔案的。

本人使用macbook ,要想破解起來必須裝虛擬機器或者bootcamp,所以對我來說比較麻煩,還有一個問題就是windows破解程式在計算activecode的時候需要systemid,但是替換成macbooksystemid之後再算的時候可能有問題。(可能有些人沒這個問題)

所以自己看了myeclipse的驗證邏輯,自己寫了個破解。完全基於Java,任何系統都可以使用。

下面講解一下myeclipse 9.X系列的註冊驗證問題

1. systemid的計算

systemid計算需要藉助於其他類庫

jniwrapper 關於這個可以到官方網站下載相應作業系統的類庫。

systemid組成

1f553430D3107d17834

TypeField:1

Field:    15(f)

HostInfo:55 

SystemInfo:3430D31

MacAddress:07d1

HDSerial:7834

licenceCodeLicence算號算出。

Licence到期時間,可以由licenceCode反向轉換得出,也可以自定義,只要在反向轉換的時間之後就可以。

RSA加密解密

大家都知道myeclipse中有個publicKey.bytes檔案,這個是公匙。

密匙(privateKey.bytes)在myeclipse公司手中,我們是拿不到的。

所以我們需要自己生成一個公匙和密匙,然後替換掉myeclipse中的公匙,這個就是9.0的破解過程,大家都清楚吧。

通過密匙加密,然後用公匙解出。這個也是RSA加密解密的機制。

啟用碼 是由上述三個字串累加而成,然後通過RSA加密而成。

啟用碼註冊驗證需要通過三層驗證

第一層

你輸入的啟用碼解密出activecode(通過publicKey.bytes解出)

第二層

activecode分離出systemId,licenceCode,licenceDate

第三層

比對systemId,licenceCode,licenceDate三個引數,看是否匹配系統中的引數,即可完成驗證。

9.0 的註冊機在windows下很好用,但是在其他系統上卻有些問題。手動填寫systemid計算後的破解碼有些問題。

有人使用MacOSX,所以必須藉助於虛擬機器或者其他的機器上來破解。在網上也找了很多,有一種方法就是使用9.0的註冊機,替換掉裡面生成systemid字串(自己作業系統上的systemid,在myeclipse啟用視窗能看到),然後執行那個exe檔案,就可以破解。這個有些麻煩,但是也能解決問題。

有些人可能就是自己一臺機器,藉助不了其他的環境,那破解起來就會比較麻煩。

 9.1的破解

我們這裡,使用java,可以跨平臺使用,啟動檔案為jar檔案,如果裝了JDK雙擊即可,要是在命令列就用java -jar *.jar(當然要配置好java環境變數,我相信在這裡費勁註冊啟用myeclipse的人java環境變數配置都是入門知識的了吧)

具體操作

第一步:Usrcode中輸入任意使用者名稱

第二步:點選systemid一次,這時候如果出現一行錯誤

Cannot find JNIWrapper native library (libjniwrap.so) in java.library.path:~~

不需要理會,再點選一次即可出現systemid

第三步: 點選單Tools->RebuildKey

第四步:點選active按鈕.會在顯示區域生成

LICENSE_KEY

ACTIVATION_CODE

ACTIVATION_KEY

這時候你並不需要開啟myeclipse到啟用頁面輸入。切記。next

第五步:開啟選單Tools->ReplaceJarFile,彈出檔案選擇對話方塊,到myeclipse的安裝目錄common資料夾下選擇plugins資料夾

    點選開啟,程式會卡住,不要擔心,正在替換檔案呢!

一會之後,會輸出資訊,檔案已被替換

第六步:點選單Tools->SaveProperites

OK 。開啟你的myeclipse已經不需要再輸入啟用碼什麼的了。

破解包在csdn資源: