PC Review


Reply
Thread Tools Rate Thread

avoid easy decompiling

 
 
--== Alain ==--
Guest
Posts: n/a
 
      26th Dec 2006
Hi,

Using the .NET reflector tool, i know that a DLL or EXE developed in
..NET platform can be decompiled and therefore code is available for all.

I would like to know if exist a way how to avoid tools like .NET
reflector to decompile your code or at least to avoid people to see
clearly the code of you DLL or EXE ?

thanks a lot,
Al.
 
Reply With Quote
 
 
 
 
Dave Sexton
Guest
Posts: n/a
 
      26th Dec 2006
Hi Al,

You can obfuscate your code, but I wouldn't recommend it for most real-world
applications or even third-party components since even the best obfuscation
can still be reverse engineered.

C# Programming Tools
§ Obfuscators
http://msdn2.microsoft.com/en-us/vcs...px#obfuscators

Here's some information about why obfuscation may or may not be a good
choice for your program:

Security through obscurity
http://en.wikipedia.org/wiki/Security_through_obscurity

--
Dave Sexton
http://davesexton.com/blog

"--== Alain ==--" <(E-Mail Removed)> wrote in message
news:%(E-Mail Removed)...
> Hi,
>
> Using the .NET reflector tool, i know that a DLL or EXE developed in .NET
> platform can be decompiled and therefore code is available for all.
>
> I would like to know if exist a way how to avoid tools like .NET reflector
> to decompile your code or at least to avoid people to see clearly the code
> of you DLL or EXE ?
>
> thanks a lot,
> Al.



 
Reply With Quote
 
Ben Voigt
Guest
Posts: n/a
 
      26th Dec 2006

"--== Alain ==--" <(E-Mail Removed)> wrote in message
news:%(E-Mail Removed)...
> Hi,
>
> Using the .NET reflector tool, i know that a DLL or EXE developed in .NET
> platform can be decompiled and therefore code is available for all.
>
> I would like to know if exist a way how to avoid tools like .NET reflector
> to decompile your code or at least to avoid people to see clearly the code
> of you DLL or EXE ?


The only real way to protect your code is to use a web service so your
customers never get their hands on it. You can also deploy embedded devices
if network access isn't guaranteed. Any time you allow the user to run your
code on their system, they can inspect it.

>
> thanks a lot,
> Al.



 
Reply With Quote
 
Dave Sexton
Guest
Posts: n/a
 
      26th Dec 2006
Hi Peter,

> There is a second class of obfuscators that are really "recompilers" and
> these actually change your .NET assemblies into true machine code (like
> C++).
> Even that isn't impossible to reverse engineer. Remotesoft offers one, and
> there may be others.
> Peter


I'm curious to know if they actually add any extra protection or if they're
just the same as creating a native image using NGEN after using, for
example, Dotfuscator. Don't they still have to include the metadata for the
CLR, which defeats the purpose of using machine language to add protection?

--
Dave Sexton
http://davesexton.com/blog

"Peter Bromberg [C# MVP]" <(E-Mail Removed)> wrote in
message news:FF18B756-451B-4E11-8786-(E-Mail Removed)...
> As Dave mentioned, obfuscating the code is a step in that direction,
> although
> personal experience tells me that any determined individual can work
> around
> obfuscated code if they know what they are doing.
>
> There is a second class of obfuscators that are really "recompilers" and
> these actually change your .NET assemblies into true machine code (like
> C++).
> Even that isn't impossible to reverse engineer. Remotesoft offers one, and
> there may be others.
> Peter
>
> --
> Site: http://www.eggheadcafe.com
> UnBlog: http://petesbloggerama.blogspot.com
> Short urls & more: http://ittyurl.net
>
>
>
>
> "--== Alain ==--" wrote:
>
>> Hi,
>>
>> Using the .NET reflector tool, i know that a DLL or EXE developed in
>> ..NET platform can be decompiled and therefore code is available for all.
>>
>> I would like to know if exist a way how to avoid tools like .NET
>> reflector to decompile your code or at least to avoid people to see
>> clearly the code of you DLL or EXE ?
>>
>> thanks a lot,
>> Al.
>>



 
Reply With Quote
 
