首先:也许这是一个XY问题:我真正要解决的是一个穷人的保护方案,以防止窥探我们的源代码。我们在C#项目中使用HALCON(图像处理库);事实是,HALCON部件存储为纯源代码,并且仅当您告诉程序源位置时才由DLL编译/收集。我的意图是使源以加密形式存储在磁盘上,并在初始化DLL之前在程序开始时将其加载/解密到一部分内存中。这样做的目的是拒绝通过文件系统(插入USB记忆棒并进行复制)访问源-我知道这是一种较弱的保护形式,如果我错过了一些明显而优越的方法,请报告。< / p>
我一直在研究RAM磁盘,但是由于应用程序位于24/7上,因此这些磁盘无助于保护。基于内存的文件将是理想的,因为它们在应用程序关闭时就消失了,并且应该或多或少对外界不可见,但是我必须给DLL一个简单的DOS文件路径(例如“ C:/ HALCON / ourproject”)一个文件流/描述符,因此问题仍然存在(是否可以在Windows中)在每个进程中使用驻留在RAM中的过渡部分覆盖每个进程的文件系统。
编辑: 我正在使用HDevelop-Interface,也就是说,通过HDevProcedure对象调用了HALCON过程,该对象为过程调用了HALCON解释器。