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?
Asked
Active
Viewed 92 times
1
-
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 Answers
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