Jon Skeet [C# MVP]
Guest
Posts: n/a
 
      27th Dec 2006
--== Alain ==-- <(E-Mail Removed)> wrote:
> Using the .NET reflector tool, i know that a DLL or EXE developed in
> .NET platform can be decompiled and therefore code is available for all.
>
> I would like to know if exist a way how to avoid tools like .NET
> reflector to decompile your code or at least to avoid people to see
> clearly the code of you DLL or EXE ?


See http://www.pobox.com/~skeet/csharp/obfuscation.html

--
Jon Skeet - <(E-Mail Removed)>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
 
Reply With Quote
 
Dave Sexton
Guest
Posts: n/a
 
      27th Dec 2006
Hi Peter,

Thanks for the link

Very scary stuff. The .NET Framework isn't even required on a machine that
will run the "linked" program since the dependant FCLs are actually
rewritten into the program and obfuscated themselves. No mention of
metadata though so I wonder how reflection would actually work and since the
framework isn't required I wonder if CAS even works at all.

I can see that being useful if I needed to hide, say, the recipe for a nuke
in my program's code. Other than that I think it makes more sense to move
forward in application development and reap the benefits of writing managed
code such as platform independence and JIT compilation.

--
Dave Sexton
http://davesexton.com/blog

"Peter Bromberg [C# MVP]" <(E-Mail Removed)> wrote in
message news:60C6F453-5675-420D-9C19-(E-Mail Removed)...
> Dave,
> http://www.remotesoft.com/linker/
> The "horse's mouth"
> Peter
>
> --
> Site: http://www.eggheadcafe.com
> UnBlog: http://petesbloggerama.blogspot.com
> Short urls & more: http://ittyurl.net
>
>
>
>
> "Dave Sexton" wrote:
>
>> Hi Peter,
>>
>> > There is a second class of obfuscators that are really "recompilers"
>> > and
>> > these actually change your .NET assemblies into true machine code (like
>> > C++).
>> > Even that isn't impossible to reverse engineer. Remotesoft offers one,
>> > and
>> > there may be others.
>> > Peter

>>
>> I'm curious to know if they actually add any extra protection or if
>> they're
>> just the same as creating a native image using NGEN after using, for
>> example, Dotfuscator. Don't they still have to include the metadata for
>> the
>> CLR, which defeats the purpose of using machine language to add
>> protection?
>>
>> --
>> Dave Sexton
>> http://davesexton.com/blog
>>
>> "Peter Bromberg [C# MVP]" <(E-Mail Removed)> wrote in
>> message news:FF18B756-451B-4E11-8786-(E-Mail Removed)...
>> > As Dave mentioned, obfuscating the code is a step in that direction,
>> > although
>> > personal experience tells me that any determined individual can work
>> > around
>> > obfuscated code if they know what they are doing.
>> >
>> > There is a second class of obfuscators that are really "recompilers"
>> > and
>> > these actually change your .NET assemblies into true machine code (like
>> > C++).
>> > Even that isn't impossible to reverse engineer. Remotesoft offers one,
>> > and
>> > there may be others.
>> > Peter
>> >
>> > --
>> > Site: http://www.eggheadcafe.com
>> > UnBlog: http://petesbloggerama.blogspot.com
>> > Short urls & more: http://ittyurl.net
>> >
>> >
>> >
>> >
>> > "--== Alain ==--" wrote:
>> >
>> >> Hi,
>> >>
>> >> Using the .NET reflector tool, i know that a DLL or EXE developed in
>> >> ..NET platform can be decompiled and therefore code is available for
>> >> all.
>> >>
>> >> I would like to know if exist a way how to avoid tools like .NET
>> >> reflector to decompile your code or at least to avoid people to see
>> >> clearly the code of you DLL or EXE ?
>> >>
>> >> thanks a lot,
>> >> Al.
>> >>

>>
>>
>>



 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Decompiling C#?!?!? Where is the privacy? =?Utf-8?B?RGlvZ28gQWx2ZXMgLSBTb2Z0d2FyZSBEZXZlbG9w Microsoft C# .NET 19 23rd Feb 2011 06:00 AM
RE: Cryptography and Decompiling Grant Frisken Microsoft VB .NET 0 12th Jan 2010 11:47 PM
Decompiling? MikeB Microsoft Access 3 12th Nov 2008 08:19 PM
Decompiling =?Utf-8?B?UkVD?= Microsoft Access 5 20th Aug 2005 05:30 AM
Decompiling Shortcut Ron Microsoft Access VBA Modules 1 7th Aug 2004 06:23 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 11:36 PM.