🎉 v2.0.0
release v2.0.0
40
.github/workflows/action.yml
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
name: WinRAR Keygen
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths:
|
||||
- 'keygen/*.json'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Get key text1
|
||||
id: text1
|
||||
uses: notiz-dev/github-action-json-property@release
|
||||
with:
|
||||
path: 'keygen/info.json'
|
||||
prop_path: 'text1'
|
||||
|
||||
- name: Get key text2
|
||||
id: text2
|
||||
uses: notiz-dev/github-action-json-property@release
|
||||
with:
|
||||
path: 'keygen/info.json'
|
||||
prop_path: 'text2'
|
||||
|
||||
- name: Generate key
|
||||
shell: powershell
|
||||
run: |
|
||||
bin/x64-Release/winrar-keygen.exe ${{steps.text1.outputs.prop}} ${{steps.text2.outputs.prop}} > rarreg.key
|
||||
- name: Upload key
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: rarreg_file
|
||||
path: rarreg.key
|
||||
retention-days: 90
|
||||
BIN
.vs/winrar-keygen/v17/ipch/AutoPCH/668bd2139634a6e1/_TMAIN.ipch
Normal file
77
README.md
|
|
@ -1,5 +1,5 @@
|
|||
<p align="center">
|
||||
<img width="100px" src="icon.svg" align="center" alt="WinRAR Keygen" />
|
||||
<img width="100px" src="icon.png" align="center" alt="WinRAR Keygen" />
|
||||
<h2 align="center">WinRAR Keygen</h2>
|
||||
<p align="center">Principle of WinRAR key generation</p>
|
||||
</p>
|
||||
|
|
@ -9,6 +9,9 @@
|
|||
<img alt="Issues" src="https://img.shields.io/github/issues/bitcookies/winrar-keygen?color=F48D73" />
|
||||
</a>
|
||||
<img src="https://img.shields.io/badge/Visual%20Studio-2022-5D4298" />
|
||||
<a href="https://github.com/bitcookies/winrar-keygen/actions">
|
||||
<img src="https://img.shields.io/badge/Github-Actions-4184F4" />
|
||||
</a>
|
||||
<a href="https://github.com/bitcookies/winrar-keygen/blob/master/LICENSE">
|
||||
<img alt="License" src="https://img.shields.io/github/license/bitcookies/winrar-keygen.svg" />
|
||||
</a>
|
||||
|
|
@ -33,13 +36,69 @@ This repository will tell you how WinRAR license file `"rarreg.key"` is generate
|
|||
|
||||
See [here](README.HOW_DOES_IT_WORK.md).
|
||||
|
||||
## 3. How to build?
|
||||
## 3. Use Github Actions
|
||||
|
||||
If you don't want to compile it yourself, you can also go to the [release page](https://github.com/bitcookies/winrar-keygen/releases/) to get `winrar-keygen.exe`.
|
||||
Github Action is a CI/CD tool introduced after Microsoft acquired Github, and you can run programs on GitHub Action by following these steps.
|
||||
|
||||
### 3.1 Prerequisites
|
||||
### 3.1 Fork
|
||||
|
||||
1. Please make sure that you have **Visual Studio 2022**. Because this is a VS2022 project. If you are still using Visual Studio 2019, you can find projects for VS2019 in the [vs2019](https://github.com/bitcookies/winrar-keygen/tree/vs2019) branch.
|
||||
**Fork** this repo.
|
||||
|
||||

|
||||
|
||||
If you've forked before and I've committed new code, but you don't know how to merge the new content into your repository, then you can delete the current fork and fork again.
|
||||
|
||||
### 3.2 Modify info.json
|
||||
|
||||
Go to `keygen/info.json` and click on the edit button to edit the file.
|
||||
|
||||

|
||||
|
||||
You can see:
|
||||
|
||||
```json
|
||||
{
|
||||
"text1": "Github",
|
||||
"text2": "Github.com"
|
||||
}
|
||||
```
|
||||
|
||||
You can modify the values corresponding to `text1` and `text2`
|
||||
|
||||
```json
|
||||
{
|
||||
"text1": "yourname",
|
||||
"text2": "yourteam"
|
||||
}
|
||||
```
|
||||
|
||||
It is important to note that `test1` and `test2` are **ANSI-encoded string, without null-terminator.**
|
||||
|
||||
Once you have finished making changes, click the **Commit changes** button and Github Actions will start automatically.
|
||||
|
||||
### 3.3 Download key
|
||||
|
||||
Go to the Actions page to see the status of the program.
|
||||
|
||||

|
||||
|
||||
Green means it ran successfully, yellow means it is running, red means it failed. After running successfully, open the corresponding task and select **rarreg_file** to download.
|
||||
|
||||

|
||||
|
||||
After decompression, you will get `rarreg.key `, just drag and drop it into WinRAR.
|
||||
|
||||
If you get an invalid key, check that the `test1` and `test2 ` parameters are **ANSI encoded without spaces.**
|
||||
|
||||
## 4. Build in Visual Studio
|
||||
|
||||
I recommend using the Github Actions, but you can still do your own compilation.
|
||||
|
||||
If you don't want to compile it yourself, you can also go to the [release](https://github.com/bitcookies/winrar-keygen/releases/) page to get `winrar-keygen.exe`.
|
||||
|
||||
### 4.1 Prerequisites
|
||||
|
||||
1. Please make sure that you have **Visual Studio 2022**. Because this is a VS2022 project. If you are still using Visual Studio 2019, you can find projects for VS2019 in the [vs2019](https://github.com/bitcookies/winrar-keygen/tree/vs2019) branch, but this branch will no longer be maintained.
|
||||
|
||||
2. Please make sure you have installed `vcpkg` and the following libraries:
|
||||
|
||||
|
|
@ -62,7 +121,7 @@ If you don't want to compile it yourself, you can also go to the [release page](
|
|||
```
|
||||
|
||||
|
||||
### 3.2 Build
|
||||
### 4.2 Build
|
||||
|
||||
1. Open this project in __Visual Studio__.
|
||||
|
||||
|
|
@ -72,7 +131,7 @@ If you don't want to compile it yourself, you can also go to the [release page](
|
|||
|
||||
You will see executable files in `bin/` directory.
|
||||
|
||||
## 4. How to Use?
|
||||
### 4.3 How to Use?
|
||||
|
||||
Execute the following code in the terminal and configure two parameters to generate `rarreg.key`.
|
||||
|
||||
|
|
@ -89,7 +148,7 @@ Example:
|
|||
winrar-keygen.exe "Github" "Github.com" > rarreg.key
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
Now you can see the newly generated file.
|
||||
|
||||
|
|
@ -115,7 +174,7 @@ Why is my `rarreg.key` invalid?
|
|||
|
||||
### 5.1 ANSI Encoded
|
||||
|
||||
Username and License type are **ANSI-encoded string, without null-terminator.**
|
||||
`test1` and `test2` are **ANSI-encoded string, without null-terminator.**
|
||||
|
||||
```console
|
||||
winrar-keygen.exe <text1> <text2>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<p align="center">
|
||||
<img width="100px" src="icon.svg" align="center" alt="WinRAR Keygen" />
|
||||
<img width="100px" src="icon.png" align="center" alt="WinRAR Keygen" />
|
||||
<h2 align="center">WinRAR Keygen</h2>
|
||||
<p align="center">Principle of WinRAR key generation</p>
|
||||
</p>
|
||||
|
|
@ -9,6 +9,9 @@
|
|||
<img alt="Issues" src="https://img.shields.io/github/issues/bitcookies/winrar-keygen?color=F48D73" />
|
||||
</a>
|
||||
<img src="https://img.shields.io/badge/Visual%20Studio-2022-5D4298" />
|
||||
<a href="https://github.com/bitcookies/winrar-keygen/actions">
|
||||
<img src="https://img.shields.io/badge/Github-Actions-4184F4" />
|
||||
</a>
|
||||
<a href="https://github.com/bitcookies/winrar-keygen/blob/master/LICENSE">
|
||||
<img alt="License" src="https://img.shields.io/github/license/bitcookies/winrar-keygen.svg" />
|
||||
</a>
|
||||
|
|
@ -33,13 +36,69 @@ WinRAR不是免费软件。如果你想使用它,你应当向 [__RARLAB__](htt
|
|||
|
||||
见 [这里](README.HOW_DOES_IT_WORK.zh-CN.md)。
|
||||
|
||||
## 3. 如何编译?
|
||||
## 3. 通过 Github Actions 使用
|
||||
|
||||
Github Action 是微软收购 Github 之后推出的 CI/CD 工具,通过以下步骤即可在 GitHub Action 上运行程序:
|
||||
|
||||
### 3.1 Fork
|
||||
|
||||
点击该项目右上角的 **Fork** 按钮,fork 一份代码到你的 Github:
|
||||
|
||||

|
||||
|
||||
如果你之前 fork 过,然后我提交了新的代码,但是你不懂得如何合并新内容到你的仓库,那你也可以删掉当前 fork 的仓库,然后重新 fork 一次。
|
||||
|
||||
### 3.2 修改 info.json
|
||||
|
||||
进入 `keygen/info.json`,点击编辑按钮,对该文件进行编辑:
|
||||
|
||||

|
||||
|
||||
打开该文件,你会发现有以下内容:
|
||||
|
||||
```json
|
||||
{
|
||||
"text1": "Github",
|
||||
"text2": "Github.com"
|
||||
}
|
||||
```
|
||||
|
||||
你可以自己修改 `text1` 和 `text2` 相对应的值,例如:
|
||||
|
||||
```json
|
||||
{
|
||||
"text1": "yourname",
|
||||
"text2": "yourteam"
|
||||
}
|
||||
```
|
||||
|
||||
需要注意的是,`test1` 和 `test2 ` 参数均是**不含空格的 ANSI 编码。**
|
||||
|
||||
修改完成之后,点击 **Commit changes** 按钮,Github Actions 会自动开始。
|
||||
|
||||
### 3.3 下载文件
|
||||
|
||||
进入 Actions 页面查看程序运行状况:
|
||||
|
||||

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

|
||||
|
||||
解压缩后会得到 `rarreg.key ` ,拖动导入 WinRAR 即可。
|
||||
|
||||
如果你得到的是无效的 key,请检查 `test1` 和 `test2 ` 参数是否是**不含空格的 ANSI 编码。**
|
||||
|
||||
## 4. 通过 Visual Studio 编译使用
|
||||
|
||||
我建议通过 Github Actions 的方法来使用,但是你仍然可以自己进行编译。
|
||||
|
||||
如果你不想自己编译,也可以到 [Release](https://github.com/bitcookies/winrar-keygen/releases/) 页面获取对应版本的 `winrar-keygen.exe`。
|
||||
|
||||
### 3.1 前提条件
|
||||
### 4.1 前提条件
|
||||
|
||||
1. 请确保你有 **Visual Studio 2022**,因为这是一个 VS2022 项目。如果你仍在使用 Visual Studio 2019,可以在 [vs2019](https://github.com/bitcookies/winrar-keygen/tree/vs2019) 分支中找到适合 VS2019 的项目。
|
||||
1. 请确保你有 **Visual Studio 2022**,因为这是一个 VS2022 项目。如果你仍在使用 Visual Studio 2019,可以在 [vs2019](https://github.com/bitcookies/winrar-keygen/tree/vs2019) 分支中找到适合 VS2019 的项目,但是此分支将不再维护。
|
||||
|
||||
2. 请确保你安装了 `vcpkg` 以及下面几个库:
|
||||
|
||||
|
|
@ -60,7 +119,7 @@ WinRAR不是免费软件。如果你想使用它,你应当向 [__RARLAB__](htt
|
|||
$ vcpkg integrate install
|
||||
```
|
||||
|
||||
### 3.2 编译
|
||||
### 4.2 编译
|
||||
|
||||
1. 在 __Visual Studio__ 中打开这个项目。
|
||||
2. 选择 `Release` 配置。
|
||||
|
|
@ -68,7 +127,7 @@ WinRAR不是免费软件。如果你想使用它,你应当向 [__RARLAB__](htt
|
|||
|
||||
你将在 `bin/` 目录下看到生成的文件。
|
||||
|
||||
## 4. 如何使用?
|
||||
### 4.3 如何使用?
|
||||
|
||||
直接在终端执行以下代码,配置两个参数即可生成 `rarreg.key`。
|
||||
|
||||
|
|
@ -85,7 +144,7 @@ Example:
|
|||
winrar-keygen.exe "Github" "Github.com" > rarreg.key
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
现在你可以看到新生成的文件:
|
||||
|
||||
|
|
@ -111,7 +170,7 @@ de3cdc56b311475b484e80b48157a0c3af60ca4f7f9c75d49bc50d
|
|||
|
||||
### 5.1 ANSI编码
|
||||
|
||||
用户名参数以及生成的许可文本,均是 **不含空格的 ANSI 编码。**
|
||||
`test1` 以及 `test2` 生成的许可文本,均是 **不含空格的 ANSI 编码。**
|
||||
|
||||
```console
|
||||
winrar-keygen.exe <text1> <text2>
|
||||
|
|
|
|||
BIN
assets/actions-step-1.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
assets/actions-step-2.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/actions-step-3.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
assets/actions-step-4.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
assets/keygen-icon.png
Normal file
|
After Width: | Height: | Size: 275 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
BIN
icon.ico
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 76 KiB |
BIN
icon.png
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 51 KiB |
58
icon.svg
|
|
@ -1,58 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#F0EEE2;}
|
||||
.st1{fill:#BBAA9C;}
|
||||
.st2{fill:#D8D5BA;}
|
||||
.st3{fill:#5F4E56;}
|
||||
.st4{fill:#B8A99A;}
|
||||
.st5{font-family:'PingFang-SC-Medium';}
|
||||
.st6{font-size:0.5764px;}
|
||||
.st7{font-size:0.5762px;}
|
||||
.st8{font-size:0.5761px;}
|
||||
.st9{font-size:0.5758px;}
|
||||
.st10{font-size:0.5756px;}
|
||||
.st11{font-size:0.5753px;}
|
||||
.st12{font-size:0.575px;}
|
||||
.st13{font-size:0.5748px;}
|
||||
.st14{font-size:0.5745px;}
|
||||
.st15{font-size:0.5742px;}
|
||||
.st16{font-size:0.5739px;}
|
||||
.st17{font-size:0.5736px;}
|
||||
.st18{font-size:0.5734px;}
|
||||
</style>
|
||||
<path class="st0" d="M10,0.5C7,0.5,4.5,3,4.5,6c0,0.8,0.2,1.6,0.5,2.3L0.5,13v2.5H3v-2h2v-2l1.4-1.4c1,0.9,2.3,1.4,3.6,1.4
|
||||
c3,0,5.5-2.5,5.5-5.5S13,0.5,10,0.5z M11,7C9.9,7,9,6.1,9,5s0.9-2,2-2s2,0.9,2,2S12.1,7,11,7z"/>
|
||||
<path class="st1" d="M12.3,0.8L9.6,3.6c-0.8,0.8-0.8,2,0,2.8s2,0.8,2.8,0l2.8-2.8L12.3,0.8z M11,5.8c-0.4,0-0.8-0.3-0.8-0.8
|
||||
s0.3-0.8,0.8-0.8s0.8,0.3,0.8,0.8S11.4,5.8,11,5.8z"/>
|
||||
<path class="st2" d="M5.2,10.5H4.5c-0.1,0-0.2,0.1-0.2,0.2S4.4,11,4.5,11h0.8c0.1,0,0.2-0.1,0.2-0.2S5.4,10.5,5.2,10.5z M10.2,9.5H9
|
||||
c-0.1,0-0.2,0.1-0.2,0.2S8.9,10,9,10h1.2c0.1,0,0.2-0.1,0.2-0.2S10.4,9.5,10.2,9.5z M8,2.8H7C6.9,2.8,6.8,2.9,6.8,3S6.9,3.2,7,3.2h1
|
||||
c0.1,0,0.2-0.1,0.2-0.3C8.2,2.9,8.1,2.8,8,2.8z M14.5,8.5h-2c-0.1,0-0.3,0.1-0.3,0.2S12.3,9,12.5,9h2c0.1,0,0.3-0.1,0.3-0.2
|
||||
S14.6,8.5,14.5,8.5L14.5,8.5z M8,7.5H7.5c-0.1,0-0.2,0.1-0.2,0.3C7.3,7.9,7.4,8,7.5,8H8c0.1,0,0.2-0.1,0.2-0.3
|
||||
C8.2,7.6,8.1,7.5,8,7.5z M9.2,2.2c0.1,0,0.2-0.1,0.2-0.2s0-0.2-0.2-0.2S9,1.9,9,2C9,2.1,9.1,2.2,9.2,2.2z M6,5.8H4.8
|
||||
C4.6,5.8,4.5,5.9,4.5,6s0.1,0.2,0.2,0.2H6c0.1,0,0.2-0.1,0.2-0.2S6.1,5.8,6,5.8z M12.5,4h0.8c0.1,0,0.2-0.1,0.2-0.2
|
||||
s-0.1-0.2-0.2-0.2h-0.8c-0.1,0-0.2,0.1-0.2,0.2S12.4,4,12.5,4z M2.8,11.8H1.5c-0.1,0-0.2,0.1-0.2,0.2s0.1,0.2,0.2,0.2h1.2
|
||||
C2.9,12.2,3,12.1,3,12S2.9,11.8,2.8,11.8z"/>
|
||||
<path class="st3" d="M11,6c0.6,0,1-0.4,1-1s-0.4-1-1-1s-1,0.4-1,1S10.4,6,11,6z M11,4.5c0.3,0,0.5,0.2,0.5,0.5S11.3,5.5,11,5.5
|
||||
S10.5,5.3,10.5,5S10.7,4.5,11,4.5z M10,0C6.7,0,4,2.7,4,6c0,0.8,0.2,1.6,0.5,2.3l-4.3,4.3C0.1,12.7,0,12.9,0,13v2.5
|
||||
C0,15.8,0.2,16,0.5,16H3c0.3,0,0.5-0.2,0.5-0.5V14H5c0.3,0,0.5-0.2,0.5-0.5v-1.8l0.9-0.9c1,0.8,2.3,1.2,3.6,1.2c3.3,0,6-2.7,6-6
|
||||
S13.3,0,10,0z M14.6,3.9l-2.3,2.3c-0.7,0.7-1.8,0.7-2.5,0s-0.7-1.8,0-2.5l2.3-2.3C13.2,2,14,2.8,14.6,3.9z M10,11
|
||||
c-1.4,0-2.7-0.6-3.6-1.6l-1.8,1.8c-0.1,0.1-0.1,0.2-0.1,0.3V13H3c-0.3,0-0.5,0.2-0.5,0.5V15H1v-1.8l4-4l0,0l0.7-0.7
|
||||
C5.2,7.8,5,6.9,5,6c0-2.8,2.2-5,5-5c0.5,0,1.1,0.1,1.6,0.3L9.4,3.4c-0.9,0.9-0.9,2.3,0,3.2s2.3,0.9,3.2,0l2.2-2.2
|
||||
C14.9,4.9,15,5.5,15,6C15,8.8,12.8,11,10,11z"/>
|
||||
<text transform="matrix(0.9044 0.4096 -0.4085 0.9128 11.9373 1.0787)" class="st4 st5 st6">W</text>
|
||||
<text transform="matrix(0.8786 0.4637 -0.462 0.8869 12.4211 1.3053)" class="st4 st5 st7">i</text>
|
||||
<text transform="matrix(0.859 0.4999 -0.498 0.8672 12.5506 1.3702)" class="st4 st5 st8">n</text>
|
||||
<text transform="matrix(0.8265 0.5534 -0.5509 0.8346 12.8285 1.5306)" class="st4 st5 st9">R</text>
|
||||
<text transform="matrix(0.7876 0.609 -0.606 0.7955 13.1507 1.7474)" class="st4 st5 st10">A</text>
|
||||
<text transform="matrix(0.7447 0.6623 -0.6587 0.7524 13.4493 1.9771)" class="st4 st5 st11">R</text>
|
||||
<text transform="matrix(0.7096 0.7009 -0.697 0.7171 13.735 2.236)" class="st4 st5 st12"> </text>
|
||||
<text transform="matrix(0.6717 0.7385 -0.7342 0.679 13.8738 2.3705)" class="st4 st5 st13">K</text>
|
||||
<text transform="matrix(0.6225 0.7819 -0.777 0.6295 14.1397 2.6619)" class="st4 st5 st14">e</text>
|
||||
<text transform="matrix(0.5784 0.8162 -0.811 0.5851 14.3374 2.913)" class="st4 st5 st15">y</text>
|
||||
<text transform="matrix(0.5304 0.8494 -0.8438 0.5367 14.5032 3.1439)" class="st4 st5 st16">g</text>
|
||||
<text transform="matrix(0.4773 0.8815 -0.8755 0.4833 14.682 3.4338)" class="st4 st5 st17">e</text>
|
||||
<text transform="matrix(0.4235 0.9096 -0.9032 0.4292 14.8346 3.7134)" class="st4 st5 st18">n</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.1 KiB |
4
keygen/info.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"text1": "Github",
|
||||
"text2": "Github.com"
|
||||
}
|
||||
|
|
@ -61,8 +61,8 @@ IDI_ICON1 ICON "icon.ico"
|
|||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,4,0
|
||||
PRODUCTVERSION 1,0,4,0
|
||||
FILEVERSION 2,0,0,0
|
||||
PRODUCTVERSION 2,0,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
|
|
@ -79,12 +79,12 @@ BEGIN
|
|||
BEGIN
|
||||
VALUE "CompanyName", "WinRAR Keygen"
|
||||
VALUE "FileDescription", "WinRAR Key Generation Tool"
|
||||
VALUE "FileVersion", "1.0.4.0"
|
||||
VALUE "FileVersion", "2.0.0.0"
|
||||
VALUE "InternalName", "winrar-keygen.exe"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2021"
|
||||
VALUE "OriginalFilename", "winrar-keygen.exe"
|
||||
VALUE "ProductName", "WinRAR Keygen"
|
||||
VALUE "ProductVersion", "1.0.4.0"
|
||||
VALUE "ProductVersion", "2.0.0.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
|
|
|||