A Virtualization Obfuscation Tool for C# programs
==== USAGE ====
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
==== OBFUSCATION CONFIGURATIONS ====
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:
==== LANGUAGE FEATURES NOT SUPPORTED ====
- 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