1,從要破解的程式中拷貝.jar包檔案,執行1_jar.sh將其解壓。以jira7.9.2為例:
$install_dirJIRAatlassian-jiraWEB-INFlibatlassian-extras-3.2.jar
$install_dirJIRAatlassian-jiraWEB-INFatlassian-bundled-pluginsatlassian-universal-plugin-manager-plugin-2.22.9.jar
2,執行2_jad.sh將.class檔案反編譯為.java檔案。
3,執行3_hack.sh將需要破解的.java檔案拷貝到工程中,注意package路徑。jira需要破解的檔案為:
com/atlassian/license/LicenseManager.java
com/atlassian/extras/decoder/v2/Version2LicenseDecoder.java
4,修改控制license的程式碼,執行4_compile.sh編譯,錯誤時就新增需要的依賴到pom.xml檔案中。jira需要新增兩個依賴:
commons-codec
atlassian-universal-plugin-manager
5,執行5_pack.sh將編譯得到的.class檔案更新到.jar包中,用新jar包檔案覆蓋安裝程式。
注意使用到的5個指令碼中的路徑和名稱配置。
程式碼庫:https://github.com/rickding/HelloJava/tree/master/HelloHack
已破解檔案: https://pan.baidu.com/s/1YBszaprQcWptS3w_nb52aw 提取碼: sm7y
參考文章:https://blog.csdn.net/huangdou0204/article/details/81667554