前言
Typora自正式版1.0.0发布后,需要付费获取激活码才能使用,beta版仍可继续免费使用。
以下方法采用非常规方法在1.0.4版本亲测激活成功,特别声明:该方法仅供学习交流,切勿用于任何商业用途。
准备
首先需要获得asar的解包和打包工具,工具的使用依赖于以下环境:
- python环境
- node环境(可选)
源码地址:https://github.com/Mas0nShi/typoraCracker
步骤
1.获取工具源代码,进入到工具的根目录。
2.安装工具所需依赖环境:
1 | pip install -r requirements.txt |
|---|
该命令需要本机安装有Visual Studio C Build Tools,否则安装过程会报错。
3.找到Typora安装目录下的app.asar文件,例如:C:Program FilesTyporaresourcesapp.asar。
4.执行工具解包命令:
1 | python typora.py "C:Program FilesTyporaresourcesapp.asar" workstationoutfile |
|---|
app.asar解包后的文件存储在workstationoutfiledec_app目录下。
5.使用脚本文件examplepathLicense.js替换掉workstationoutfiledec_appLicense.js文件。
6.再次用工具打包app.asar文件,添加了-u参数:
1 | python typora.py -u workstationoutfiledec_app workstationoutappasar |
|---|
成功之后在workstationoutappasar目录下能找到新的app.asar文件,将该文件替换至typora安装目录下的原始文件(替换之前最好先备份)。
7.激活码生成,用nodejs执行:
1 | node example/keygen.js |
|---|
执行完毕会得到一串验证码,使用用该验证码激活Typora。

F&Q
启动Typora报错
如果替换app.asar文件后,启动typora报出了如下错误:

解决办法,在打包app.asar前,先将typora安装目录下的resourcesapp.asar.unpackedmain.node文件也放置在打包目录中,再执行打包命令。
key-gen的python版本
如果本地没有node环境,也可以用如下python代码生成激活码:
1234567891011121314151617181920212223 | # -*-coding:utf-8 -*-import randomrand_char_set = 'L23456789ABCDEFGHJKMNPQRSTUVWXYZ'def rand_string(size=22, chars=rand_char_set): return ''.join((random.choice(chars) for _ in range(size)))def calc_char(input_str:str, chars=rand_char_set): return chars[sum((chars.index(c) for c in input_str)) % len(chars)] def key_gen(): ''' get random 22chars from char set and do final two chars calc: algo: divide @serial into two set ,get char pos in @rand_char_set, do add and get the index of new char in @rand_char_set 1, {0, 2, 4, 6, 8, 10, 12, 14} 2, {1, 3, 5, 7, 9, 11, 13, 15}''' serial = rand_string(size=22) return serial calc_char(serial[0:16:2]) calc_char(serial[1:16:2])if __name__ == '__main__': serial = key_gen() print(serial[:6] "-" serial[6:12] "-" serial[12:18] "-" serial[18:24]) pass |
|---|


