Download
You can download the Obfuscat.xlsb here, fully functional, with a temporal demo license code. It troubles with your firewall, download Obfuscat.zip here to elude restrictions. Obfuscat is basically an Excel executable macro without installation libraries. If still on troubles, contact info@obfuscat.org
What Obfuscat is?
Non-intrusive obfuscation.
It is a program that makes the VBA source code continue to work exactly the same in clear than obfuscated. But read obfuscated code is very difficult: nobody can’t understand now how the code runs. This makes reverse re-engineering very difficult.
Self-contained obfuscation
The source code statements are kept on exactly the same lines and in exactly the same order after obfuscation. In case of debugging or errors, you can go to the source code in clear and see in which statement the problem has been raised.
There is no need for external files or to hide the source code somewhere in exotic places. The obfuscated code is a perfectly normal VBA module, but it is difficult to realise how it works. You can also mix obfuscated and clear modules in the same program. Both interoperate perfectly.
Obfuscat needs some empty lines at the beginning of the source code to create its own VBA Const definitions. If there are no enough empty lines, the source codes lines will be simply displaced to make rom. Some lines will be added after the source code for the VBA Function required on obfuscation. Constants are stored in a set of encrypted strings here.
Performance in clear vs. obfuscated
Performance is primarily affected when replacing each constant for an obfuscation Call that returns its value at runtime. Obfuscation Call is therefore optimised for minimising performance impact; however, CPU performance is still an order of magnitude slower.
Tested against Artificial Intelligence-based static deobfuscation attacks
The obfuscated code has been shown to withstand attacks carried out using artificial intelligence. Static analysis is not feasible, either with AI or with standard tools. The only way forward is through analysis of the code whilst it is running, which is very costly and lies beyond the capabilities of artificial intelligence (at least for the time being). Human expertise is very expensive, which acts as a deterrent to carrying out immediate attacks.
Run Obfuscat generating obfuscated VBA code
Obfuscat is an Excel program type .xlsb running in a Windows PC, with one single click. The source code never goes out your PC. Absolutely confidential and safe. No cloud computing risks.
The input is the Import VBA file.vb in clear with the source code program (file type .vb to obfuscate). If no VBA file path is provided, Obfuscat will prompt for selecting one.
The button ‘OBFUSCAT: Click to number and obfuscate the source code lines from the VBA file (extension .vb)‘ will run the process.
The output are two files, in the same folder and with the same name than the VBA file in clear (xxxxxxxx.vb), but ending as:
- xxxxxxxx.obfuscated.vb with the obfuscated code. Substitute the source code by the obfuscated code and run again. That´s all.
- xxxxxxxx.obfuscated.txt with the translation table from clear names to obfuscated names. All obfuscated variables and constants are detailed with number of obfuscated occurrences, number of times declared, line of declaration, original name and obfuscated mask.
All the messages and errors that have been produced in the obfuscation process are shown in the sheet Dashboard.
For initial use, simply download
Running for the first time: download and run!
If Windows asks for security permission to run Excel macros (as “all the macros may be disabled” or “blocked macros from running”), please follow these instructions:
- Take note of these instructions and close this Excel file.
- Open “Windows File Explorer” and select this Excel file.
- Press down on the right-hand button of the mouse and click on “Properties”. Click on “Unblock” on the bottom at right. Click “Apply”.
- That is all! Open again this Excel file
Parameteres: Use Factory defaults. Check the tabs Obfuscation and
Numbering for additional details
Examples of use
Doenload and expand the folder ObfuscatExample for a complete test bed. ObfuscatExample.xlsb is the program to create three different executable modules of the basic example HelloWorld.xlsb
The HelloWorld.vb file contains the VBA code of HelloWorld.xlsb and the other files have been generated for ObfuscatExample.xlsb
Run HelloWorld.xlsb to familiarise yourself with it. Next, open the VBA editor for HelloWorld.xlsb, copy the obfuscated file
HelloWorld.num.obfuscated.vb and run it again: the behaviour is the same, but this time the code is obfuscated. Explore different combinations by repeating the process and copying the following files into the VBA editor: HelloWorldConstant.num.vb HelloWorldConstant.num.obfuscated.vb HelloWorldVariable.num.vb HelloWorldVariable.num.obfuscated.vb
Enjoy!
License
The Obfuscat programme is licensed to individual users: the name of the Windows account of the user who is logged in. The licensor provides a licence code for a group of users valid until a specified expiry date.
The Obfuscat programme can be downloaded with a demo licence code, valid until a specified expiry date.
