簡體   English   中英

一個簡單的cobol程序需要重新編碼為C ++程序,以讀取通過包裝安全軟件傳遞的環境變量

[英]A simple cobol program needs to be recoded as a C++ program to read environment variables passed by wrapping security software

我有一個COBOL exe程序調用COBOL dll,后者又使用dos中斷'x91調用COBOL程序 - 調用程序使用'x91'激活EXE文件,就好像它是作為操作系統命令行鍵入的一樣條目。 包裝我的cobol代碼的安全程序是第三方程序,它包含了我的程序。 作者建議我的程序讀取環境變量以確保安全性沒有被黑客入侵。 我一直無法讓我的cobol讀取變量,所以我認為用C編寫程序,可以讀取變量。 所有現在的程序都是創建一個小的順序文件,寫一個記錄並關閉文件 - 為了安全起見,我將程序包裝在第三方安全軟件中,它生成我想要驗證的變量以允許程序進行將記錄與安全檢查的內容寫入傳遞或未傳遞。 然后,調用程序(cobol dll)測試文件是否存在,讀取記錄並驗證安全性代碼是否已寫入文件。

COBOL程序需要轉換為C ++,因為安全包裝代碼的作者說他不能與cobol可執行文件連接。

  • 目前的方案很小
  • 它所做的只是創建一個小的順序平面文本文件,寫一個記錄,然后寫入記錄並關閉文件。
  • 程序需要檢查由安全程序生成的某些“環境”變量的存在和值,該程序包圍生成文件的小程序,並在包裝​​程序運行時運行。

例如,變量“LICENSE”返回當前使用的許可證的名稱。 感謝任何輸入。

安全軟件的作者無法提供一個小的可執行文件來檢查他的變量,所以我期待從頭開始創建一個將模擬我所指的小cobol程序(讀取安全程序包裝的環境變量)並保護我的小程序,創建一個文件,寫一個記錄,其內容取決於環境變量的值,然后關閉文件)。 這樣,調用DLL將接收由'x91'調用執行的小程序寫入的文件到操作系統(需要用C ++而不是現在的Cobol編碼),驗證其內容,並允許是否進行的主要計划。 主要軟件包括500多個程序,我已經從大型機遺留代碼移植到PC。 我曾經使用加密狗,但我的客戶討厭他們,因為他們干擾他們的打印機......

激活新的小包裝程序的DOS調用將適用於任何可執行程序,因此它確實不是問題。

我什么都不知道COBOL,但也有使用它來讀取Windows環境變量非常明確的指示在這里

看了之后,我很高興我對COBOL一無所知。

一些要點:

  • 我真的不認為你的代碼是由“DOS中斷”執行的,因為你不能使用Windows,你的問題暗示你正在使用它。 順便說一下,請添加SO標簽來表明這一點。
  • 你說它無法讀取環境變量,但調用應用程序(用同一種語言編寫)可以創建它們嗎? 這似乎也不太可能。
  • 在代碼中你想要讀取環境變量以及你想用它做什么?

作為一個快速的解決方案,我建議讓包裝代碼將環境變量值寫入文件然后讀取。 如果您真的需要C或C ++解決方案,則必須澄清您的問題。

編輯:請注意StackOverflow是一個回答編程問題的網站 - 它不是一個為您提供免費軟件的網站。 如果問題就像你說的那么簡單(並且需要C解決方案,我仍然不相信),請雇用C程序員半天來編寫它。

由於我們不是在這里都說COBOL,並且代碼相當小,因此編寫一些解釋COBOL功能的偽代碼可能符合您的最佳利益。

大概可以找到一個班輪在Perl是會做你想要什么,但在目前,我不知道究竟想要什么,所以我不能幫你。(即使你確實想要一個Perl -one-liner;))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM