0

Possible Duplicate:
Best .NET obfuscation tools/strategy
Should you obfuscate a commercial .Net application?

Good day everyone.

I'm ready to release a small c# game, but I've heard that it is extremely easy to disassemble/decompile c# application if it is "deployed" as it is. So my question - what can I do to prevent, or at least make it harder for people to disassemble/decompile my application?

Is there more then one way? If so, what do you think is best?

UPD: As was pointed below using default obfuscator might pose some problem with reflections, because I use lua interpreter for ingame scripts.

Thanks in advance.

Community
  • 1
  • 1
NewProger
  • 2,945
  • 9
  • 40
  • 58
  • 4
    possible duplicate of [Best .NET obfuscation tools/strategy](http://stackoverflow.com/questions/2525/best-net-obfuscation-tools-strategy), http://stackoverflow.com/questions/59893/best-method-to-obfuscate-or-secure-net-assemblies, http://stackoverflow.com/questions/71195/should-you-obfuscate-a-commercial-net-application, http://stackoverflow.com/questions/7491174/can-i-obfuscate-a-compiled-net-executable-assembly, and more. – Cody Gray - on strike Aug 05 '12 at 12:44
  • In addition to what @CodyGray said (beat me with the search) there is also this answer which is relevant to your question - http://stackoverflow.com/questions/7204076/alternative-for-obfuscation-in-the-net-world - which is the approach many games companies appear to be taking these days. – dash Aug 05 '12 at 12:46
  • Hm. Thank you, I'm going to read these now. If my question indeed a duplicate I will delete it. – NewProger Aug 05 '12 at 12:47

1 Answers1

1

Visual studio contains the "Dotfuscator" (Tools->Dotfuscator Software Services in VS 2010) which obfuscates your code for you. It can pose certain problems if you implement reflection in your code, but it does give you options as to what you want it to do to your code, so there is some flexibility there as well.

Levi Botelho
  • 24,626
  • 5
  • 61
  • 96
  • It's good that you mentioned it. Yes, there are reflections. I use lua interpreter to handle ingame scripts. What do I do then? :) – NewProger Aug 05 '12 at 12:51
  • You can specify how it obfuscates. One technique is to change the names of functions to human-unreadable chars. You should be able to skip that step if you so desire. – Levi Botelho Aug 05 '12 at 12:57
  • Thank you, I think I have a pretty good idea now as how to handle all that. – NewProger Aug 05 '12 at 13:06