I am a Windows application developer, I'd build a few .NET applications and I can see It is very easy to crack out resources of my Application even some simple applications like Resource Editor are able to crack my application by just deleting the Registration Dialog Box to make my application a freeware without having a proper license key.

Is there any .EXE compressor or any other other tool which I can use to save my application resources as well as my scripts, Can anyone suggest me How can I avoid Recompilation of my script. Any help will be appreciated.

  • You need to explain what a "script" is. Aug 2 '13 at 12:22
  • I mean assemblies
    – khk
    Aug 3 '13 at 6:54

The idea of truly protecting resources is impossible -- every protection you implement can and will be broken. Assume this, and do not put credentials or private data in your resources/code.

The idea behind resource encryption/compression is summarized well in this codeproject article, the same ideas apply to .NET. You use some encryption method, add the encrypted file to your project, load it via your code, and run your decryption/decompression algorithm on it.

Realistically, though, it sounds like you're looking for a .NET obfuscator with compression features. I don't believe stackexchange is the place for product advertisement, so here is a good objective list: http://en.wikipedia.org/wiki/List_of_obfuscators_for_.NET

In regards to making cracking your application more difficult, you should consider using asymmetric encryption as described here and license key files. Think of creative ways to perform license checks throughout your application. Using a keyfile you're preventing the possibility of anyone ever writing a keygen for your application, and adding a large number of checks for the license will make it arduous for anyone attempting to crack the application.

  • If your goal is to prevent someone tampering with your .NET application binaries, then .NET provides a solution: Sign ("strong-name") your assemblies. This process makes use of asymmetric keys and checksums, the loader will notice any changes to the signed assemblies and refuse to load them.

  • If your goal is to prevent people from decompiling (looking at) your code, you need a code obfuscation tool.

  • Signing it will only help against MiTM and even then only if you get the key through a seperate channel.
    – Antimony
    Aug 3 '13 at 17:38

If you are looking for freeware tools to zip your resources and to keep your scripts secure, then I'll recommend you to use Confuser

This is a freeware application, even you can download its source code.

  • A link and a little description of the tool wouldn't hurt.
    – Igor Skochinsky
    Aug 3 '13 at 20:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.