1

how can I protect my business logic C# code that I have written in a COM object from being reverse engineered by a high tech geek?

Kris Krause
  • 7,304
  • 2
  • 23
  • 26
LearningCSharp
  • 1,292
  • 2
  • 13
  • 26
  • This is a duplicate of http://stackoverflow.com/questions/506282/protect-net-code-from-reverse-engineering - the fact that your .NET code is being called via COM rather than directly doesn't make any differences to the reverse engineering issue. – itowlson Jan 17 '10 at 00:38
  • Of all the code you could ever write, business logic is the easiest to protect. It stays inside the business. Stop worrying, write great code. You could be a high tech geek some day too. – Hans Passant Jan 17 '10 at 01:03

1 Answers1

0

Did you mean you created a COM callable wrapper around some C# code?

Anyway, to help protect your C# code (ILDASM or Reflector)... trying using an obfuscator.

Dotfuscator Community Edition 3.0 (free)

http://msdn.microsoft.com/en-us/library/ms227240%28VS.80%29.aspx

Kris Krause
  • 7,304
  • 2
  • 23
  • 26
  • I am guessing COM objects cannot be created in MS.Net framwork? I mean the business layer of a 3 tier application. Are they called something else (classic asp called them COM objects). Thx for your help. – LearningCSharp Jan 17 '10 at 00:44
  • Sure you can create COM callable objects in C#... via interop - http://msdn.microsoft.com/en-us/library/kew41ycz.aspx – Kris Krause Jan 17 '10 at 00:50
  • In .NET, the "business layer" would just be objects (or classes). You would write them and package them in a DLL, and call them from your ASP.NET code in a similar way to how your classic ASP code called COM objects. But COM isn't involved: it's just .NET code calling .NET code. You *can* expose .NET classes so that they are usable as COM objects, i.e. by COM clients such as VB6, MFC or ASP; but you wouldn't do so unless you had a need to call them from non-.NET code such as an existing VB6 or MFC program. – itowlson Jan 17 '10 at 00:52
  • @itowlson, so the term "COM" is not used when it is .Net code calling .Net code? I have done wrapper code, and I have done straight COM code, but I am curious what is the technical term for the code in the business layer ? Thanks for everyones help. – LearningCSharp Jan 17 '10 at 00:56
  • Managed .NET code calling managed .NET code is not COM nor is it using COM (as in Microsoft Component Object Model). – Kris Krause Jan 17 '10 at 09:33