Skip to content

Latest commit

 

History

History
311 lines (191 loc) · 10.1 KB

README.zh-CN.md

File metadata and controls

311 lines (191 loc) · 10.1 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. 通过 Secrets 使用 Github Actions

点击展开

使用 Secrets 可以不用对仓库代码进行修改,方便你以后可以无冲突的对仓库进行同步更新,所以我优先推荐使用这种方法:

4.1 Fork

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

Fork

Fork

4.2 创建 Secrets

打开你 fork 后的仓库,进入 Settings > Secrets > Actions > New repository secret 来创建:

Secrets

Secrets

创建两个 Secrets,名称为 text1text2,并填入相关值:

Add Secrets

Add Secrets

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

Secrets Repo

Secrets Repo

4.3 运行 Workflow

进入 Actions 并选择 WinRAR Keygen Secrets 来手动执行 Workflow:

Run

Run

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

Download

Download

5. 通过 Push 使用 Github Actions

点击展开

使用 push 操作进行 key 的生成非常的简单和方便,但是当有更新同步时你需要手动进行冲突合并。所以我建议优先 通过 Secrets 使用 Github Actions ,但是你仍可以使用 push 操作:

5.1 Fork

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

Fork

Fork

如果你之前 fork 过,然后我提交了新的代码,但是你不懂得如何合并新内容到你的仓库,那你也可以删掉当前 fork 的仓库,然后重新 fork 一次。

5.2 修改 info.json

打开你 fork 后的仓库,进入 keygen/info.json,点击编辑按钮,对该文件进行编辑:

Edit

Edit

打开该文件,你会发现有以下内容:

{
    "text1": "Github",
    "text2": "Github.com"
}

你可以自己修改 text1text2 相对应的值,例如:

{
    "text1": "Your Name",
    "text2": "Your License"
}

test1test2 参数均是 ANSI 编码,目前已经支持空格

修改完成之后,点击 Commit changes 按钮,Github Actions 会自动开始执行。

如果 Github Actions 未自动开始,你需要先点击 Actions 页面 允许此 workflows 运行,然后再次修改并提交 keygen/info.json

Workflow

Workflow

5.3 下载文件

进入 Actions 并选择 WinRAR Keygen 页面查看程序运行状况:

Workflow

Workflow

绿色说明运行成功,黄色说明正在运行,红色说明运行失败。运行成功之后,打开对应的任务,选择 rarreg_file 下载:

Download

Download

rarreg_file.zip 解压缩后会得到 rarreg.key,然后拖动导入 WinRAR 即可。

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

6. 通过 Visual Studio 编译使用

点击展开

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

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

6.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

6.2 编译

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

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

6.3 如何使用?

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

这里以 GithubGithub.com 为例:

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

Example:

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

Terminal

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

RAR registration data
Github
Github.com
UID=3a3d02329a32b63da7d8
6412212250a7d8753c5e7037d83011171578c57042fa30c506caae
9954e4853d415ec594e46076cc9a65338309b66c50453ba72158c0
656de97acb2f2a48cf3b75329283544c3e1b366a5062b85d0022f6
de3cdc56b311475b484e80b48157a0c3af60ca4f7f9c75d49bc50d
6bad616c1c58caa922d3ed0cd19771e8191522a586544c3e1b366a
5062b85d29db066f02e777ad78100865f2c31f2dd3a86998609b18
5eede7ed46566b10bf033daa6384062b259194b1acbd1443042646

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

7. 无效的Key

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

7.1 ANSI编码

test1 以及 test2 生成的许可文本,均是 ANSI 编码,目前已经支持空格 Issues #5

winrar-keygen.exe <text1> <text2>

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

7.2 TXT编码

如果你使用了如下命令:

winrar-keygen.exe "Github" "Github.com" > rarreg.key

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

请使用如下命令:

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

7.3 Key的位置

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

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

7.4 关于简体中文版

RARLAB 下载的简体中文版 WinRAR 将会自带广告组件,即使使用了 rarreg.key 授权,广告组件依旧会出现。如果您介意广告,可以下载其他语言版。

8. 贡献

8.1 反馈和建议

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

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

8.2 感谢

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

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

9. 许可

使用 MIT License