title: How to protect .Net exe from Decompiling/Cracking
body: <p>I am really sad because a few days ago we launched our software developed in .Net 4.0 (Desktop application). After 3 days, its crack was available on the internet. We tried to protect the software from this but somehow people got away cracking it. </p>
  
  <p>Here is the scenario:
  When the application launches the first time it communicates with the web server and checks the credentials passed by the user. If the credentials are correct, the software saves the values in the Registry, sends the MachineID back to the server and stores it in the database.</p>
  
  <p>Now, the hacker has replaced the Server communication with a "return true;" statement (I checked that with Telrik JustDecompile). and he has uploaded the cracked software on the internet.</p>
  
  <p>Now, following are my questions: <br />
  1- How to make sure that .Net application will not get cracked ? <br/>
  2- The hacker now knows my code since he has done the modification. What steps should i take ?<br/>
  3- I read on the internet about - obfuscators . But the hacker knows my code what should i do ?<br/>
  4- Any other pro tips that i can use to avoid getting the software cracked ?<br/>
  5- I am not sure but can these reflector softwares also decompile the App.Config with sensitive data ?<br/></p>