hiding source code vb.net

M

marfi95

Hi all,

I am getting close to being able to release my code to a production
environment. However, I understand that its very easy to decompile
vb.net code. Is it possible to identify it in some way as to hide it
from the end users.

I understand that .net comes with a free edition of dotfuscator. Is
that the best way to do this or are there other ways (maybe through
some definition of the interfaces) to hide it.

What does the dotfuscator do anyway ? If I do this, what would it look
like to the end user should they use a tool such as reflector on it ?
I dont mind the interfaces showing up, but for obvious reasons, I dont
want the implementations of my methods showing.

I used reflector on my code and saw how easy it was to get back to the
source, but just for grins I ran it on another dll and it showed the
prototypes (the Public Sub xxxx call, Public Interfaces (implements)),
but no implentations for the methods and I was wondering how that was
done.

TIA,
Mark
 
G

Guest

There are many differnt tools that help obfuscate .net code. The free edition
that ships with VS is a very basic one. There is a equivalent proffesional
version you can buy. There are also quire a few other tools that do similar
things.

All tools, try to change strings and resources so as to make it difficult to
make sense of the code. It is not possible to completely remove the code, it
just makes it more difficult to read your code. Some obfuscators also try and
slightly change program flow to make it more difficult to understand.
 
K

Ken Tucker [MVP]

Hi,

http://msdn.microsoft.com/msdnmag/issues/03/11/NETCodeObfuscation/default.aspx

Ken
---------------------
Hi all,

I am getting close to being able to release my code to a production
environment. However, I understand that its very easy to decompile
vb.net code. Is it possible to identify it in some way as to hide it
from the end users.

I understand that .net comes with a free edition of dotfuscator. Is
that the best way to do this or are there other ways (maybe through
some definition of the interfaces) to hide it.

What does the dotfuscator do anyway ? If I do this, what would it look
like to the end user should they use a tool such as reflector on it ?
I dont mind the interfaces showing up, but for obvious reasons, I dont
want the implementations of my methods showing.

I used reflector on my code and saw how easy it was to get back to the
source, but just for grins I ran it on another dll and it showed the
prototypes (the Public Sub xxxx call, Public Interfaces (implements)),
but no implentations for the methods and I was wondering how that was
done.

TIA,
Mark
 
M

marfi95

so, based on that article - obfuscating doesn't really hide it, but
basically renames it. Can I infer that that if reflector is returning
the following for a method, it is not obfuscated.

<MethodImpl(0, MethodCodeType:=MethodCodeType.Runtime)> _
Public Overrides Sub ProcessCall(<MarshalAs(UnmanagedType.Interface)>
ByVal pVal As MyObject)
End Sub

Seems like some it has to be implemented somewhere.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top