pixel8er 发表于 2022-7-6 06:30:58

你能保护LISP例程吗

大家好
是否可以锁定LISP例程,这样就没有人可以查看或修改内容?这是标准做法吗?
谢谢
保罗

Lee Mac 发表于 2022-7-6 06:36:47

可能会将其转换为VLX应用程序(加密的LISP文件)。Visual LISP IDE提供了此功能,请在命令行中键入VLIDE,然后转到:
 
文件>生成应用程序>新建应用程序向导

irneb 发表于 2022-7-6 06:39:20

或者只使用FAS(例如,使用vlisp编译函数)。VLX很适合包含DCL文件等内容。
 
虽然我在某个地方看到有人可以侵入这样的文件。过去也有像Kelvinator和Protect这样的东西,它们只是对LSP文件进行加密,还有一个DeKelvinator和解密。你能“真正”做的就是阻止普通人打开你的代码。就像门锁一样,它只会让人更难进入——并非不可能。

BlackBox 发表于 2022-7-6 06:41:47

我使用。FAS用于我的大部分代码交付,生成一个单独的。FAS用于用户设置、生产工具和开发人员工具。
 
我发现用我单独的VLIDE项目真的很方便。。。并不是说这很难做到。VLX,但如果Autodesk包含编译到的选项,这将是一个直观的功能。上述项目的VLX。
 
这是一厢情愿的想法!英雄联盟

Lee Mac 发表于 2022-7-6 06:44:46

 
或者至少是一些关于大量vlisp-*函数的文档

BlackBox 发表于 2022-7-6 06:49:35

令人遗憾的是,自Autodesk开始推动以来。NET开发,尽管ActiveX COM API继续得到支持(与VBA不同),但他们没有对Visual LISP进行任何改进。Alan和我讨论过,C3D中现在可用的几个新AEC*对象(如排水管等)甚至不支持vlax转储对象接口。有些仍然提供了一个属性对象,即使你得到了这个属性对象,也什么也做不了。
 
考虑到Visual LISP的忠实追随者,我确实觉得很遗憾。不是每个人都可以访问Visual Studio(完整或快速)。NET开发,不要在意学习曲线(这是我现在正在努力克服的)!?!
 
另一方面,任何有兴趣了解如何*修改*VIsual Studio 2010 Express C#或VB的人。NET项目来启动程序并在调试期间逐步通过断点,请告诉我:Evillin:

irneb 发表于 2022-7-6 06:52:09

别让我开始了!这可能是阿德斯克做过的最糟糕的决定!我甚至已经开始制作网络文件,这样我就可以从Lisp中获取一些东西——这不是最好的方法,但也是唯一的方法。我发现ActiveX的东西和lisp一样是一片空白,尽管至少通过lisp你可以获得原始数据——尽管如何使用它是另一回事!

pixel8er 发表于 2022-7-6 06:53:12

嗨,又来了
在不使用Visual LISP的情况下,有哪些方法可以实现LISP保护?我希望在AutoCAD Mac上实现,它没有Visual LISP功能
谢谢
保罗

MSasu 发表于 2022-7-6 06:58:06

搜索保护。AutoLISP的exe工具–这是一个非常古老的实用程序,早在VisualLISP之前就使用过。但请记住,这并不是真正的编译,只是一种加密,可以用适当的工具轻松解密。无论如何,我会为你提供一个解决最好奇的问题的方法。
 
当做
米尔恰

irneb 发表于 2022-7-6 06:59:59

那个时候很多人做的是使用开尔文纳,然后保护。基本上,Kelvinator会删除所有注释、格式和不必要的空白,然后也会重命名变量(等等),使其具有一些“乱码”名称,这样它们就不太容易被“理解”。然后Protect使用一个非常简单的加密将其进一步混合。正如msasu所解释的那样,你只需要阻止那些有点好奇的人打开你的源代码——解除保护并不那么困难,一个简单的重新格式化就可以撤销Kelvinator所做的大部分事情。。。对于真正想要的人来说,他们将很容易获得您的代码。
 
你知道你是否可以在Mac版本上运行FAS/VLX文件吗?也许你可以在Windows机器上用VLIDE编译它们,然后把它们加载到Mac上?这些文件是您可以为Lisp获得的“最佳”保护,因为它们比那些受保护的文件更容易“编译”。不是不可能,但很难打破。顺便说一句,这是DotNet的问题之一:大多数DotNet DLL都包含了大量关于它们是如何创建的信息,因此从“编译”的DLL中重新创建源代码并不是一次轻松的旅行。
页: [1] 2
查看完整版本: 你能保护LISP例程吗