> For the complete documentation index, see [llms.txt](https://docs.cyphor.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cyphor.net/.net-code-obfuscation/code-obfuscation/call-hiding.md).

# Call Hiding

### :fast\_forward:Performance: High         :closed\_lock\_with\_key:Potency: High            :brain:Resilience: High

## Understanding the protection

Call encryption is a technique used to encrypt the calls to methods and functions in a program, making it more difficult to understand and reverse engineer.

This is achieved by transforming the original code in such a way that the calls to methods and functions are replaced with encrypted versions that are decrypted at runtime.

#### Before Obfuscation:

{% tabs %}
{% tab title="C#" %}

```csharp
        public static void Main(string[] args) {
          int i, sum = 0, n;
          Console.Write("Enter the Nth Number : ");
          n = int.Parse(Console.ReadLine());
          for (i = 0; i <= n; i++) {
            sum = sum + i;
          }
          Console.WriteLine("\nSum of N Numbers : " + sum);
          Console.ReadLine();
        }
```

{% endtab %}
{% endtabs %}

#### After Obfuscation:

```csharp
        public static void Main(string[] args) {
            int i, sum = 0, n;
            for (i = 0; i <= n; i++) {
            sum = sum + i;
          }
        }
```

##
