最經同學發給我一個java的軟件,讓我幫忙破解一下。經過學習+查找,終于成功破解。(Java編寫的軟件破解應該是相當簡單的,可以反編譯源代碼,加殼什么都沒有,只有代碼混淆),這個軟件作者沒要代碼混淆。
首先,運行軟件,如圖1:
使用jd-gui打開目錄下的jar文件, 圖2:
查看軟件源代碼可以看到軟件的驗證時通過LicenseValidator來實現的,如上圖紅框圈的部分
右鍵,使用7-zip解壓并打開artblade.jar這個文件, 圖3
使用dirtyjoe打開LicenseValidator.class文件,激活tab-methods,圖4
由圖2源代碼中可以看到驗證的語句在類LicenseValidator的初始化init方法中,故圖4中雙擊打開init方法的代碼段,快捷鍵ctrl+f搜索“Mac Address in license does not match your local machine”圖5:
對比圖2和圖5代碼對應二進制,圖6:
雙擊ifne pos.00000170,將9A改為99, 雙擊ifeq pos.00000194將99改為9A,保存, 結果如圖7:
將保存后的LicenseValidator.class文件拖入圖3文件中覆蓋原文件。運行結果如圖8, 運行成功:
此方法同樣可用于破解android軟件的apk文件,因為apk也是類似jar的zip打包文件。
新聞熱點
疑難解答