   -+-  Dot Net String Decoder v1.10  *  Copyright (C) DARKER [SCF]  2o13 -+-
   ==========================================================================

Description
===========
Program can list or decrypt strings used in .NET executable based on user decryption
plugins and rebuild new assembly with decoded strings. Method names, control flow 
etc. are unchanged in assembly! It's just string handling tool.

Features
========
- List all strings that are used in .NET executable
- Generic search for decoding function like: DecodeFunction(Byval Coded_String as String) As String
- Decrypt strings based on your own plugin
- Very simple plugin interface (C#, VB.NET)
- Preview of string decryption (checking results)
- Rebuild application with decoded strings (removing decoding function)
- Explorer with all methods for fast navigation
- Export method tree to text file
- Fast string extraction 
- Very good and easy searching
- Export strings to text file for further processing
- DisAssemble selected method
- Instruction coloring for fast navigation (Strings, Numbers, Calls, Jumps)
- See real file offset and opcode bytes
- Jump from opcode to file with hexeditor (patching)

Simple scenario:
================
- Fast patching:
  Just search for bad boy message, select branch and press Open in Hexeditor.
  You land direct on place where you can start edit bytes. Job Done!

- Decoding strings:
  1) You can try use 'Analyze functions' to find decoding stuff.
  2) Take obfuscated .NET executable, explore it in reflector, look for some 
     encrypted string and jump to decrypting function. Now just copy code Ctrl+C
     and paste it into plugin source, correct return values, compile and that's 
     all.
  3) Put into Plugs directory and try "Decoding Preview"
  4) Now you have simple string decrypter :)

Check this tutorial: http://www.youtube.com/watch?v=FgQP7rmkSU0

How to use it
=============
- Show Strings: just see all strings used in assembly (assembly stay untouched)
- Analyze functions: Generic search for decoding function (assembly stay untouched)
- Only decoding preview - try decode strings based on your plugin and show result
                          (assembly stay untouched)
- Decode - decode strings based on your plugin and save result to new assembly
    Remove decoding function - DNSD try remove decoding function default, 
      otherwise normal text will be put into encrypted function and application
      probably crash.
      If for some reason removing fail you can disable this option, target will
      probably not work but you can still analyze it in Reflector but with decoded
      strings ;-)

- DNSD is generic tool, so it works with basic decoding functions.

- If you want use external hexeditor, then in Settings set path plus %1 e.g.
  "C:\hiew.exe %1". If your editor also support direct jump to offset, add %2 e.g.
  "C:\hiew.exe %1 /Oh=%2".
  I personally prefer and use Hiew (http://www.hiew.ru/)
  (check if your HIEW version support jump to offset from command line /O param)

Plugin Development:
===================
- check for Plugs\Plugin_Template_VB.zip (VS2010 VB.NET source)
- In "My Project", "Application tab", "Assembly name" choose unique name,
  otherwise if two plugins with the same name -> we can have loading problem!
- Don't forget change 'Assembly information' - just for file system properties
  information

API Functions:
  DecodeString: it has simple interface, string IN and OUT and result value 
    (False if some exception)
  GetInfo: just place some info about plugin here, if you know exact version
    of obfuscator write it also here. It helps people better identify to use 
    right plugin
  GetVersion: Used for future version of DNSD. Keep this value unchanged.

System requirements
===================
  For run you need .NET Framework 3.5
  Download: http://www.microsoft.com/en-us/download/details.aspx?id=21
  You get this error (after you click some action) if you miss framework:
    Could not load file or assembly 'System.Core, Version=3.5.0.0


Contact
=======
If you have some comments, ideas you can mail to me: darker[at]inmail.sk
or visit http://progress-tools.x10.mx


Greetings:
==========
  Everyone who keep the scene alive and all who know me...
  Jb Evain (Mono)
  Eugegne Suslikov (Hiew)
  All slovak and czech crackers


History
=======
1.00 - [29.09.2012]
  Initial version.

1.10 - [17.04.2013]
+ Added command line and Drag & Drop Support
+ Remember last window position
+ Small fixes
+ Better columns resizing
+ New Explorer for code navigation
+ New Disassembler
+ Exports to text files
+ a lot of new functionality
