我有一个 COBOL exe 程序,它调用一个 COBOL dll,而后者又使用一个 dos 中断“x91”调用一个 COBOL 程序——调用程序使用一个“x91”来激活一个 EXE 文件,就好像它是作为操作系统命令行输入的一样入口。包装我的 cobol 代码的安全程序是包装我的程序的第三方程序。作者建议我的程序读取环境变量以确保安全性没有被黑客入侵。我一直无法让我的 cobol 读取变量,所以我认为用 C 编写程序,可以读取变量。目前的程序所做的只是创建一个小的顺序文件,向其中写入一条记录并关闭文件 - 为了安全起见,我有第三方安全软件包装的程序,它会生成我想要验证的变量,以允许程序将记录与安全检查的内容一起写入通过或未通过的内容。调用程序(cobol dll)然后测试文件是否存在,读取记录并验证是否已将安全代码写入文件。
COBOL 程序需要翻译成 C++,因为安全包装代码的作者说他不能与 cobol 可执行文件交互。
- 现在的程序很小
- 它所做的只是创建一个小的顺序平面文本文件,向其中写入一条记录,然后写入记录并关闭文件。
- 该程序需要检查由安全程序生成的某些“环境”变量的存在和值,该安全程序围绕生成文件的小程序,并在被包装的程序运行时运行。
例如,变量“LICENSE”返回当前使用的许可证的名称。感谢您的任何意见。
安全软件的作者无法提供一个小的可执行文件来检查他的变量,所以我希望从头开始创建一个来模拟我一直提到的小 cobol 程序(阅读安全程序包装的环境变量并保护我的小程序,创建一个文件,向其中写入一条记录,其内容取决于环境变量的值,然后关闭文件)。这样,调用 DLL 将收到由 'x91' 调用操作系统(需要用 C++ 编写而不是现在的 Cobol 编写的那个)执行的小程序编写的文件,验证其内容,或者允许主程序进行与否。主要软件由我从大型机遗留代码移植到 PC 的 500 多个程序组成。
激活新的小包装程序的 DOS 调用将适用于任何可执行程序,所以这真的不是问题..