Typora激活方法
前言
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 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
。
F&Q
启动Typora报错
如果替换app.asar
文件后,启动typora
报出了如下错误:
解决办法,在打包app.asar
前,先将typora
安装目录下的resources\app.asar.unpacked\main.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 |
---|
相关文章
- 网站管理后台帐号密码暴力激活成功教程方法
- 关于Navicat 数据库一直激活不成功的解决方法[通俗易懂]
- Pycharm激活方法(license server方法)
- HONOR荣耀50/荣耀50Pro怎么解锁huawei 荣耀50pro屏幕锁开机锁激活设备锁了应该如何强制解除鸿蒙系统刷机解锁方法流程步骤不开机跳过锁屏移除锁定进系统方法经验
- Loadrunner11在win10下的安装、汉化与激活成功教程方法
- Sublime Text 3 注册/激活方法
- Async/EnableAsync注解异步方法的使用
- 暴力激活成功教程密码 – C++ 递归方法实现
- pycharm激活码永久 2023最新有效pycharm激活方法分享
- mac LRC2023的最新版本下载LRC2023下载及安装方法Lightroom Classic永久激活LRC2023下载安装激活
- Linux 服务器 inotify实时备份实现方法
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- [五]java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用编程语言
- 模式实现Redis生产者消费者模式的方法(redis生产者消费者)
- 微软分享缓解PetitPotam NTML中继攻击的方法
- MySQL中统计字段的方法(mysql统计字段)
- Linux查看WebSphere日志的方法(linux查看was日志)
- 探究Linux下摄像头应用的使用方法与技巧(linuxcamera)
- 拓展PHP Redis功能的重要性与实现方法探讨(phpredis拓展)
- Mac电脑的MySQL下载方法,激活你的数据操作能力(mysql下载方法mac)
- MySQL下载后的激活方法详解(mysql下载后怎么激活)
- 优化优化Redis连接数简单有效的方法(redis连接数大小如何)
- Pythonstriplstriprstrip使用方法
- ADODB连接access是出现80004005错误的解决方法
- jQuery1.4.2与老版本json格式兼容的解决方法
- javastring转date方法如何实现
- WinForm子窗体访问父窗体控件的实现方法
- php二维数组排序与默认自然排序的方法介绍
- C#采用FileSystemWatcher实现监视磁盘文件变更的方法