原理:修改electron.AppImage中的許可證管理器.js的代碼
工具准備:
- 打包工具 appimagetool-x86_64.AppImage
- 壓縮工具 asar
- 目標軟件 StarUML.AppImage
$ wget https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage
$ chmod +x appimagetool-x86_64.AppImage
$ sudo npm install -g asar
# 以 3.2.2 版本為例
$ wget http://staruml.io/download/releases/StarUML-3.2.2.AppImage
$ chmod +x StarUML-3.2.2.AppImage
開始步驟:
- 解壓及創建路徑
# 解壓
$ ./StarUML-3.2.2.AppImage --appimage-extract
$ mkdir StarUML
$ mv -r ./squashfs-root ./StarUML/
$ asar extract ./StarUML/squashfs-root/resources/app.asar ./StarUML/squashfs-root/resources/app
- 修改文件 ./StarUML/squashfs-root/resources/app/src/engine/license-manager.js
-
- 36行 setStatus 函數中:licenseManager.emit('statusChanged', 'true')
-
- 125行 checkLicenseValidity 函數中:setStatus(this, true) 和 注釋掉后面的 UnregisteredDialog.showDialog()
- 打包還原
$ asar pack ./StarUML/squashfs-root/resources/app ./StarUML/squashfs-root/resources/app.asar
$ ./appimagetool-x86_64.AppImage ./StarUML/squashfs-root
- 啟動並檢查
打開 AppImage, 菜單 > Help > Enter License Key,若彈出Information,提示 You already have a valid license. 則已破解完畢。
