各位大侠,问题背景如下
我们开发的软件是基于某程序的,框架如下
                    特定类型文件
                        ||
                     \/
  ----------  COM           UART
   上层应用程序|---|中间层软件|---|硬件模块|
  -----------
  中间层和硬件模块是购买的,我们负责开发上层应用程序。
   目前的问题就是中间层软件必须打开其特定的文件,读取特定文件才可驱动硬件模块(类似word可以打开doc文件,必须在磁盘上,word可以采用OLE控制)。
   我们的上层应用程序与中间件通过COM的方式交互,可以通过COM发送命令让中间件打开其所需文件,此文件必须存储在磁盘上,且我们与中间件的文件相关交互命令只有打开、关闭、保存,注意无新建命令。
   现在的问题就是,中间层和硬件模块是从供应商处购买的,供应商也将此部分卖给了很多其它集成商,但中间件的软件所需文件却大家都可以打开。我们希望能够对此文件保密,但却不能破坏中间层软件打开文件的流程。
   各位大侠,有没有方法可以实现文件的保密?
   我初步的想法是,将特定类型文件加密打包到DLL中,上层应用程序调用DLL与中间层通信,中间层被调用时,DLL将文件释放出来,存储在硬盘上,通过DLL控制中间层打开特定文件,中间层调用结束后,读出文件的输出数据,但删除文件。
   这样做的缺点是,在中间层调用时,DLL释放出的文件还是可以被客户或者竞争对手搜索到。因为这种特定文件中除了数据以外,还有一些关键技术(此文件是可采用中间层操作设定特定工作流的)。   各位大侠,有没有更好的方法,可以做到即让中间层在被调用时可以打开所需文件,并对此文件操做,但同时此文件又不能被竞争对手或者客户看到?注意,中间层软件只能打开磁盘上的文件,应该是无法打开内存文件的。