/Applications/StarUML.app/Contents/Resourcesjavascript
StarUML是用nodejs寫的。確切的說是用Electron前端框架寫的。新版本中全部的starUML源代碼是經過asar工具打包而成。確切的代碼位置在「%LOCALAPPDATA%\Programs\StarURML\resources\app.asar」或者「C:\Program Files\StarUML\resources」
咱們能夠經過asar工具解壓修改達到破解目的。具體操做以下:前端
1. 安裝asar
cnpm install -g asar
1
2. 解壓app.asar
asar extract app.asar app
1
3. 修改源代碼
經過命令行將程序解壓到app目錄下。真正的驗證license的代碼在app\src\engine\license-manager.jsjava
這是個典型的javascirpt Promise。啓動後會調用validate函數檢查license。node
checkLicenseValidity () { this.validate().then(() => { setStatus(this, true) }, () => { // 原來的代碼,若是失敗就會將狀態設置成false // setStatus(this, false) // UnregisteredDialog.showDialog() //修改後的代碼 setStatus(this, true) }) }
參照上面的代碼將reject的callback原代碼註釋掉。換成setStatus(this, true) 這樣不管你註冊與否都驗證成功。npm
4. 從新打包替換原來的app.asar
asar pack app app.asar前端框架