views:

96

answers:

3

Hi Is there any tools that can rename de-obfuscated code to readable code for .NET dlls ?

OBFUSCATION = convert original variable names, namespaces to non-readable variable name, also changing the control flow to make it hard for crackers to guess the original code

DE-OBFUSCATION = reverse process of obfuscation. convert non-readable variable names, namespaces to readable one like A1, A2 (cause converting back to original names is impossible) make it easy to track and understand the original source code.

A: 

do you mean looking at code within complied dlls? if so i use redgate's .net Reflector.

nickel101
Yes, but I want a tool for renaming non-readable variable names or ... to readable one in obfuscated dll.
Ehsan
+2  A: 

You could obfuscate it again, but disable options like overloading. That way members will be named A,B,C,... instead of all being named A (using overloading) or having non-printable names.

Also, an IL-level optimizer can often undo control flow obfuscations and remove dead code designed to crash decompilers.

Once you have compilable code, use Visual Studio's rename refactoring to introduce names. There's no way for tools to automatically guess appropriate names.

Daniel
I'm definitely sure that there are some tools out there for this purpose but i cant find them by googling, you are explaining the obfuscation process but my question clearly mentioned DE-obfuscation (that means convert non readable variable names to readable ones like A1, A2, B3, ...
Ehsan
Obfuscators usually have options how the new names should look like. If you disable overloading and non-printable names, then obfuscating an already-obfuscated assembly will actually make the names more readable.
Daniel
It's a good idea i should check it out
Ehsan
are there any method that make de-obfuscation a nightmare ? I'm working on a project creating an obfuscation tool, as i know most of the tools out there can break, i think there is a need to change the methodology
Ehsan
A: 

No there isn't otherwise why would obfuscation tools exist in your opinion? What you call readable variable names no longer exist in the obfuscated assembly because they have been renamed to non-readable ones and no tool could guess what the original names were.

Darin Dimitrov
I don't want the original name please pay attention to the question I just want to convert back non-readable variable names to readable ones not the original name I is obvious that I can't convert them back to its original name, I want variables like A1, A2, B3 ...
Ehsan
You still didn't provide any reasonable explanation for your motivation for doing this. Obfuscation is a process that is used to protect intellectual property. By obfuscating his assembly the author of the code obviously didn't want other people de-obfuscating it.
Darin Dimitrov
I want to make sure no one can crack my obfuscated source code, do you need my father's ssn too ???!! you don't have to answer if you don't know the solution
Ehsan