Invisible Basic is an Excel Add-in that compiles the VBA code within an Excel Workbook into obfuscated (very hard to understand) but functionally equivalent code. Simply "Save Invisibly" to share your Excel solutions...without sharing their source code.
Categories
CompilersLicense
BSD LicenseFollow Invisible Basic
You Might Also Like
Boost application security and continuity with SKUDONET ADC, our Open Source Load Balancer, that maximizes IT infrastructure flexibility. Additionally, save up to $470 K per incident with AI and SKUDONET solutions, further enhancing your organization’s risk management and cost-efficiency strategies.
Rate This Project
Login To Rate This Project
User Reviews
-
Thanks. With the ideas from @azambler, I was able to use the mechanism in quite a few projects. Unfortunately though, the mechanism still does not run stable enough to be really used for "production". There is always the possibility of EXCEL stopping its work while converting a workbook. Sometimes a single change of value on a sheet causes the mechanism to break. Sometimes, removing parts of the code and re-inserting it in some way solves the problem, temporarily, until some other effect breaks the mechanism again. Here is what I have observed looking into the XLSM (ZIP container) of a workbook. Always, when the workbook gets "un-obfuscatable", meaning that the obfuscation mechanism causes EXCEL to crash, there is a strange increase of about 7kB size in the VBA code portion of the XLSM found in /xl/vbaProject.bin . As I have not been able to decipher the binary contents, I don't know, what exactly gets wrong, here. Otherwise this would be a further hint on the way to a stable workaround, I think.
-
My VBA project is quite large, 32 modules, and Invisible Basic would consistently crash Excel with the dreaded VBA Run-time error -214724809 (80070057). I eventually got it to work for a while by using vbc.CodeModule.ReplaceLine instead of vbc.CodeModule.InsertLines in the read_component_code sub. Move the DeleteLines operation to after the loop, like this: x = vbc.CodeModule.CountOfLines If x > iLine - 1 Then vbc.CodeModule.DeleteLines startLine:=iLine, Count:=x - iLine + 1 It worked great for a while but on a different build I got the same run-time error. I eventually fixed it by removing any WithEvents from declarations. After obfuscation I put them back manually. Note, I don't use the addin, I run it as regular vba. A great utility, thank you John C. Gunther. PS I also wrap the spreadsheet in XLS Padlock which has many security features for Excel. Andrew MacLean Algorithm Science
-
Simple interface & just works as specified. 1. Following small change for excel version 2010 can be done to save .xlsm file. 'In sub ib_save_invisibly_as() the filefilter is to be modified as below to save file in excel 2010 version as .xlsm FileFilter:="Microsoft Excel Workbook (*.xls),*.xls,Microsoft Excel Macro Workbook (*.xlsm),*.xlsm", _ Title:="Select file into which workbook will be saved invisibly") 2. Issue to resolve: The '.Onaction = "SubName"' is not changed by the code as it is a string. Hence on obfuscation, the Macro "SubName" is not found on clicking the associated button in Add-in menu. If for '.Onaction' also the string is changes to the matching 'SubName', then for Add-ins it will work out-of-the-box. Currently all '.OnAction' parameter has to be changed as per the changed SubName after VBA code obfuscation .
-
I have changed my rating, because of the enhancements implemented by one of the other reviewers. It covers the majority of requirements and has indeed improved the protection level.
-
Maybe not as secure as other obfuscators but works seamlessly and adds that next level of deterrence that may be enough to thwart a copier.