一日閑來無事,用了一下XMind Zen for Mac,感覺效果還不錯,看網(wǎng)上有破解版本,但是破解的不徹底,而且版本版本更換了以后,破解方案就不行了。
原來的破解方案是替換/Applications/XMind\ ZEN.app/Contents/Resources/中的水印文件,但是XMind zen 9.1.3以后的版本看沒有相應的文件了,于是乎無解,但是個人感覺版本之間的差異不應該非常大,很大可能性就是把文件打包到一個包里面或者代碼里面實現(xiàn)了相關水印方案。看到Resource中包含一個文件app.asar,開始猜測這里面應該包含有需要的內(nèi)容,網(wǎng)上搜索一下asar是啥?然后又看到electron.asar,聯(lián)想到“Electron?基于 Chromium 和 Node.js, 讓你可以使用 HTML, CSS 和 JavaScript 構建桌面應用”,既然是JavaScript,那么代碼就算混淆,找到核心代碼,屏蔽就完事兒。于是乎開動,雖然沒寫過JavaScript,但是看代碼應該問題不大。
1. 安裝ASAR,?npm install?asar?-g
2. 解包app.asar, ? 先了解一下asar命令
Usage: asar [options] [command]Manipulate asar archive files?
?Options:??
-V, --version ? ? ? ? ? ? ? ? ? ? ? ? output the version number??
-h, --help? ? ? ? ? ? ? ? ? ? ? ? ? ? output usage information?
?Commands:? pack|p [options] <dir> <output> ? ? ? create asar archive? list|l [options] <archive>? ? ? ? ? ??
list files of asar archive??
extract-file|ef <archive> <filename>??
extract one file from archive??
extract|e <archive> <dest>? ? ? ? ? ? extract archive
直接調(diào)用asar extract app.asar,解壓出來以后便有一個App的目錄,一看里面目錄結構就是node.js的結構,一目了然,這時候就看個人對代碼架構的經(jīng)驗加感覺,全局搜索一些關鍵字,找到處理水印、以及授權等相關的代碼處(比較合格的程序員變量命名或者字符串都會比較規(guī)范,所以直接搜索'watermark',可以找到相關代碼,在根據(jù)相關代碼繼續(xù)查找其他處理邏輯,一層一層抽絲剝繭,很快就能找到核心處理邏輯已經(jīng)邏輯判斷變量),處理強制賦值或者條件跳轉更改便完成簡單破解。
具體更改代碼部分,有興趣的可以下載下來跟原始版本做對比即可。
破解重新打包后的DMG文件
純屬技術研究,如有不適,留言刪帖!
https://pan.baidu.com/s/1pcEdGiPkhhwZXKIWMsksWg
nmns