当前位置:网站首页>Typora永久使用,彻底解决This beta version of Typora is expired.
Typora永久使用,彻底解决This beta version of Typora is expired.
2022-08-02 14:28:00 【落墨画雪】
1:背景描述
从2021年11月份开始,我们习惯使用的Markdown工具Typora正式进入了收费模式,当时用的是beta版最新的,因为收费所以原来的文档都打不开了,页面报错
This beta version of Typora is expired, please download and install a newer version。
因为原有数据被锁,可以通过nodepad++来打开,但是很不习惯,临时找了网上的教程,下载旧版本的(也是beta系列的),然后一用就再免费用了半年,但是最近旧版的也面临了同样的问题,导致我的Markdown文件又被锁死了,所以寻找了永久的‘续命’方法。
2:永久解决方案
查找了网上各种资源,亲自试过后,下面的解决方法能够完美解决。
步骤1:环境准备
首先需要本地的windows环境下有python环境,推荐python3的环境,python2因为很多第三方包没有维护,官方也不在更新,亲测破解中的有些依赖无法下载。如果本地windows环境中没有python环境,或者只有python2环境,推荐跳转本人的其他blog:https://blog.csdn.net/qq_21583139/article/details/125881382
步骤2:github上下载工具
感谢博主开源了工具,链接如下所示,可以直接下载压缩包本地再解压,或者git clone到本地
https://github.com/WittonBell/typoraCracker
例如我下载的位置是(或者放置在你想要放置的位置,注意路径下不要有中文)
C:\Users\leel\typoraCracker-master
步骤3:进入路径,进入正题
执行命令win + R
进入windows的终端,然后进入当前的破解工具环境下cd C:\Users\leel\typoraCracker-master
此时假设你已经做好了环境准备(python3)
按照我的那篇https://blog.csdn.net/qq_21583139/article/details/125881382所介绍那样,这里我使用python2和python3 共存的环境来演示,执行如下命令,(这里注意,如果只有python3的环境或者python2的话,直接使用pip install -r requirements.txt
即可,pip3是本人做了py2和py3共存的处理)
pip3 install -r requirements.txt
结果如下:(注意,如果没有修改pip下载源的话,就会很慢,或者失败,但是可以反复执行这条安装命令,因为会断点续传,失败多试几次就会成功)
C:\Users\leel\typoraCracker-master>pip3 install -r requirements.txt
Collecting jsbeautifier==1.14.0
Using cached jsbeautifier-1.14.0.tar.gz (73 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting jsmin==3.0.0
Using cached jsmin-3.0.0.tar.gz (11 kB)
Preparing metadata (setup.py) ... done
Collecting loguru==0.5.3
Using cached loguru-0.5.3-py3-none-any.whl (57 kB)
Collecting pycryptodome==3.11.0
Downloading pycryptodome-3.11.0-cp35-abi3-win_amd64.whl (1.8 MB)
---------------------------------------- 1.8/1.8 MB 17.1 kB/s eta 0:00:00
Collecting six>=1.13.0
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting editorconfig>=0.12.2
Downloading EditorConfig-0.12.3-py3-none-any.whl (16 kB)
Collecting colorama>=0.3.4
Downloading colorama-0.4.5-py2.py3-none-any.whl (16 kB)
Collecting win32-setctime>=1.0.0
Downloading win32_setctime-1.1.0-py3-none-any.whl (3.6 kB)
Using legacy 'setup.py install' for jsmin, since package 'wheel' is not installed.
Building wheels for collected packages: jsbeautifier
Building wheel for jsbeautifier (pyproject.toml) ... done
Created wheel for jsbeautifier: filename=jsbeautifier-1.14.0-py3-none-any.whl size=91951 sha256=75dfef07a0d2880aaed6f6efb5f2e2b3e22a5e4d7443da41141906e0d61c9f6f
Stored in directory: c:\users\luowenhao\appdata\local\pip\cache\wheels\41\76\91\43d0eb201fc1adc727a88dbd3e7ab6c77894c453c0abac9bd7
Successfully built jsbeautifier
Installing collected packages: jsmin, editorconfig, win32-setctime, six, pycryptodome, colorama, loguru, jsbeautifier
Running setup.py install for jsmin ... done
Successfully installed colorama-0.4.5 editorconfig-0.12.3 jsbeautifier-1.14.0 jsmin-3.0.0 loguru-0.5.3 pycryptodome-3.11.0 six-1.16.0 win32-setctime-1.1.0
安装好依赖后,执行如下指令,运行破解脚本typora.py
这里需要注意的是,“C:\Program Files\Typora\resources\app.asar”,是你原来的无法使用了的typora的安装路径,要用双引号标注,请自行确定好。且注意这里我用的python3,和上面pip3一样,下文不再赘述。
python3 typora.py "C:\Users\leel\AppData\Local\Programs\Typora\resources\app.asar" .
执行后的效果如下
2022-07-19 14:01:35.998 | INFO | __main__:extractWdec:56 - extract asar file: C:\Users\luowenhao\AppData\Local\Programs\Typora\resources\app.asar
2022-07-19 14:01:36.025 | SUCCESS | __main__:extractWdec:59 - extract ended.
2022-07-19 14:01:36.028 | INFO | __main__:extractWdec:61 - read Directory: .\tmp_app
2022-07-19 14:01:36.031 | INFO | __main__:extractWdec:66 - set Directory: .\dec_app
2022-07-19 14:01:36.034 | INFO | __main__:extractWdec:73 - open file: atom.js
2022-07-19 14:01:36.037 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: atom.js
2022-07-19 14:01:36.040 | INFO | __main__:extractWdec:73 - open file: Desktop.js
2022-07-19 14:01:36.044 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: Desktop.js
2022-07-19 14:01:36.046 | INFO | __main__:extractWdec:73 - open file: Dict.js
2022-07-19 14:01:36.048 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: Dict.js
2022-07-19 14:01:36.050 | INFO | __main__:extractWdec:73 - open file: DocumentController.js
2022-07-19 14:01:36.051 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: DocumentController.js
2022-07-19 14:01:36.052 | INFO | __main__:extractWdec:73 - open file: Downloader.js
2022-07-19 14:01:36.053 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: Downloader.js
2022-07-19 14:01:36.054 | INFO | __main__:extractWdec:73 - open file: Env.js
2022-07-19 14:01:36.055 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: Env.js
2022-07-19 14:01:36.056 | INFO | __main__:extractWdec:73 - open file: FilesOp.js
2022-07-19 14:01:36.057 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: FilesOp.js
2022-07-19 14:01:36.060 | INFO | __main__:extractWdec:73 - open file: License.js
2022-07-19 14:01:36.061 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: License.js
2022-07-19 14:01:36.063 | INFO | __main__:extractWdec:73 - open file: main.node
2022-07-19 14:01:36.064 | DEBUG | __main__:extractWdec:78 - skip file: main.node
2022-07-19 14:01:36.067 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: main.node
2022-07-19 14:01:36.069 | INFO | __main__:extractWdec:73 - open file: menu.js
2022-07-19 14:01:36.071 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: menu.js
2022-07-19 14:01:36.072 | INFO | __main__:extractWdec:73 - open file: package.json
2022-07-19 14:01:36.076 | DEBUG | __main__:extractWdec:78 - skip file: package.json
2022-07-19 14:01:36.077 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: package.json
2022-07-19 14:01:36.079 | INFO | __main__:extractWdec:73 - open file: Setting.js
2022-07-19 14:01:36.080 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: Setting.js
2022-07-19 14:01:36.082 | INFO | __main__:extractWdec:73 - open file: updater.js
2022-07-19 14:01:36.083 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: updater.js
2022-07-19 14:01:36.084 | INFO | __main__:extractWdec:73 - open file: WindowController.js
2022-07-19 14:01:36.086 | SUCCESS | __main__:extractWdec:81 - decrypt and save file: WindowController.js
2022-07-19 14:01:36.087 | SUCCESS | __main__:main:147 - Done!
执行完脚本后会发现当前的破解工具下会多出来一个文件夹,名为dec_app
,进入当前的文件夹,然后找到License.js
的文件,通过记事本或者nodepad++等其他工具打开后,使用搜索功能,找到如下的一行
This beta version of Typora is expired, please download and install a newer version.
这里我使用pycharm打开,因为更符合用户观看
上图中的4个数字是时间戳,在时间戳转换器中能够看到这个时间是北京时间:2021-11-17 12:58:41,
即beta版本过期要收费的时间,所以我们接下来要修改这个时间,我们修改为4102329600000 ,即2099-12-31,可以整体替换,好家伙,直接用到天荒地老!!!,这个时间绝对够用了。
替换过后如下
替换后,保存退出,然后继续终端执行如下命令
python3 typora.py -u dec_app/ .
结果如下
2022-07-19 14:07:42.181 | INFO | __main__:packWenc:109 - set outFilePath: .\app.asar
2022-07-19 14:07:42.184 | INFO | __main__:packWenc:119 - open file: atom.js
2022-07-19 14:07:42.186 | SUCCESS | __main__:packWenc:124 - encrypt and save file: atom.js
2022-07-19 14:07:42.187 | INFO | __main__:packWenc:119 - open file: Desktop.js
2022-07-19 14:07:42.188 | SUCCESS | __main__:packWenc:124 - encrypt and save file: Desktop.js
2022-07-19 14:07:42.189 | INFO | __main__:packWenc:119 - open file: Dict.js
2022-07-19 14:07:42.190 | SUCCESS | __main__:packWenc:124 - encrypt and save file: Dict.js
2022-07-19 14:07:42.191 | INFO | __main__:packWenc:119 - open file: DocumentController.js
2022-07-19 14:07:42.193 | SUCCESS | __main__:packWenc:124 - encrypt and save file: DocumentController.js
2022-07-19 14:07:42.194 | INFO | __main__:packWenc:119 - open file: Downloader.js
2022-07-19 14:07:42.205 | SUCCESS | __main__:packWenc:124 - encrypt and save file: Downloader.js
2022-07-19 14:07:42.206 | INFO | __main__:packWenc:119 - open file: Env.js
2022-07-19 14:07:42.208 | SUCCESS | __main__:packWenc:124 - encrypt and save file: Env.js
2022-07-19 14:07:42.209 | INFO | __main__:packWenc:119 - open file: FilesOp.js
2022-07-19 14:07:42.210 | SUCCESS | __main__:packWenc:124 - encrypt and save file: FilesOp.js
2022-07-19 14:07:42.211 | INFO | __main__:packWenc:119 - open file: License.js
2022-07-19 14:07:42.214 | SUCCESS | __main__:packWenc:124 - encrypt and save file: License.js
2022-07-19 14:07:42.215 | INFO | __main__:packWenc:119 - open file: main.node
2022-07-19 14:07:42.222 | SUCCESS | __main__:packWenc:124 - encrypt and save file: main.node
2022-07-19 14:07:42.224 | INFO | __main__:packWenc:119 - open file: menu.js
2022-07-19 14:07:42.226 | SUCCESS | __main__:packWenc:124 - encrypt and save file: menu.js
2022-07-19 14:07:42.228 | INFO | __main__:packWenc:119 - open file: package.json
2022-07-19 14:07:42.229 | SUCCESS | __main__:packWenc:124 - encrypt and save file: package.json
2022-07-19 14:07:42.230 | INFO | __main__:packWenc:119 - open file: Setting.js
2022-07-19 14:07:42.234 | SUCCESS | __main__:packWenc:124 - encrypt and save file: Setting.js
2022-07-19 14:07:42.237 | INFO | __main__:packWenc:119 - open file: updater.js
2022-07-19 14:07:42.241 | SUCCESS | __main__:packWenc:124 - encrypt and save file: updater.js
2022-07-19 14:07:42.245 | INFO | __main__:packWenc:119 - open file: WindowController.js
2022-07-19 14:07:42.256 | SUCCESS | __main__:packWenc:124 - encrypt and save file: WindowController.js
2022-07-19 14:07:42.260 | INFO | __main__:packWenc:126 - ready to pack
2022-07-19 14:07:42.283 | SUCCESS | __main__:packWenc:128 - pack done
2022-07-19 14:07:42.285 | SUCCESS | __main__:main:147 - Done!
此时会在当前目录下生成一个新的文件,名字叫app.asar
最后,我们将它替换typora的安装目录下的同一个文件就完成了,C:\Users\leel\AppData\Local\Programs\Typora\resources\app.asar
然后就能继续使用typora,自己的文件也可以解锁了。
3:后记
当然,本文只是学习交流使用,希望大家有余力的话支持正版。
其实是否可以使用他人的这个经过破解后的app.asar文件直接替换不清楚,不过相信每个经过自己亲自去破解的乐趣会更多,成就感更多。
想要直接替换的,不走自己破解过程的请移步这个链接:
https://blog.csdn.net/weixin_45954454/article/details/125817182
参考文献:
https://blog.csdn.net/no_say_you_know/article/details/125806545
https://blog.csdn.net/weixin_45954454/article/details/125817182
边栏推荐
猜你喜欢
随机推荐
2022年低压电工考试试题及在线模拟考试
Wigner-Ville distribution for time-frequency analysis
中国服装行业已形成一套完整的产业体系
setTimeout与setInterval的区别
C语言的基本程序结构详细讲解
C语言中国象棋源码以及图片
集成电路实践----D触发器
nodemon : 无法加载文件 D:\Program Files\nodejs\node_global\nodemon.ps1
散列表简述
告别手摇织布机的AI时代
PAT甲级 1019 普通回文数
Impulse response invariant method and bilinear transformation method for IIR filter design
遍历堆 PAT甲级 1155 堆路径
太香了!阿里Redis速成笔记,从头到尾全是精华!
PAT甲级 1078 哈希
什么是Knife4j?
PAT甲级 1130 中缀表达式
DOM - Event Mechanism and Event Chain
MySQL 自增主键
机械键盘失灵