DVDFabExtendedLicense/README.md
2024-10-06 12:37:33 +02:00

149 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DVDFab: Extended License
The **DVDFab Extended License** is designed to manage licenses for DVDFab software effectively. It offers advanced features that enable unrestricted access to all DVDFab products while ensuring user privacy and security.
## Features
- 🔒 **Analytics Deactivation**: Completely disable data collection and analytics in DVDFab to protect user privacy.
- 🔓 **Unlock All Products & Features**: Gain unrestricted access to every product and feature available within the DVDFab suite.
- 💻 **Cross-Platform Support**: Compatible with multiple operating systems, including Windows, and macOS.
- 🛠️ **Custom Ticket Generation**: Generate fully customized tickets with various licensing options, including "Lifetime," "Subscriber," "Free," or "No Login."
- 🌐 **Mocking Server Support**: Integrate with HTTP interception tools to modify requests and bypass server-side verification for enhanced functionality.
## Prerequisites
To use this tool, you will need **HTTP Toolkit (Pro)** for intercepting and modifying network traffic. You can download it from the [HTTP Toolkit Website](https://httptoolkit.com/).
## Installation
### Step 1: Clone the Repository
Open your terminal and run the following commands:
```bash
git clone https://cdm-project.com/hyugogirubato/DVDFabExtendedLicense
```
### Step 2: Install Python Dependencies
Install the required packages by running:
```bash
pip install -r requirements.txt
```
## Usage
### 1. Import Certificates
Import the `.crt` certificates located in the `docs/` folder into the **HTTP Toolkit** settings to enable interception of the application's network traffic.
<img src="./docs/images/import_ca.png" width="60%">
### 2. Generate Custom Mock Rules
Create mock rules to be used with **HTTP Toolkit** for intercepting and modifying network traffic.
Run the following command:
```bash
python rules.py
```
For example:
```bash
python rules.py --rules template.json --output my_rules.json
```
* In `<path_to_rules>`, you should provide the path to the default rules creation file, which is `template.json` located in the `src/` folder.
* In `<output_path>`, you should provide the name of the folder where your generated rules will be saved based on the`template.json` file.
* If you copy and paste the example, it should work, and the file to import into **HTTP Toolkit** will be named`HTTPToolkit_DVDFab.htkrules`, which will be located in the folder you named, such as `my_rules.json` in this example.
After generating the rules, import the resulting file into **HTTP Toolkit**.
### 3. Run the Mock Server
> [!WARNING]
> This step is required for applications that process DRM content but optional for others.
Before launching any DVDFab product with the mock rules, ensure the server is running.
To run the server:
```bash
python server.py --export
```
### 4. Bypass License Authentication
1. After generating custom mock rules, import them into **HTTP Toolkit**.
2. Launch the DVDFab software through an intercepted terminal and log in with your credentials. (This can be a free DVDFab account.)
3. After logging in, close the software and enable the **Bypass Auth Ticket** rule to activate the software.
4. Launch it again via the intercepted terminal, and the software will already be activated.
<img src="./docs/images/mock_rules.png" width="60%">
### 5. Advanced License Management
> [!NOTE]
> By default, the generated ticket corresponds to a Fab365 ticket. However, this module allows users to generate other ticket formats based on their preferences.
This tool provides multiple ways to manage tickets, including logging in, using an existing token, or extracting information from old tickets.
<img src="./docs/images/ticket_info.png" width="80%">
#### Command Options for Ticket Management
```bash
usage: ticket.py [-h] [--type {SUBSCRIBER,LIFETIME,FREE,NO_LOGIN}]
[--version <version>] [--expire <expire>]
{login,token,ticket,info} ...
```
**Positional Arguments**:
- `login` Log in using account credentials.
- `token` Use an existing user token.
- `ticket` Use a pre-existing ticket string.
- `info` Extract ticket information from a serialized ticket string.
**Optional Arguments**:
- `--type` Ticket type options: `SUBSCRIBER`, `LIFETIME`, `FREE`, `NO_LOGIN`.
- `--version` Specify software version (default: 6200).
- `--expire` Specify the number of days until the ticket expires (default: 365 days).
#### Example Ticket Generation
- **Log in and Generate a Ticket**:
```bash
python ticket.py login myemail@example.com mypassword --client WINDOWS
```
- **Use an Existing Token**:
```bash
python ticket.py token "your-32-char-token"
```
- **Extract Information from a Ticket**:
```bash
python ticket.py info "serialized-ticket-string"
```
## Common Issues
- **Invalid Token Error**: Ensure that your token is exactly 32 characters long. If it's shorter or longer, regenerate it or verify the token source.
- **Expired License**: If you encounter an expired license error, check the expiration date of your ticket using the `info` command and generate a new ticket if necessary.
- **DRM Block**: If the software blocks your IP/MAC address, verify that youre using the correct DRM circumvention server configuration.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
## Disclaimer
This tool is provided for **educational purposes only**. Unauthorized use of software tools to bypass security mechanisms, including licensing, may violate laws and terms of service. Always ensure compliance with software terms of use before attempting any modifications.