Reverse Engineering RET Homepage RET Members Reverse Engineering Projects Reverse Engineering Papers Reversing Challenges Reverser Tools RET Re-Search Engine Reverse Engineering Forum Reverse Engineering Links

Go Back   Reverse Engineering Team Board > Reverse Engineering Board > .NET Reverse Engineering
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Display Modes
  #1  
Old 04-20-2013, 07:09 PM
Bill_greek_killer Bill_greek_killer is offline
Member
 
Join Date: Jan 2009
Posts: 4
Send a message via MSN to Bill_greek_killer
Default Dotfuscator question

Hello
I have a question.Is possible to recover the original names of Namespace and function of an exe obfuscated with Dotfuscator?
I have already deObfuscate but im not take the names as the original was.

Thank you
Reply With Quote
  #2  
Old 04-23-2013, 11:54 PM
.net .net is offline
Member
 
Join Date: Oct 2011
Posts: 35
Default

can view method body is enough.
restore original namespace & Method Name, i thinks not possible.
Reply With Quote
  #3  
Old 04-25-2013, 06:44 PM
Bill_greek_killer Bill_greek_killer is offline
Member
 
Join Date: Jan 2009
Posts: 4
Send a message via MSN to Bill_greek_killer
Default

But how is possible to get code and put it in new project to execute it?Please help me in that way.I can see the code but saying eval_r.eval_f(); for example and comfused with define variables eval_f . Ithink there is a way to do that.
Thank you.
Reply With Quote
  #4  
Old 04-26-2013, 06:35 AM
Git Git is offline
Super Moderator
 
Join Date: Oct 2007
Location: Torino
Posts: 1,797
Default

What does it matter what a variable/function/type is called, it will still interpret the same (.NET) or compile the same for ordinary exes.

Git
Reply With Quote
  #5  
Old 04-26-2013, 06:50 AM
Bill_greek_killer Bill_greek_killer is offline
Member
 
Join Date: Jan 2009
Posts: 4
Send a message via MSN to Bill_greek_killer
Default

This is an example :
private static void eval_a();
internal static void eval_a(bool bool_0);
public static string eval_a(int int_3);
public static void eval_a(long long_2);
private static void eval_a(object object_0);

when i call eval_a() .net compiler dont know which of them i mean so i must rename every call and possible errors in code appear.

Thank you.
Reply With Quote
  #6  
Old 04-26-2013, 07:35 AM
Git Git is offline
Super Moderator
 
Join Date: Oct 2007
Location: Torino
Posts: 1,797
Default

Then the compiler is stupid or they are not declared inside a class. They each have a different type so are different functions inside the class. If you can post a bnit more of the source then maybe one of the .NET people here can help you, it's not really my subject.

Git
Reply With Quote
  #7  
Old 04-26-2013, 07:41 AM
Bill_greek_killer Bill_greek_killer is offline
Member
 
Join Date: Jan 2009
Posts: 4
Send a message via MSN to Bill_greek_killer
Default

First of all Thank you for your time.
I can upload more of decompiled code to check if you can help:
This is one of all classes :

internal sealed class eval_l
{
// Fields
internal static eval_a eval_a;
private static Timer eval_aa;
internal static bool eval_ab;
internal static bool eval_ac;
private static int eval_ad;
internal static int eval_ae;
internal static bool eval_af;
internal static bool eval_ag;
internal static bool eval_ah;
internal static int eval_ai;
private static int eval_aj;
private static StaticLocalInitFlag eval_ak;
private static long eval_al;
internal static int eval_b;
internal static int eval_c;
internal static int eval_d;
internal static int eval_e;
internal static int eval_f;
internal static int eval_g;
internal static int eval_j;
internal static int eval_k;
internal static byte[] eval_n;
internal static long eval_o;
internal static double[] eval_p;
internal static double eval_q;
private static bool eval_r;
internal static bool[] eval_s;
internal static int[] eval_u;
internal static int[] eval_v;
internal static double[] eval_x;
internal static int[] eval_y;
internal static double eval_z;
internal static int int_0;
internal static int int_1;
internal static int[,] int_2;
internal static long[] long_0;
internal static long[] long_1;
internal static Rectangle[] rectangle_0;

// Methods
static eval_l();
private static void eval_a();
internal static void eval_a(bool bool_0);
public static string eval_a(int int_3);
public static void eval_a(long long_2);
private static void eval_a(object object_0);
[MethodImpl(MethodImplOptions.Synchronized)]
private static void eval_a(Timer timer_0);
private static void eval_a(object sender, EventArgs e);
internal static void eval_aa();
internal static void eval_ab();
internal static void eval_ac();
internal static void eval_ad();
private static Timer eval_ae();
private static void eval_b();
internal static void eval_b(long long_2);
private static void eval_c();
internal static void eval_c(long long_2);
private static void eval_d();
private static void eval_e();
private static void eval_f();
internal static bool eval_g();
internal static void eval_h();
internal static void eval_i();
public static void eval_j();
public static void eval_k();
public static void eval_l();
public static void eval_m();
public static void eval_n();
public static void eval_o();
public static void eval_p();
public static void eval_q();
public static void eval_r();
public static void eval_s();
public static void eval_t();
public static void eval_u();
private static void eval_v();
internal static void eval_w();
internal static void eval_x();
internal static void eval_y();
private static void eval_z();

// Nested Types
internal enum eval_a
{
eval_a,
eval_b,
eval_c,
eval_d,
eval_e,
eval_f,
eval_g,
eval_h
}
}

I get that error :

Error 1 Ambiguity between 'eval_k.eval_d' and 'eval_k.eval_d()' E:\bu\Source\eval_k.cs 33 35

How can i tell compiler the diffrence betwen that?
If i fix that all the other works perfect.

Thank you.

Last edited by Git : 04-26-2013 at 05:27 PM.
Reply With Quote
  #8  
Old 04-26-2013, 04:27 PM
NOP NOP is offline
Junior Member
 
Join Date: Mar 2013
Posts: 2
Default

You cannot recover the original names but that still looks obfuscated to me

But you don't need to export the entire project and edit and re-compile, you can edit ilcode directly using reflectors reflixil plugin then save patched file via reflexil
Reply With Quote
  #9  
Old 07-27-2013, 03:32 PM
rami_rez rami_rez is offline
Member
 
Join Date: Nov 2009
Posts: 13
Default

Quote:
Originally Posted by NOP View Post
You cannot recover the original names but that still looks obfuscated to me

But you don't need to export the entire project and edit and re-compile, you can edit ilcode directly using reflectors reflixil plugin then save patched file via reflexil
thats correct, but usually you need to restore the application logic in order to understand which true return to false

deobfuscating greatly helps in a case of such a stupid obfuscated names (IMHO)
Reply With Quote
Reply


Thread Tools
Display Modes

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

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump





Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.