1

我将 VB6 用于应用程序。

是否可以强制编译器内联函数?

或者有没有实现相同功能的插件?

我的代码中有一个安全部分,我想让它难以破解,方法是在使用它的每个点重复代码,而不是作为函数列出一次。

希望有人能回答我的问题!

4

3 回答 3

5

IMO,如果这是您作为安全措施所做的事情,那么您遇到的问题比让 VB 内联您的功能更大。而且我认为VB6中没有任何规定可以做到这一点。而且我倾向于认为这种技术会使破解您的代码变得更容易,因为您会看到相同的非常重要的功能一遍又一遍地重复......对不起:-(

于 2008-12-06T15:33:43.690 回答
3

不支持内联函数。但是,有几件事对您有利。

由于历史上市场上缺乏反编译器,VB6 是出了名的难以反编译。结果对于试图恢复丢失的源代码或破解 VB6 的人来说没有多大用处。

但...

如果您使用的是 ActiveX DLL,那么编写兼容 DLL 的人很容易破解您的软件。我的公司发现处理此问题的最佳方法是使关键对象公开不可创建并交换打包的二进制数据。

公共不可创建可防止某人引用 DLL,创建该对象的实例,然后运行测试以查看您在做什么。二进制数据是为了掩盖您正在交换的数据。

在您查看有关 COM 的文献中,有更安全的方法来处理这些问题,但这些都是您可以做的简单的事情,使 ActiveX 应用程序更难破解。

我公司的目标不是让某人无法破解我们的软件,而是让它变得足够困难,以使我们的竞争对手与我们打交道的成本更低,而不是试图破解我们的系统(CAD/CAM 系统)

于 2008-12-08T13:26:22.760 回答
2

正如戴夫所说,VB 编译器不支持该功能。

如果您真的想要这样做,为什么不在您的代码副本上运行搜索和替换并构建该副本。在命令行上执行此操作应该不会太困难。

于 2008-12-06T16:01:56.643 回答