Skip to content

Latest commit

 

History

History
397 lines (239 loc) · 15.8 KB

README.zh-CN.md

File metadata and controls

397 lines (239 loc) · 15.8 KB

WinRAR Keygen

WinRAR Keygen

Principle of WinRAR key generation

Issues License

简体中文 | English

1. WinRAR是什么?

WinRAR 是一款用于管理压缩包文件的共享软件。其算法由作者尤金·罗谢尔研发,享有原创专利。

它可以用来创建或浏览 RAR、ZIP 等众多格式的压缩包。

WinRAR 不是免费软件。如果你想使用它,你应当向 RARLAB 付费,然后获得一个授权文件 rarreg.key

这份 repo 将会告诉你 rarreg.key 是如何生成的。

2. "rarreg.key"是如何生成的?

这里

3. 使用方法

有多种方法可供选择:

4. 编码说明

WinRAR Keygen 支持 ASCIIANSIUTF-8 三种编码类型,以下是三种编码的简单说明:

Warning

建议暂时不要用 ANSI 编码方式生成非 ASCII 字符的 license,因为在 Windows Server 2022 上中文、日语和韩语的 PowerShell 控制台字符会出现乱码问题,该问题微软正在修复

编码 说明 支持的字符
ASCII 单字节编码,只使用最下面的 7 位,没有重音符号等 仅支持 ASCII 字符
ANSI 没有一种固定的 ANSI 编码。通常说的 ANSI 是指 “系统默认的本地/代码页”,它通过 Encoding.Default 获得,通常是 Windows-1252,但也可以是其他本地 仅支持 ASCII 字符和您操作系统所设国家或地区的语言编码
UTF8 可变长度编码,每个码位 1-4 个字节(ASCII 值用 1 个字节编码为 ASCII) 支持 UTF-8 编码字符

5. License 类型

WinRAR license 有 rarreg.keyrarkey.rar 两种类型,它们仅在导入上有区别:

rarreg.key rarkey.rar
拖动导入或放于指定位置 双击运行自动导入

如果你无法执行拖动操作,你可以尝试把 rarreg.key 放置与以下目录中:

C:\Users\yourname\AppData\Roaming\WinRAR\rarreg.key

你也可以将 rarreg.key 压缩成 rarkey.rar 然后双击运行,授权导入将会自动进行。

6. 使用 Github Actions

点击展开

新的 workflow 能很方便的帮助你生成 license,你只需跟随以下步骤即可:

你的 UsernameLicense Name 会出现在 actions 日志中,如果你不想泄露这些信息,请参考 7. 使用 Github Actions with secrets

6.1 Fork

点击该项目右上角的 Fork 按钮,fork 一份代码到你的 Github:

Fork

Fork

6.2 允许 Fork 仓库运行 Workflows

返回到你刚刚 fork 完成的 repo,然后点击 Actions 去允许 workflows 在你的 fork repo 中运行:

Workflow

Workflow

6.3 运行 workflow

允许 workflow 后,选择 WinRAR Keygen > Run workflow 并填入信息就可以开始生成了:

License 编码的区别请参考 4. 编码说明

Secrets

Secrets

运行成功之后,打开对应的任务,选择 rarreg_file 下载:

文件保留 90 天,超出时间后会自动销毁。

Download

Download

rarreg_file.zip 解压缩后会得到 rarreg.key,然后拖动导入 WinRAR 即可。你也可以将 rarreg.key 压缩成 rarkey.rar,然后双击运行,授权导入将会自动进行。

如果你得到的是 key 是无效的,请查看 解决方法

7. 使用 Github Actions with secrets

点击展开

使用 secrets 可以帮助你隐藏 license 信息。

7.1 Fork

点击该项目右上角的 Fork 按钮,fork 一份代码到你的 Github:

Fork

Fork

7.2 允许 Fork 仓库运行 Workflows

返回到你刚刚 fork 完成的 repo,然后点击 Actions 去允许 workflows 在你的 fork repo 中运行:

Workflow

Workflow

