Yporainject(复制自 NodeInject 项目 Copy from repo NodeInject)
查看 Node_inject 项目说明书 See the README of that repo
作者:叶月绘梨依 日期:2023年6月10日
- Windows
- Ubuntu
- MacOs
Since macos may adopt different packaging methods and webkit as the execution environment, this tool does not support applications under macos.
请您提问之前,请自行确认:
- 尝试通过网络解决遇到的问题,你确信网络不能解决你的问题
- 确定已有的 issue 不能解决你的问题
- 确定 issue 按照如下格式: [问题]: 问题描述
请您按照提问模板填写(文件位于仓库 issue_template.md)
谢谢您的配合,祝您生活愉快!
激活时请勾选国内服务器,否则会激活不成功 特别提示: 当前两个脚本可能有不完备的地方,使用时请格外注意
1. 使用 Python 脚本 inject.py
# 在当前项目目录下(Yproject)
python inject.py
2. 使用 Bash 脚本 inject.sh
# 在当前项目目录下(Yproject)
./inject.sh
当前仅在 win10 下 powershell(管理员运行模式) 测试通过,可能仍有不足之处 使用前,请谨慎通读脚本,或备份 typora 安装包以便重新安装
# 请 搜索 powershell,并以管理员权限运行
## 以下均假定在 管理员模式 powershell 终端下运行!!
# 移动至当前项目处
# 比如 当前项目为 D:\Yproject
d: #切换到 D 盘
cd Yproject # 移动到相关目录
.\inject_gbk.bat
脚本依赖要求: 以上脚本均依赖 node 运行库, 故请安装 node(亦可通过 nvm 管理器安装 node)
#arch
sudo pacman -S nodejs
#ubuntu
sudo apt install nodejs
#windows
#请先安装 nodejs
# 推荐:https://github.com/coreybutler/nvm-windows
# 或者参考:https://zhuanlan.zhihu.com/p/442215189
# 找到安装路径下的node.exe,复制路径
# 然后更改 inject_gbk.bat或 inject_utf.bat 中的 NODE_INSTALLED_PATH 值
注意:license_code 文件内置有已经生成的序列码,可直接使用。若出现意外,那么还请安装 rust 环境,并通过以下步骤以获得激活序列:
# 假设您已经在 Yproject 目录下
# 并成功配置 rust 环境
cd ./license-gen
cargo build
./target/debug/license-gen
输出 License for you: xxxxxx...
-
在终端下输入以下命令直接下载(我电脑是 X86 架构的,请根据自己电脑自行选择)
# 查看电脑架构 uname -m # 下载 Typora 安装包 # X86(Amd) 架构 wget https://download2.typoraio.cn/linux/typora_1.7.4_amd64.deb --output-document typora.deb # Arm 架构 wget https://download2.typoraio.cn/linux/typora_1.7.4_arm64.deb --output-document typora.deb # 安装 Typora 软件包 sudo dpkg -i typora.deb
可以直接克隆本项目仓库(本项目对原两个项目进行了合并),好处是一键编译即可,坏处是本项目并未和原项目代码同步
# 可以直接克隆本项目的仓库, depth=1 表示仅克隆最新版本,以减少等待时间
git clone https://github.com/hazukieq/Yporaject.git --depth=1
或者克隆原项目仓库
# 原项目仓库, depth=1 表示仅克隆最新版本,以减少等待时间
git clone https://github.com/DiamondHunters/NodeInject --depth=1
git clone https://github.com/DiamondHunters/NodeInject_Hook_example --depth=1
# 建立 Yproraject 文件夹
mkdir Yporaject
# 将两个项目资源合并
# 将 NodeInject 项目代码复制到 Yproraject 文件夹
cp NodeInject/* Yporaject -r
# 将 NodeInject_Hook_example/hook.js 复制到 Yporaject/src 文件夹
cp NodeInject_Hook_example/hook.js Yporaject/src
# 将 NodeInject_Hook_example/license_gen 文件夹复制到 Yporaject 文件夹
cp NodeInject_Hook_example/license_gen Yporaject -r
由于编译项目需要 Rust 的支持,所以我们需要配置相关环境(若已有,则可跳过该步骤)
# 运行官方脚本安装即可
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 检查 cargo,若看到如下版本信息,则说明配置成功
cargo -V
cargo 1.70.0 (ec8a8a0ca 2023-04-25)
注:若安装过程中出现其他问题,请自行网上搜索相关安装教程,关键字 ubuntu
cargo
rust
install
# 进入 Yporaject 项目
cd Yporaject
# 运行编译命令
cargo build
# 查看二进制是否生成,程序名称为 node_inject
ls target/debug
# 尝试运行该二进制程序
cargo run
output:
no node_modules.asar found
move me to the root of your typora installation(the same directory as executable of electron)
请务必确认当前项目目录 target/debug 下 是否生成了 node_inject 二进制程序
# 记录当前目录路径,待会返回需要用到
cur=`pwd`
# 复制二进制程序到相关目录下
sudo cp target/debug/node_inject /usr/share/typora
# 进入相关目录
cd /usr/share/typora
# 给予二进制程序执行权限
sudo chmod +x node_inject
# 运行二进制程序
# (请注意程序运行输出信息,观察是否运行成功!!)
# 若无读写权限,建议使用 sudo ./node_inject
sudo ./node_inject
# 返回项目
cd $cur
# 进入 license-gen 文件夹
cd license-gen
# 编译代码
cargo build
# 运行二进制程序
cargo run
# 你将会得到以下输出
output:
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `target/debug/license-gen`
License for you: xxxxxx-xxxxxx-xxxxxx-xxxxxx
复制 License for you: xxxxxx-xxxxxx-xxxxxx-xxxxxx 的那一串激发码,待会需要用到
#运行 Typora (你也可以在桌面上点击相关图标)
typora &
依次点击界面上方菜单栏选项 help > my license(帮助 > 我的许可证...)
邮箱可以随便填
然后在第二输入框中,粘贴刚才得到的激发码
点击 激活
按钮后,你将会看到以下界面
经过几番查找,好多教程都不怎么符合我的需求,且在 CSDN
等平台上各种转载、胡乱复制的帖子...看得真是心累。不知是不是由于我用的软件比较新的缘故, 比如 **poraCracker 就没有用。后面看到了NodeInject这个项目,我抱着尝试的态度按照项目指南操作,没想到竟然真的激活成功了。为了以后自己能想起这个方法,特此记录。