14
|
Jean-François Corbett · 技术社区 · 16 年前 |
![]() |
1
8
最简单和最有效的方法是将您的VBA代码移动到一个VB6编译的COM/Automation加载项。 或者,如果性能不重要,您可能需要考虑.NET(带模糊器)解决方案。 |
![]() |
2
2
另一个技巧是在Access中针对Excel对象编写代码,然后将访问文件放入.mde中。 http://www.blog.methodsinexcel.co.uk/?s=Access+MDB 可怜的,但是很低俗;-) |
![]() |
3
1
无需转换为其他语言-您应该能够通过 www.vbsobfuscator.com [注:链接到archive.org] |
![]() |
4
1
实际上, VBA混淆器 不要保护VBA代码,因为它们使算法的结构保持不变,可以追溯到原始算法,然后可以恢复。 转换你的 VBA到VB6的代码 意味着您的应用程序将被限制为32位Excel(VB6没有64位版本),它可以通过VB解压程序进行解压,例如 https://www.vb-decompiler.org/ 转换你的 vba代码到vb.net 也不是一个完美的解决方案,因为.NET有一个“反射”机制,可以将.NET程序集的编译代码转换为原始源代码。 你可以转换你的 到C/C++的VBA代码 这将是一种非常有效的保护形式,但是由于C/C++和VBA是非常不同的编程语言,VBA代码转换为C/C++是困难的,容易出错,而且通常不值得花费大量的时间和精力。 有一个工具叫做 vba Excel编译器 ( http://vbacompiler.com )它转换了 将VBA代码转换为C语言代码,然后将其编译为DLL . 该工具声称提供的保护级别类似于将VBA代码转换成C/C++的级别,但没有这样一个过程所需的大量手工操作。 |