# 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](/cli-tool/obfuscator/obfuscation-schemes.md)
* **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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cyphor.net/cli-tool/obfuscator/protecting-files/quick-obfuscation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
