0

我在一家建筑项目公司工作,开发 AutoCAD 工具,主要使用集成的 vba 编辑器。

该公司希望将开发的 dvb 文件保留在公司内部,或者以某种方式使它们在被带到外面时变得无用。

所以,我知道用密码保护创建的 dvb 文件,代码可以被隐藏(虽然在谷歌搜索 5 分钟后我发现解锁它们很简单。)我正在尝试找到一种方法,开发的 vba 文件将可以在办公室使用和执行,但是它们的代码将被隐藏,员工将无法在办公室外使用它们。

我不确定这是否可能。我知道如果我开发外部 exe 文件,我可以使用几种方法(运行前连接到本地服务器,使用 U 盘等),但是我想知道我是否可以保证我在 AUTOCAD VBA 编辑器中编写的代码不会可见,不能在办公室外使用。

感谢您提前提供的所有帮助。

PS:在 Windows 7 SP1 上使用 Autocad 2010

4

1 回答 1

0

简而言之,您无法完全保护您的 DVB 源文件。正如您所发现的,对于精通技术的用户来说,破解密码保护的信息很容易获得并且微不足道。

如果您的目标是防止用户只携带 DVB 文件并在其他地方使用它(无需修改源代码),您可以在代码中嵌入一些会导致失败的检查。例如,按名称 ping 您的域控制器,如果没有返回响应,则停止并显示错误。但是,如果有人编辑了代码,则可以将其删除(参见上面的第一点)。

如果您确实需要对源进行保护,您不想走 DVB(即 VBA 代码)路线。相反,您将希望使用 .NET 开发一个真正的插件(这需要重新编写)。当然,这也不是万无一失的,因为 .NET 代码可以很容易地反编译为源代码;但是,如果您通过一个好的混淆器运行它,即使是最专注于修改的人也会变得困难(但仍然可能)。

简而言之,没有办法完全保护您的源代码,只会让某人更难进行逆向工程。

于 2015-01-07T14:58:47.343 回答