c# - Protect .NET code from reverse engineering? -


obfuscation 1 way, can't protect breaking piracy protection security of application. how make sure application not tampered with, , how make sure registration mechanism can't reverse engineered?

also possible convert c# application native code, , xenocode costly.

c# provides lot of features, , ideal language code, writing whole codebase again in c++ out of question.

secure certificates can removed signed assemblies in .net.

you can't.

there steps can take make little more difficult, executable on local machine crackable. eventually, code has converted native machine code , every application runnable vulnerable.

what want make difficult enough crack make not worth peoples' trouble.

some suggestions have protect application:

  • obfuscate code. dotfuscator has free edition , comes visual studio.
  • use public/private key or asymmetric encryption generate product licenses. ensures you can generate license codes. if application is cracked, can sure won't releasing key generator application, because impossible reverse key generating algorithm.
  • use third-party packer pack .net executable encrypted win32 wrapper application. themida 1 of better ones. stops people reflecting application in .net reflector , makes pain unpack reversing.
  • write own custom packer. if third-party packers expensive, consider writing own. custom packers can effective, because there aren't published methods on how unpack them. tutorial how write own packer gives ton of information on writing own win32 packer.

ultimately though, if people want application cracked will. @ commercial software out there has vast amount of resources protect applications , yet cracked before applications released public.

a skilled reverse engineer can fire ida-pro , slice through application butter no matter do. packed application can unpacked , obfuscation prevents making walk in park. hard work complex license code can undone single byte patch.

you need accept there real chance people going pirate software. there people never going pay application no matter , these people don't need worry about.

there however, many businesses out there never risk lawsuit , happily buy software licenses , many computer users either don't want risk it, find wrong or not tech savvy enough pirate. these true customers, , should focus efforts on providing them user experience , ignore people cracking software.

i've had application pirated before, , took personal affront. here was, small-time developer, pouring heart , soul application , these people had gall pirate me?! taking money directly pocket!

i added in bunch of draconian drm code , attempted sabotage person using illegitimate or cracked copy. should of course have been working on making application better instead of trying stop inevitable. not that, hurting true customers these protections putting in.

after long battle realized fighting tides , time wasted naught. took out phone-home code except barebones license functions , never looked back.


Comments

Popular posts from this blog

OpenCV OpenCL: Convert Mat to Bitmap in JNI Layer for Android -

android - org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope -

python - How to remove the Xframe Options header in django? -