发布于 ,更新于 

通过NodeInject和Yporaject进行Typora激活

众所周知,Typora是一款非常优秀的Markdown编辑器,而我日常撰写博文使用的也正是Typora。然而,正版Typora高达89元的售价让不少像我这样的学生党望而却步,不得不通过其他技术手段来使用Typora。
但是,在互联网上公开的破解手段中,大多数都是采用对 Typora 加密的核心js进行修改或直接Patch二进制的方式实现绕过授权校验的。这些方案当然可行,但仍存在版本针对性强、侵入性高等诸多缺陷。
在这种情况下,吾爱破解论坛的hlrlqy大佬提出的一种通过对Node.js的相关实现进行Hook从而修改数据的方法就成为了更加理想的破解方式。
本文仅记录我部署这一项目的过程,仍然强烈推荐有经济能力的朋友支持正版Typora


用于进行注入的 NodeInject 项目和用于生成License Key的 NodeInject_Hook_example 项目是这一方案的官方Rust实现。由hazukieq大佬Fork的版本 Yporaject 合并了上述两个项目并撰写了详细的教程。在此对二位大佬的所做的工作表示感谢。

注意:

1.根据 Yporaject 项目的说明,由于Typora在MacOS上的打包方法和运行环境与其他平台存在差异,该方案仅适用于Windows和Linux系统

2.由于 Yporaject 与原项目代码不同步,可能因为代码滞后导致对Typora的更新版本失效。如果遇到此问题,请查看 NodeInject 项目和 NodeInject_Hook_example 项目。

环境信息

Manjaro Linux (Linux Kernel 6.5.3-1-MANGARO x64)

Windows 10 IoT 企业版 LTSC 21H2 (19044.3448)

cargo 1.72.1 (103a7ff2e 2023-08-15)

Typora 1.7.5

配置Rust编译环境

Linux:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows:参照官方教程使用RUSTUP-INIT.exe安装。

安装官方版Typora

Linux:flatpak install io.typora.Typora

Linux下的其他安装方法详见Typora官网

Windows:官网下载安装包后直接安装。

克隆 Yporaject 项目

git clone https://github.com/hazukieq/Yporaject.git --depth=1

如果在克隆项目时遇到网络问题,可以使用gitclone.com提供的镜像加速:

git clone https://gitclone.com/github.com/hazukieq/Yporaject.git --depth=1

也可以使用 git config --global http.proxy/https.proxy 来为Git设置代理,本文不再赘述。

编译 Yporaject 项目

下面的命令适用于 Linux Bash/Zsh ,Windows Powershell需要略作调整。

1
2
3
4
5
6
# 进入 Yporaject 项目
cd Yporaject
# 运行编译命令
cargo build
# 查看二进制是否生成,程序名称为 node_inject
ls target/debug

复制二进制程序到安装目录下

1
2
3
4
5
6
7
8
9
10
# 记录当前目录路径
cur=`pwd`
# 复制二进制程序到相关目录下
sudo cp target/debug/node_inject /usr/share/typora
# 进入相关目录
cd /usr/share/typora
# 给予二进制程序执行权限
sudo chmod +x node_inject
# 运行二进制程序,请注意程序运行输出信息
sudo ./node_inject

获取License Key

1
2
3
4
5
6
7
8
# 返回项目
cd $cur
# 进入 license-gen 文件夹
cd license-gen
# 编译代码
cargo build
# 运行二进制程序
cargo run

你将会得到下面这样的输出:

1
2
3
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `target/debug/license-gen`
License for you: xxxxxx-xxxxxx-xxxxxx-xxxxxx

复制 License for you后面的那一串序列码备用。

激活 Typora

1
2
#运行 Typora (或直接在桌面上点击程序图标)
typora &

依次点击界面上方菜单栏的帮助 > 我的许可证...(Help > My license)打开激活界面,然后输入激活邮箱(可以任意填写)和上面复制的序列码。

如果遇到网络问题导致的“序列码激活软件失败,连接不上服务器”,可以在偏好设置 > 通用中勾选 “使用Typora国内服务器”。如果问题仍然没有解决,可以挂代理后使用国外激活服务器(不勾选 “使用Typora国内服务器”)重试。

参考资料

1.[Linux/Windows]Typora 理论多版本兼容破解方案

2.Typora最新版激发(Ubuntu)