我在一家开发autocad工具的建筑项目公司工作,主要是使用集成的vba编辑器。
该公司希望将开发的dvb文件保留在公司内部,或者以某种方式使它们在外面运送时无用。
所以,我知道密码保护创建的dvb文件,代码可以隐藏(虽然谷歌搜索5分钟后我发现解锁它们是微不足道的。)我试图找到一种开发方式vba文件将在办公室使用和执行,但是他们的代码将被隐藏,员工将无法在办公室外使用它们。
我不确定这是否可行。我知道如果我开发外部exe文件,我可以使用几种方法(在运行之前连接到本地服务器,使用USB棒键等),但我想知道我是否可以保证我在AUTOCAD VBA编辑器中编写的代码不会被看见,不能在办公室以外使用。
提前感谢您提供所有帮助。
P.S:在Windows 7 SP1上使用Autocad 2010
答案 0 :(得分:0)
简而言之,您无法完全保护DVB源文件。正如您所发现的那样,有关打破密码保护的信息随时可用,对于精通技术的用户来说也是微不足道的。
如果您的目标是阻止用户随身携带DVB文件并在其他地方使用(无需修改源代码),您可以在代码中嵌入一些检查,这将导致失败。例如,按名称ping您的域控制器,如果没有响应,则停止并显示错误。但是,如果有人编辑了代码,则可以将其删除(参见上面的第一点)。
如果您确实需要对来源进行保护,则不想使用DVB(即VBA代码)路由。相反,你会想要用.NET开发一个真正的插件(这需要重写)。当然,这不是万无一失的,因为.NET代码可以很容易地反编译为源代码; 然而如果你通过一个好的混淆器运行它会使得即使是最专注的修改也很困难(但仍然可能)。
简而言之,没有办法完全保护您的来源,只会让某人更难以进行逆向工程。