# Quick obfuscation

## Use Cases

1. **Initial Product Testing**: Instead of adjusting templates and executing obfuscation commands repeatedly, you can swiftly navigate through different settings.
2. **DevOps Environments**: If your DevOps systems can't interpret environment variables or store files, it might be better to pass the entire obfuscation command to the CLI each time.

## Command Format

The quick obfuscation command builds upon the global templates with the following syntax:

```css
cyphor obfuscator protect --scheme --obfuscate-file --add-obfuscation --dependency
```

**Command Options:**

* **scheme**: Specifies an obfuscation scheme. For more information on obfuscation schemes, refer to [obfuscation-schemes](https://docs.cyphor.net/cli-tool/obfuscator/obfuscation-schemes "mention")
* **obfuscate-file**: Designates the path of the file(s) you wish to obfuscate. You can specify multiple file paths.
* **add-obfuscation**: Incorporates a chosen obfuscation technique. You can include multiple techniques. Every file tagged with "obfuscate-file" will inherit these techniques.
* **dependency**: Indicates a file that acts as a dependency for your program. Typically, dependencies include `.dll` files located in your release directory.

## FAQ

#### **Isn't modifying a scheme as tedious as altering a template? Why is a scheme provided as a parameter?**

The Command Line Interface (CLI) comes equipped with built-in schemes, pre-defined in the environment.

Rather than specifying rules via the `add-obfuscation` parameter, you have the convenience of leveraging existing schemes—either managed by us or customized by you—and subsequently appending new obfuscation techniques as required.

#### **What is the purpose of specifying dependencies?**

Specifying dependencies is crucial as our obfuscator relies on analyzing your file dependencies to accurately implement certain transformations. In the absence of these dependencies, specific obfuscation techniques might not be applied correctly, leading to a failed obfuscation process.

#### **Is it possible to omit specifying dependencies?**

Yes, it's permissible to bypass specifying dependencies, provided that the obfuscation techniques you opt for don't require dependency analysis.
