DEV Community

Alex
Alex

Posted on

WPF - Make Source Code Harder to Mess With

Context, Please

How can you make your WPF project harder to copy elsewhere, decompile, and modify?

Assumptions

You know what WPF is and have made a WPF project before.

Stealing information from this

Application Protection

Disclaimer

If your program is installed entirely on someone's PC, you can't prevent them from stealing, decompiling, and copying your code. The only thing you can do slow them down by making things more difficult.

Method 1: Encryption Algorithms

Use encryption algorithms (AES, DES, etc.) for sensitive info such as passwords. (Where would you store the key?)

Method 2: Dynamic Code Generation

Not sure what this one is

Code Obfuscation

Basically, making the code harder to read. Not ideal, but could slow a bad actor down.

Dotfuscator

This is the native service that comes with Visual Studio. If you're making commercial software this will cost money.

Additional Methods

Method 1: Strong name

Method 2: Compile relevant method int unmanaged code

According to the post where this case from:

Function: Unmanaged code is generally not decompilable by current decompilation tools.

Condition: You must use VC++.NET unmanaged mode to write dll, and then use VC++ managed mode to build a project to introduce this native code dll. Finally, a Dotnet assembly dll is generated. Then this assembly contains both managed code and unmanaged code.

I think this post is talking about this.

Top comments (0)