7.3 创建 Secrets

允许 workflows 后,进入 Settings > Secrets and variables > Actions > New repository secret 来创建 Secrets:

Secrets

Secrets

创建三个 Secrets,名称为 TEXT1TEXT2PWD,并填入相关值:

填入的值应与你选择的编码类型保持一致。

Secrets Name Explanation
TEXT1 用户名
TEXT2 许可名
PWD 压缩包密码

Add Secrets

Add Secrets

创建完成后,你将会看到:

Secrets Repo

Secrets Repo

7.4 运行 workflow

进入 Actions 选择 WinRAR Keygen with secrets > Run workflow 并填入信息:

License 编码的区别请参考 4. 编码说明

Run

Run

运行成功之后,打开对应的任务,选择 rarreg_file 下载:

文件仅保留 1 天,请及时下载。

Download

Download

rarreg_file.zip 解压缩后会得到 rarreg.7z,使用你设置的密码进行解压缩获得 rarreg.key,然后拖动导入 WinRAR 即可。你也可以将 rarreg.key 压缩成 rarkey.rar,然后双击运行,授权导入将会自动进行。

如果你得到的是 key 是无效的,请查看 解决方法

8. 通过 Visual Studio 编译使用

点击展开

我建议通过 Github Actions 的方法来使用,但是你仍然可以选择自行编译。

如果你不想自行编译,也可以到 Release 页面获取对应版本的 winrar-keygen.exe

8.1 前提条件

  1. 请确保你有 Visual Studio 2022,因为这是一个 VS2022 项目。如果你仍在使用 Visual Studio 2019,可以在 vs2019 分支中找到适合 VS2019 的项目,但是此分支将不再维护。

  2. 请确保你安装了 vcpkg 以及下面几个库:

    • mpir:x86-windows-static
    • mpir:x64-windows-static

    你可以通过下的命令来安装:

    $ vcpkg install mpir:x86-windows-static
    $ vcpkg install mpir:x64-windows-static
  3. 你的 vcpkgVisual Studio 整合了,即你曾成功运行了下面这条命令:

    $ vcpkg integrate install

8.2 编译

  1. Visual Studio 中打开这个项目;
  2. 选择 Release 配置;
  3. 选择 生成 > 生成解决方案

你将在 bin/ 目录下看到生成的文件。

8.3 如何使用?

直接在终端执行以下代码,配置两个参数即可生成 rarreg.key

这里以 GithubSingle PC usage license 用 ASCII 编码为例:

Usage:
        winrar-keygen.exe <Username> <License Name>

Example:

        winrar-keygen.exe "Github" "Single PC usage license"

  or:
        winrar-keygen.exe "Github" "Github.com" | Out-File -Encoding ASCII rarreg.key

Terminal

现在你可以看到新生成的文件:

RAR registration data
Github
Single PC usage license
UID=3a3d02329a32b63da7d8
6412212250a7d8753c5e7037d83011171578c57042fa30c506caae
9954e4853d415ec594e46017cb3db740bc4b32e47aea25db62f350
9f22065a27da4f8216d2938e1050b6e3347501a3767d1fdd7ee130
dd4ab952600ba16a99236d910bfa995d5f60651ec451f462511507
95b3722d059f2d5303a231e396cf21f17098edeec0b6e3347501a3
767d1fdd7ee45388769767642338ee8a63178f3458b71de5609b18
5eede7ed46566b10bf033daa6384062b259194b1acbd0378116064

将生成的信息以 ANSI 编码 的文本格式保存为 rarreg.key

8.4 多语言的支持

使用 ANSI 编码时,你只能使用你操作系统所在国家或地区的字符。ANSI 编码从 Powershell 7.4 以后开始支持,你还需要升级你的 Powershell

用 ANSI 编码生成多语言的 license:

winrar-keygen.exe "简体中文" "license" | Out-File -Encoding ansi rarreg.key

winrar-keygen.exe "繁體中文" "license" | Out-File -Encoding ansi rarreg.key

