/winrar-keygen

Principle of WinRAR key generation.

Primary LanguageC++MIT LicenseMIT

WinRAR Keygen

WinRAR Keygen

Principle of WinRAR key generation

Issues License

简体中文 | English

1. What is WinRAR?

WinRAR is a trialware file archiver utility for Windows, developed by Eugene Roshal of win.rar GmbH.

It can create and view archives in RAR or ZIP file formats and unpack numerous archive file formats.

WinRAR is not a free software. If you want to use it, you should pay to RARLAB and then you will get a license file named rarreg.key.

This repository will tell you how WinRAR license file "rarreg.key" is generated.

2. How is "rarreg.key" generated?

See here.

3. How to use?

There are several ways to use it:

4. Use Github Actions with Secrets

Click to expand

Use Secrets you don't need to commits to the repository, so you can fetch upstream without conflicts. So I recommend using this method.

4.1 Fork

Fork this repo.

Fork

Fork

4.2 Allow Fork repo to run Workflows

Go back to the repo you just forked and click Actions to allow Workflows to run in your forked repo.

Workflow

Workflow

4.3 Creating Secrets

After allowing Workflows, go to Settings > Secrets and variables > Actions > New repository secret.

Secrets

Secrets

Create two Secrets named text1 and text2 and fill in values.

Add Secrets

Add Secrets

Once created, you will see:

Secrets Repo

Secrets Repo

4.4 Run Workflow

Go to Actions and select WinRAR Keygen Secrets to run Workflow manually.

Run

Run

After running successfully, open the corresponding task and select rarreg_file to download.

Download

Download

After extract rarreg_file.zip, you will get rarreg.key, just drag and drop it into WinRAR. You can also compress rarreg.key into rarkey.rar and double-click it to run it, and the license import will take place automatically.

If you get an invalid key, please check the specific solution.

5. Use Github Actions with Push

Click to expand

Using push for key generation is very simple and convenient, but when there are updates to fetch upstream, you need to manually merge conflicts. So I would recommend Use Github Actions with Secrets, but you can still use the push action.

5.1 Fork

Fork this repo.

Fork

Fork

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.

5.2 Allow Fork repo to run Workflows

Go back to the repo you just forked and click Actions to allow Workflows to run in your forked repo.

Workflow

Workflow

5.3 Edit info.json

Open your forked repository, and go to keygen/info.json and click on the edit button to edit the file.

Edit

Edit

You can see:

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

You can modify the values corresponding to text1 and text2:

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

It is important to note that test1 and test2 are ANSI-encoded string, space are now supported.

Once you have finished making changes, click the Commit changes button and Github Actions will start automatically.

5.4 Download Key

Go to Actions and select WinRAR Keygen to see the status of the program.

Workflow

Workflow

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.

Download

Download

After extract rarreg_file.zip, you will get rarreg.key, just drag and drop it into WinRAR. You can also compress rarreg.key into rarkey.rar and double-click it to run it, and the license import will take place automatically.

If you get an invalid key, please check the specific solution.

6. Build in Visual Studio

Click to expand

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 page to get winrar-keygen.exe.

6.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 branch, but this branch will no longer be maintained.

  2. Please make sure you have installed vcpkg and the following libraries:

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

    is installed.

    You can install them by:

    $ vcpkg install mpir:x86-windows-static
    $ vcpkg install mpir:x64-windows-static
  3. Your vcpkg has been integrated into your Visual Studio, which means you have run successfully.

    $ vcpkg integrate install

6.2 Build

  1. Open this project in Visual Studio.

  2. Select Release configuration.

  3. Select Build > Build Solution.

You will see executable files in bin/ directory.

6.3 How to Use?

Execute the following code in the terminal and configure two parameters to generate rarreg.key.

Here is an example use Github and Github.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

Now you can see the newly generated file:

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

Save the generated information in ANSI encoding format as rarreg.key.

7. Invalid Key

Why is my rarreg.key invalid?

7.1 ANSI Encoded

test1 and test2 are ANSI-encoded string, space are now supported Issues #5.

winrar-keygen.exe <text1> <text2>

You can refer to: Generation of "rarreg.key"

7.2 TXT Encoding

If you use the following command:

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

In the newer Windows 10, PowerShell will export in UTF16-LE format by default, which will cause the error.

Please use the following command:

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

7.3 Location of Key

If you are unable to drag, you can try to put the rarreg.key in the following directory.

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

You can also compress rarreg.key into rarkey.rar and double-click it to run it, and the license import will take place automatically.

8. Contributing

8.1 Suggestion

If you encounter some problems, you can report on the Issues page. There will be many enthusiastic developers or Github users to help you.

This project welcomes contributions and suggestions. You can make suggestions in Issues, or submit a pull request 😄

8.2 Thanks

Thank you very much to some enthusiastic developers for helping answer some questions in Issues.

🏆 Special Thanks @Sonic-The-Hedgehog-LNK1123

9. License

The code is available under the MIT license