5 Replies - 6303 Views - Last Post: 05 July 2009 - 02:41 AM Rate Topic: -----

#1 Q8y  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 54
  • Joined: 06-April 09

How can I prevent my code from reverse engineering ?

Posted 12 June 2009 - 04:01 AM

Hi

Guys, I build a program using the C# under visual studio 2008 professional... and I want to publish that code to .exe format and I want to prevent my code from reverse engineering... I mean I don't want anyone to see my code...

Of course It's impossible to make the programme unhackable... Only thing that I need, is to prevent the normal person from seing the code... If he is professional, for sure he can see it, but I don't want to make it that easy...

Can u help me Guys ???

Note: My programme that I want to prevent it from the reverse Engineering, I wan to give it to some friends...

Thanks Guys,

Is This A Good Question/Topic? 0
  • +

Replies To: How can I prevent my code from reverse engineering ?

#2 RudiVisser  Icon User is offline

  • .. does not guess solutions
  • member icon

Reputation: 1002
  • View blog
  • Posts: 3,562
  • Joined: 05-June 09

Re: How can I prevent my code from reverse engineering ?

Posted 12 June 2009 - 04:10 AM

View PostQ8y, on 12 Jun, 2009 - 03:01 AM, said:

Hi

Guys, I build a program using the C# under visual studio 2008 professional... and I want to publish that code to .exe format and I want to prevent my code from reverse engineering... I mean I don't want anyone to see my code...

Of course It's impossible to make the programme unhackable... Only thing that I need, is to prevent the normal person from seing the code... If he is professional, for sure he can see it, but I don't want to make it that easy...

Can u help me Guys ???

Note: My programme that I want to prevent it from the reverse Engineering, I wan to give it to some friends...

Thanks Guys,

.NET Applications are generally extremely easy to reverse engineer, generic protectors such as Themida will only protect the bytecode when on disk, the MSIL can still be dumped from memory.

There are partial solutions for what you want in completely different price ranges, sadly the price generally reflects the quality.

Cheapest (I think) is DotFusticator, the Community ("Free") edition comes with Visual Studio, but it hardly does anything..
Mid-Range would be Salamander .NET Protection.
High-End, with a virtual machine for your applications to run in, and quite easily the best, is DNGuard HVM, coming in at over $1500.

If it's for friends I'd suggest a simple obfusticator... What exactly is it that you want to protect?? If it's just strings there are several ways to acheive this without means of an obfusticator.
Was This Post Helpful? 0
  • +
  • -

#3 Q8y  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 54
  • Joined: 06-April 09

Re: How can I prevent my code from reverse engineering ?

Posted 12 June 2009 - 04:50 AM

thanks MageUK for ur reply


I did found DotFusticator in my visual 2008, but I don't know how to use it !! Can u help me with it ??

Quote

What exactly is it that you want to protect?? If it's just strings there are several ways to acheive this without means of an obfusticator.


and, I need only to protect the code so that it wouldn't be easily to any one to see the code after publishing it to exe...

my program, is not the program that is really important...

So, any protection method would be ok....


Also, If u please let me know how to publish it to exe format ....

thanks alot MageUK
Was This Post Helpful? 0
  • +
  • -

#4 Kanvus  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 42
  • View blog
  • Posts: 452
  • Joined: 19-February 09

Re: How can I prevent my code from reverse engineering ?

Posted 12 June 2009 - 05:12 AM

ok dood. this is how.

get its PE Header protected. here's a crypter i came up with in 2 seconds so it might be soso http://www.filetrans...ew.php?id=12859

the real protection is getting all your methods sitting inside pointer functions and variables. make classes of nothing but pointers and even pointer to pointers if you can do that. as a cracker, I can say there's nothing more annoying than an .exe with every variable inside pointers pointing to dynamic pointers somewhere else. it's like putting the ball under the cups. everytime the .exe runs, it's under another cup and there's a lot of them. this is how hackthissite encodes their application challenges. pointer arithmetic and tracing makes people give up in the third hour.
Was This Post Helpful? 0
  • +
  • -

#5 RudiVisser  Icon User is offline

  • .. does not guess solutions
  • member icon

Reputation: 1002
  • View blog
  • Posts: 3,562
  • Joined: 05-June 09

Re: How can I prevent my code from reverse engineering ?

Posted 12 June 2009 - 05:15 AM

View PostQ8y, on 12 Jun, 2009 - 03:50 AM, said:

thanks MageUK for ur reply


I did found DotFusticator in my visual 2008, but I don't know how to use it !! Can u help me with it ??

Quote

What exactly is it that you want to protect?? If it's just strings there are several ways to acheive this without means of an obfusticator.


and, I need only to protect the code so that it wouldn't be easily to any one to see the code after publishing it to exe...

my program, is not the program that is really important...

So, any protection method would be ok....


Also, If u please let me know how to publish it to exe format ....

thanks alot MageUK

I don't know how to use it either, I've only used it once ;)

Once you've compiled your project, it is in .exe format, generally located at: SolutionName/ProjectName/bin/Debug/ProjectName.exe.

View PostKanvus, on 12 Jun, 2009 - 04:12 AM, said:

ok dood. this is how.

get its PE Header protected. here's a crypter i came up with in 2 seconds so it might be soso http://www.filetrans...ew.php?id=12859

the real protection is getting all your methods sitting inside pointer functions and variables. make classes of nothing but pointers and even pointer to pointers if you can do that. as a cracker, I can say there's nothing more annoying than an .exe with every variable inside pointers pointing to dynamic pointers somewhere else. it's like putting the ball under the cups. everytime the .exe runs, it's under another cup and there's a lot of them. this is how hackthissite encodes their application challenges. pointer arithmetic and tracing makes people give up in the third hour.

C#, C#, C#, .NET, .NET, .NET.
Was This Post Helpful? 0
  • +
  • -

#6 Moshe Lerner  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 05-July 09

Re: How can I prevent my code from reverse engineering ?

Posted 05 July 2009 - 02:41 AM

Decompilation Injection - By Maty Siman, CISSP

Checkmarx Research Labs present a novel way to protect .NET assemblies against reverse-engineering and recompilation. By injecting them with commands that are activated only at the recompilation stage, the application retroactively detects the reverse-engineering process and acts upon it.

To read the full solution link to:
http://www.checkmarx...spx?id=18&cat=3
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1