A Virtualization Obfuscation Tool for C# programs
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
CodeVirtualization-Console vot4cs source code. Aug 1, 2016
ConsoleCalculator vot4cs source code. Aug 1, 2016
LICENSE Initial commit Aug 1, 2016
README.md updated readme. new lines for headings Aug 1, 2016
README_TOOL.txt vot4cs source code. Aug 1, 2016
user-manual.pdf vot4cs source code. Aug 1, 2016



A Virtualization Obfuscation Tool for C# programs

==== USAGE ====


  • tool: the .exe binary file
  • config-file: an app.config file (see example bellow)
  • solution-file: a Visual Studio .sln file containing the project to be obfuscated

.\CodeVirtualization-Console\App2.config .\ConsoleCalculator\ConsoleCalculator.sln


example: .\CodeVirtualization-Console\CodeVirtualization-Console\App2.config

key="CODE_IDENTIFIER" value="virtualCode2" key="DATA_IDENTIFIER" value="virtualData2" key="DEFAULT_MOST_FREQUENT_OPERATION" value="true" key="INSTRUCTION_SIZE_POSTFIX" value="30" key="INSTRUCTION_SIZE_PREFIX" value="30" key="INSTRUCTION_SIZE_OFFSET" value="20" key="MAX_INVOCATIONS" value="1" key="MAX_OPERANDS" value="2" key="MAX_JUNK_CODE" value="10" key="MAX_DATA_KEY" value="3999" key="MAX_CODE_KEY" value="99999" key="MIN_SWITCH_KEY" value="1000" key="MAX_SWITCH_KEY" value="9999" key="VPC_IDENTIFIER" value="virtualVpc"

Mark a method for virtualization with the following annotation:


  • try/catch
  • foreach
  • ref,
  • struct

==== OBFUSCATION TOOL FOLDER: CodeVirtualization-Console ====

  • contains the source code of the virtualization obfuscation tool

==== EXAMPLES FOLDER: ConsoleCalculator ====

  • contains sample methods which can be obfuscated with the tool
  • contains source code used for the performance evaluation of the virtualization