myeclipse9.X加密和破解機制
不想了解破解機制急於破解的直接跳到最後 ‘ 具體操作 ’
myeclipse 9.1 終於出來了,有人嚐鮮了,但是發現很受傷,很受傷是因為完整性驗證部分,呵呵。
myeclipse 9.0 完整性校驗有引數可以控制.
-Dgenuitec.honorDevMode=true
-Dosgi.dev=true
但是9.1取消了這個選項。上面的命令就不好用了。反編譯原始碼即可看差異,確實刪掉了開發模式的程式碼。
要想跳過校驗,有兩種選擇。
看堆疊(使用 jconsole,Java內建),可以看到
...
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 ...
}
}
類可以自己編譯,也可以用已上傳的替換即可。
關於,進一步的使用者licence和activecode破解,那個用9.0的破解方法即可,這部分都是一樣的。
一個基於Java環境的破解程式。
***************************************************************
有人用了以上的方法,沒有破解成功,之後還有校驗完整性錯誤的彈出框,這個是因為myeclipse的檢測機制我之前沒有弄清楚。
myeclipse檢測完整性分為兩個步驟
1. myeclipse 啟動校驗
2. myeclipse 元件校驗。
上面寫的只是myeclipse的啟動的短路,其實還有元件的檢測。
元件校驗
當myeclipse啟動成功,會首先載入eclipse的核心,然後掛載myeclipse元件。
當掛載myeclipse元件的時候,就會有完整性校驗了。這個就是元件校驗,9.0不知道是否存在這種校驗。
找到那個元件校驗的類包有兩種方法(目前能想到的比較實際的)
1. 檢視堆疊。(jconsole和jstack)
在彈出校驗錯誤的視窗時,看堆疊,找出那個類進行的校驗,然後找到該包,短路掉裡面的校驗邏輯。(找包的部分比較麻煩)
然後再開啟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,但是替換成macbook的systemid之後再算的時候可能有問題。(可能有些人沒這個問題)
所以自己看了myeclipse的驗證邏輯,自己寫了個破解。完全基於Java,任何系統都可以使用。
下面講解一下myeclipse 9.X系列的註冊驗證問題
1. systemid的計算
systemid計算需要藉助於其他類庫
jniwrapper 關於這個可以到官方網站下載相應作業系統的類庫。
systemid組成
“1f553430D3107d17834”
TypeField:1
Field: 15(f)
HostInfo:55
SystemInfo:3430D31
MacAddress:07d1
HDSerial:7834
licenceCode由Licence算號算出。
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資源: