.NET Decompiler ?? !!
-
Hi, I have come across a big problem.I have developed my application in C# just a few days before and today when I when searching the internet I found some software like ".NET Decompiler" . I wondered that how is it possible ? :doh: Then when I downloaded it any opened my executable it it, With my wonder the whole exe was converted to a full formated source code !! :wtf: I was just too much shocked seeing all this ! :omg: What's it ? Any problem in .NET Complier method or what ? How can an exe be converted to source code ? :confused: Anyone PLEASE HELP... :^) Thanks, Dan.
-
Hi, I have come across a big problem.I have developed my application in C# just a few days before and today when I when searching the internet I found some software like ".NET Decompiler" . I wondered that how is it possible ? :doh: Then when I downloaded it any opened my executable it it, With my wonder the whole exe was converted to a full formated source code !! :wtf: I was just too much shocked seeing all this ! :omg: What's it ? Any problem in .NET Complier method or what ? How can an exe be converted to source code ? :confused: Anyone PLEASE HELP... :^) Thanks, Dan.
That's how it is in the .Net world. It gives advantages like the cool features available in reflection but unfortunately it exposes the inner workings of your code to the outside world. You could try using an obfuscater to make your source less readable. Russ
-
Hi, I have come across a big problem.I have developed my application in C# just a few days before and today when I when searching the internet I found some software like ".NET Decompiler" . I wondered that how is it possible ? :doh: Then when I downloaded it any opened my executable it it, With my wonder the whole exe was converted to a full formated source code !! :wtf: I was just too much shocked seeing all this ! :omg: What's it ? Any problem in .NET Complier method or what ? How can an exe be converted to source code ? :confused: Anyone PLEASE HELP... :^) Thanks, Dan.
The application is using reflection, just like ILDasm does. This is not a new, or unknown issue. You can use an obfuscator http://www.preemptive.com/products/dotfuscator/index.html[^] to attempt to hide your source, but nothing is perfect.
only two letters away from being an asset
-
Hi, I have come across a big problem.I have developed my application in C# just a few days before and today when I when searching the internet I found some software like ".NET Decompiler" . I wondered that how is it possible ? :doh: Then when I downloaded it any opened my executable it it, With my wonder the whole exe was converted to a full formated source code !! :wtf: I was just too much shocked seeing all this ! :omg: What's it ? Any problem in .NET Complier method or what ? How can an exe be converted to source code ? :confused: Anyone PLEASE HELP... :^) Thanks, Dan.
Dan`M wrote:
I have come across a big problem.I have developed my application in C# just a few days before and today when I when searching the internet I found some software like ".NET Decompiler" . I wondered that how is it possible ? Then when I downloaded it any opened my executable it it, With my wonder the whole exe was converted to a full formated source code !! I was just too much shocked seeing all this ! What's it ? Any problem in .NET Complier method or what ? How can an exe be converted to source code ? Anyone PLEASE HELP...
The .net compiler includes a lot of information in the executeables for debugging purposes. If you don't want your code to be easily read, you need a .net obfuscator. I think one is included with VS2005. Nathan
-
Dan`M wrote:
I have come across a big problem.I have developed my application in C# just a few days before and today when I when searching the internet I found some software like ".NET Decompiler" . I wondered that how is it possible ? Then when I downloaded it any opened my executable it it, With my wonder the whole exe was converted to a full formated source code !! I was just too much shocked seeing all this ! What's it ? Any problem in .NET Complier method or what ? How can an exe be converted to source code ? Anyone PLEASE HELP...
The .net compiler includes a lot of information in the executeables for debugging purposes. If you don't want your code to be easily read, you need a .net obfuscator. I think one is included with VS2005. Nathan
Hi, Thanks all of you for reply. :rolleyes: So now I get the real idea about an obfuscator. But still I can't understand that if any programme can easily decompile the code of .NET programme then what's the meaning of a compiler ? I have an another question that when I tried to open an .exe made in Visual Studio 6 or any other programme which is not made in .NET than the program can't decompile it ! :wtf: So is that mean that VS6 or the other programming language is more secure than vs2005 ?? :confused:
Nathan Holt at EMOM wrote:
I think one is included with VS2005.
I can't get it . Where is it ? :doh: Please give some more details ...
Russell Jones wrote:
That's how it is in the .Net world. It gives advantages like the cool features available in reflection but unfortunately it exposes the inner workings of your code to the outside world. You could try using an obfuscater to make your source less readable.
So how the time has come when we have to buy third party softwares just to PROTECT OUR COMPILED CODE ?? !! :(( Isn't there any other way ?? Thanks, Dan
-
Hi, Thanks all of you for reply. :rolleyes: So now I get the real idea about an obfuscator. But still I can't understand that if any programme can easily decompile the code of .NET programme then what's the meaning of a compiler ? I have an another question that when I tried to open an .exe made in Visual Studio 6 or any other programme which is not made in .NET than the program can't decompile it ! :wtf: So is that mean that VS6 or the other programming language is more secure than vs2005 ?? :confused:
Nathan Holt at EMOM wrote:
I think one is included with VS2005.
I can't get it . Where is it ? :doh: Please give some more details ...
Russell Jones wrote:
That's how it is in the .Net world. It gives advantages like the cool features available in reflection but unfortunately it exposes the inner workings of your code to the outside world. You could try using an obfuscater to make your source less readable.
So how the time has come when we have to buy third party softwares just to PROTECT OUR COMPILED CODE ?? !! :(( Isn't there any other way ?? Thanks, Dan
Neither .NET or legacy VB are safe against decompiling - it's just more obvious in the case of .NET. A compiler converts your program from human readable source code to something the computer can easily execute. This is done to help the computer execute your program more efficient - it is not something you do to hide your source code, so you should not be surprised the code is still accesible after compilation. .NET (and Java for that matter) compiles to a "higher level" than the old VB and C++ compilers and it carries more metadata on the program (method names etc) that makes decompiling them easier than for example C++ and VB programs. Decompiling VB and C++ is still possible however (but obviously not with a program designed to decompile .NET code), so you should NEVER rely on your code not being decompiled as "security". With regards to security in general, maybe you should for a split second consider that it's not all about the programmer. It's obviously more secure for the user to run a program that has proper metadata to allow the runtime to verify what is going on - Running a program that deliberately try to hide what it is doing can be called a lot of things, secure isn't one of them. And experienced programmers know there is nothing exceptional clever in their code anyway, so why try to hide it? :)
-
Neither .NET or legacy VB are safe against decompiling - it's just more obvious in the case of .NET. A compiler converts your program from human readable source code to something the computer can easily execute. This is done to help the computer execute your program more efficient - it is not something you do to hide your source code, so you should not be surprised the code is still accesible after compilation. .NET (and Java for that matter) compiles to a "higher level" than the old VB and C++ compilers and it carries more metadata on the program (method names etc) that makes decompiling them easier than for example C++ and VB programs. Decompiling VB and C++ is still possible however (but obviously not with a program designed to decompile .NET code), so you should NEVER rely on your code not being decompiled as "security". With regards to security in general, maybe you should for a split second consider that it's not all about the programmer. It's obviously more secure for the user to run a program that has proper metadata to allow the runtime to verify what is going on - Running a program that deliberately try to hide what it is doing can be called a lot of things, secure isn't one of them. And experienced programmers know there is nothing exceptional clever in their code anyway, so why try to hide it? :)
lmoelleb wrote:
And experienced programmers know there is nothing exceptional clever in their code anyway, so why try to hide it?
Ya.. that's true sprit of programming. :laugh: No matter if the app has secure coding . Anyway , best wishes for programming from me. :) Thanks, Dan
-
lmoelleb wrote:
And experienced programmers know there is nothing exceptional clever in their code anyway, so why try to hide it?
Ya.. that's true sprit of programming. :laugh: No matter if the app has secure coding . Anyway , best wishes for programming from me. :) Thanks, Dan
If you think secure coding has anything to do with people being able to see your code or not, then you known abselutely nothing about secure coding. If you do not have basic knowledge on for example the functions of a compiler, you are still very far away from understanding the concepts of security. This is fair enough - we are all learning, but I recommed you try to avoid smart comments like this one until you optain some more knowledge.
-
Hi, Thanks all of you for reply. :rolleyes: So now I get the real idea about an obfuscator. But still I can't understand that if any programme can easily decompile the code of .NET programme then what's the meaning of a compiler ? I have an another question that when I tried to open an .exe made in Visual Studio 6 or any other programme which is not made in .NET than the program can't decompile it ! :wtf: So is that mean that VS6 or the other programming language is more secure than vs2005 ?? :confused:
Nathan Holt at EMOM wrote:
I think one is included with VS2005.
I can't get it . Where is it ? :doh: Please give some more details ...
Russell Jones wrote:
That's how it is in the .Net world. It gives advantages like the cool features available in reflection but unfortunately it exposes the inner workings of your code to the outside world. You could try using an obfuscater to make your source less readable.
So how the time has come when we have to buy third party softwares just to PROTECT OUR COMPILED CODE ?? !! :(( Isn't there any other way ?? Thanks, Dan
Dan`M wrote:
Nathan Holt at EMOM wrote:
I think one is included with VS2005.
I can't get it . Where is it ? Please give some more details ...
I looked in Visual Studio 2003 Profesional and found under the tools menu "Dotfuscator Community Edition" I believe that is the included obfuscator, and it will probably be in the same place in VS 2005 Nathan
-
Dan`M wrote:
Nathan Holt at EMOM wrote:
I think one is included with VS2005.
I can't get it . Where is it ? Please give some more details ...
I looked in Visual Studio 2003 Profesional and found under the tools menu "Dotfuscator Community Edition" I believe that is the included obfuscator, and it will probably be in the same place in VS 2005 Nathan
Hi Nathan, I still did n't find that ! I am using Visual Studio 2005 Express edition. But I found this :http://msdn2.microsoft.com/en-us/library/ms227240(VS.80).aspx[^] form that I come to know that I have to download the preemptive Dotfuscator first! So I need some more help. :-> Dan