winrar-keygen.exe "Deutsch" "license" | Out-File -Encoding ansi rarreg.key

winrar-keygen.exe "Français" "license" | Out-File -Encoding ansi rarreg.key

winrar-keygen.exe "日本語" "license" | Out-File -Encoding ansi rarreg.key

winrar-keygen.exe "한국어" "license" | Out-File -Encoding ansi rarreg.key

使用 UTF-8 编码生成多语言的 license 时,你可能需要在 “控制面板 > 时钟和区域 > 区域 > 管理 > 更改系统区域设置 ” 中勾选使用 “Beta版:使用Unicode UTF-8提供全球语言支持” 才能正确的处理数据。但是不建议你这么操作,这可能会导致很多软件无法正常运行,建议使用 Github Actions

用 UTF-8 编码生成多语言的 license:

utf8: 是为了保证在不同语言的 WinRAR 中做到不变的字符表示。

winrar-keygen.exe "utf8:简体中文" "license" | Out-File -Encoding utf8 rarreg.key

winrar-keygen.exe "utf8:繁體中文" "license" | Out-File -Encoding utf8 rarreg.key

winrar-keygen.exe "utf8:Deutsch" "license" | Out-File -Encoding utf8 rarreg.key

winrar-keygen.exe "utf8:Français" "license" | Out-File -Encoding utf8 rarreg.key

winrar-keygen.exe "utf8:日本語" "license" | Out-File -Encoding utf8 rarreg.key

winrar-keygen.exe "utf8:한국어" "license" | Out-File -Encoding utf8 rarreg.key

9. 无效的 Key

为什么我生成的 rarreg.key 是无效的?

9.1 字符编码不正确

参数 TEXT1TEXT2 需要满足对应的编码要求

winrar-keygen.exe <TEXT1> <TEXT2>

具体可参考原理文档:授权文件"rarreg.key"的生成

9.2 文本储存编码不正确

如果你使用了如下命令:

winrar-keygen.exe "Github" "Single PC usage license" > rarreg.key

在较新的 Windows 10 系统中,PowerShell 将默认以 UTF16-LE 格式导出,这将会导致错误。

请指定输出编码格式,例如:

winrar-keygen.exe "Github" "Github.com" | Out-File -Encoding ascii rarreg.key

winrar-keygen.exe "Github" "Github.com" | Out-File -Encoding ansi rarreg.key

winrar-keygen.exe "utf8:Github" "Github.com" | Out-File -Encoding utf8 rarreg.key

9.3 关于简体中文版

RARLAB 下载的简体中文版 WinRAR 将会自带广告组件,即使使用了 rarreg.key 授权,广告组件依旧会出现。这是由于简体中文代理商的一些意见,RARLAB 已将简体中文安装包的公开链接更换成了带有广告的简体中文安装包。

感谢 @hoochanlon 提供的一些方法。可以使用 win-rar-extractor 获取简体中文商业版的下载连接;也可以根据商业版的地址规律,获取相应版本的简体中文安装包:

简体中文商业版(以 6.11 版本为例):

win-rar 渠道:
https://www.win-rar.com/fileadmin/winrar-versions/sc/sc20220317/rrlb/winrar-x64-611sc.exe

简体中文广告版(以 6.11 版本为例):

win-rar 渠道:
https://www.win-rar.com/fileadmin/winrar-versions/winrar/winrar-x64-611sc.exe

rarlab 渠道:
https://www.rarlab.com/rar/winrar-x64-611sc.exe

请注意区分上述连接地址,更多方法可以查看 Issues #14Issues #19

10. 贡献

10.1 反馈和建议

如果您遇到了一些问题,可在 Issues 页面反馈,会有很多热心的开发者及 Github 用户帮助你。

该项目欢迎贡献和建议,您可以在 Issues 提出建议,或者进行提交拉取请求 😄

10.2 感谢

非常感谢一些热心的开发者,在 Issues 帮助解答一些问题。

🏆 特别感谢 @Sonic-The-Hedgehog-LNK1123

11. 许可

使用 MIT License