Go Back   CodeCall Programming Forum > Software Development > Tutorials
Register Blogs Search Today's Posts Mark Forums Read

Tutorials Programming Tutorials - Post your tutorials here!

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 02-08-2008, 03:01 PM
Jordan's Avatar
Administrator
 
Join Date: Nov 2005
Location: Hendersonville, NC
Posts: 24,556
Jordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to all
Send a message via ICQ to Jordan Send a message via AIM to Jordan Send a message via MSN to Jordan Send a message via Yahoo to Jordan
Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

In this tutorial I'll teach you what Obfuscating is, why you should use it for your .NET products and how to do it with Dotfuscator. Dotfuscator comes with Visual Studio 2008 Professional Edition, if you don't have it you can still buy it as a standalone. Lets start by looking at what obfuscating is.

What is Obfuscating?
Obfuscated code is code intentionally (mostly) created hard to read, however, poor programming skills and/or little knowledge of standards can cause a programmer to create obfuscated code without even knowing it. There are some languages more prone to obfuscated code than others such as C and C++.

Example:
Code:
double h[2]; int main(_, v) char *v; int _; { int a = 0; char f[32]; h[2%2] =
 21914441197069634153456391018824026170709523170177760997320759459436800394073 
07212501870429040900672146338833938303659439237740635160500855813030357492372 
682887858054616489605441589829740433065995076650229152079883597110973562880.0 00000; h[4%3] = 
1867980801.569119; switch (_) { case 0: break; default: main(0,(char *)h); break; } }
Why Obfuscate?
Obfuscating can make code very difficult to understand or even reverse engineer. Programs written in .NET or Java are easy to decompile to full source code as though the cracker is looking at the original code you wrote in your IDE. These reverse engineering programs are freely available on the internet making it easy for anyone to see your entire source code. While still readable, obfuscating makes the code harder to read creating some security for your applications.

Getting Started
In this tutorial we will be obfuscating a the Visual Studio 2008 C# program we created in this tutorial: http://forum.codecall.net/c-tutorial...-tutorial.html, however you can use whatever project you desire. We will use the debug build here.

Step 1
Load Visual Studio 2008 (Start/Microsoft Visual Studio 2008/Microsoft Visual Studio 2008). You don't have to select a project but VS2008 must be loaded before you can launch dotfuscator.

Step 2
Load dofuscator (Start/Microsoft Visual Studio 2008/Visual Studio Tools/Dotfuscator Community Edition). If you do not have VS2008 loaded you will see an error:



Step 3
You may be asked to Register. Click "No, I don't want to Register" or "Yes, Register Now", your option but this tutorial will not cover that. At the next screen, "Select Project Type", click "Create New Project" and press "OK".



Step 4
Click "Browse and add assembly to list" icon (below Input Assemblies: - the open folder icon). Click Browse. Navigate to your project executable file. Using the C# Hello World project you will find it located in "My Documents/Visual Studio 2008/Projects/HelloWorld/HelloWorld/bin/debug/HelloWorld.exe". Click "OK".



Step 5
Goto "File/Build or press Ctrl+B. You will be asked to save your project, press "Yes". Enter "HelloWorldC#" or a suitable name for your project. You should see:



Step 6
Your project has now been obfuscated. You can find the executable in "My Documents/Dotfuscated/HelloWorld.exe". This is the executable you want to package in the installation file, however, you will want to use a build release instead of a debug release. Click on "Output" tab to see what was obfuscated:



Questions/Comments?
Feel free to ask questions or give more input in this thread.

Last edited by Jordan; 02-19-2008 at 09:01 AM..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 11-06-2008, 12:32 AM
Newbie
 
Join Date: Nov 2008
Posts: 2
afkhami is an unknown quantity at this point
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

hi there
thank you for the post on using Dotfuscator with VS.NEt. my question is how to use it while packaging? because if I have a setup project added to my solution, when I press build Setup project, it will first compile the main project which causes owerriting obfuscated file.

Thanks
- Alireza
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 11-06-2008, 08:54 PM
Jordan's Avatar
Administrator
 
Join Date: Nov 2005
Location: Hendersonville, NC
Posts: 24,556
Jordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to all
Send a message via ICQ to Jordan Send a message via AIM to Jordan Send a message via MSN to Jordan Send a message via Yahoo to Jordan
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

I am not sure you can do this. If you find a way let us know.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 11-06-2008, 09:23 PM
Newbie
 
Join Date: Nov 2008
Posts: 2
afkhami is an unknown quantity at this point
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

so how do you package your software protected with Dotfuscator?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 11-06-2008, 09:31 PM
Jordan's Avatar
Administrator
 
Join Date: Nov 2005
Location: Hendersonville, NC
Posts: 24,556
Jordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to allJordan is a name known to all
Send a message via ICQ to Jordan Send a message via AIM to Jordan Send a message via MSN to Jordan Send a message via Yahoo to Jordan
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

I use the Exe from step 6 above.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 11-16-2008, 03:05 PM
Newbie
 
Join Date: Nov 2008
Posts: 1
goodamr is an unknown quantity at this point
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

Thanks alot for this tutorial!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 03-13-2009, 02:31 AM
InteXX
Guest
 
Posts: n/a
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

Quote:
Originally Posted by afkhami View Post
so how do you package your software protected with Dotfuscator?
The Enhanced Community Edition will integrate with Visual Studio, letting you use the Dotfuscated project output for your Setup project's input.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 03-13-2009, 09:33 AM
nicckk's Avatar
Guru
 
Join Date: Oct 2008
Location: San Diego
Posts: 569
nicckk has a spectacular aura aboutnicckk has a spectacular aura about
Send a message via Yahoo to nicckk
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

Good tutorial, +rep...If I could find the button.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 09-22-2009, 02:30 AM
Newbie
 
Join Date: Sep 2009
Posts: 1
ketelhuis is an unknown quantity at this point
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

Hi,

Thx for the clear post.

I wanted to use DotFuscate to obfuscate strings in my VB.Net app. I tried several thing, but DotFuscate didn't obfuscate any.

An example of the exe opened with notepad

"PADPz- P a s s w o r d This is the Password R "

(I used a resource string)

Any ideas how to do this?

thx,

Arnout
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old 09-25-2009, 01:10 AM
Newbie
 
Join Date: Sep 2009
Posts: 3
diedo is an unknown quantity at this point
Re: Tutorial: Visual Studio 2008 Obfuscating with Dotfuscator

is this applies for C# only or .NET Applications only ?

Because packing .NET isn't' hard These Days Specially when exnocode do nice job
packing your apps to protect it for being reversed or whatever

Thanks For your Tutorial
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Visual Studio 2008: C# Hello World Tutorial Jordan CSharp Tutorials 27 07-23-2009 05:32 PM
Visual Studio 2005 and Windows Vista Jordan General Programming 14 01-10-2009 03:39 PM
Visual Studio 2008 Express Beta 2 Download Jordan News 2 08-03-2007 02:05 PM
Visual Studio 2005 Pro Won't Install CheeseBurgerMan Software Development Tools 10 09-22-2006 06:44 PM
Visual Studio 2005 Express Edition Crane Software Development Tools 9 05-25-2006 07:17 PM


All times are GMT -5. The time now is 08:15 AM.


vBulletin v3.8.0 ©2010, Jelsoft Enterprises Ltd.


no new posts

LinkBacks Enabled by vBSEO 3.1.0