未激活的Typora會在不定期彈出激活界面,過了試用期的激活界面無法關(guān)閉(只能退出軟件),所以我的思路是如何來關(guān)閉激活界面,接下來我們開始破解。

已激活
首先找到要找到 TypeMark 文件夾,位置在:
.../Typora.app/Contents/Resources/TypeMark
- 第一種方法,在渲染激活界面的時(shí)候添加關(guān)閉窗口的代碼,可以在 TypeMark 文件夾下全局搜索
var oe=null;return 2==f?,然后在return前添加代碼window.Setting.close();,這樣就會在打開激活界面的瞬間關(guān)閉激活窗口。
// .../Typora.app/Contents/Resources/TypeMark/page-dist/static/js/LicenseIndex.180dd4c7.c7ff4102.chunk.js
// 源碼
r.a.createElement("div",{className:"footer-right"},ce))}var oe=null;return 2==f?(oe=r.a.createElement(g,{token:$,setToken:Y
// 修改后
r.a.createElement("div",{className:"footer-right"},ce))}var oe=null;window.Setting.close();return 2==f?(oe=r.a.createElement(g,{token:$,setToken:Y
- 第二種方法,修改判斷是否激活的位置,首先在 TypeMark 文件夾下全局搜索
?"Typora Activated":"Activate Typora")的位置,然后找到?前面變量的賦值位置,這里的變量是O,把O=y[0]改為O=true,這樣每次打開激活界面都是已激活狀態(tài)了。
// .../Typora.app/Contents/Resources/TypeMark/page-dist/static/js/LicenseIndex.180dd4c7.c7ff4102.chunk.js
// 搜索代碼的位置
ne=Object(w.a)(O?"Typora Activated":"Activate Typora"),ae="";
// 源碼
y=Object(d.a)(b,2),O=y[0],j=y[1],k=r.a.useState(i.email||"")
// 修改后
y=Object(d.a)(b,2),O=true,j=y[1],k=r.a.useState(i.email||"")
注意
- 如果打開的時(shí)候提示“ “Typora”已損壞,無法打開。 你應(yīng)該將它移到廢紙簍?!?,打開終端執(zhí)行:
sudo spctl --master-disable- js代碼做過混淆,可能不同版本的變量會有所不同,所以在搜不到的時(shí)候,可以去掉變量部分試試。
- 第一種方法可以自動(dòng)關(guān)閉激活窗口,第二種方法需要手動(dòng)關(guān)閉激活窗口,第一種方法在電腦卡的時(shí)候可能會發(fā)生崩潰,可以加個(gè)延遲執(zhí)行來解決,比如延遲1秒執(zhí)行:
setTimeout(window.Setting.close(), 1000);- 真正激活的代碼可能不是用js寫的,因?yàn)槲覄h除所有js代碼,主頁右下角那個(gè)未激活還是存在。