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