Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it a good idea to use .Net for commercial software? [closed]

Tags:

.net

algorithm

I was playing around with .Net reflector today and realized that Miicrosoft's entire Expression suite is written in .Net. As a result I was pretty much able to see the underlying code for expression. This makes it far easier than binary to break copy protection. I think that that's a big deal. Is it generally recommended to make commercial software in .Net where it is fairly easy to see the source code down to the variable names? I was surprised that Microsoft didn't at least dotfescate it. Thanks

like image 828
jmasterx Avatar asked Dec 17 '22 00:12

jmasterx


2 Answers

I would consider the ability to reverse all the way back to variable names (and perhaps comments) a feature. .NET Reflector and the Java Decompiler are quite nice.

Even if it was written in C or C++, to an RCE it means nothing. People cut their teeth reading assembly and tinkering with OllyDBG, IDA Pro, and the like. Microsoft offers their own tools for reversing native code as well.

Considering how much commercial Java and .NET software is already around (and how easily it is decompiled), I doubt using .NET, over Java, over C++, C or assembly would make much of a difference when comparing how easy it is to get back the original source form.

Having said that, most of the commercial .NET software I have encountered writes the core of their program in (what appears to be) a C++ library and then interfaces with that through a .NET app.

like image 100
Cool Jon Avatar answered Feb 16 '23 00:02

Cool Jon


Any application worth buying--especially a large one like Expression--has no one piece that if disassembled and copied would reduce its competitive advantage.

At the other extreme, it would be pointless to disassemble and copy the entire codebase--since that would be so obvious.

In short, we're not talking flux capacitors here.

like image 45
Ben M Avatar answered Feb 15 '23 23:02

Ben M