3

Delphi で 1987 年に書かれたプログラムを更新するように依頼されました (おそらく)。このプログラムに関するドキュメントはありませんが、プログラマーが取った、あまり意味のない補足的なメモがいくつかあります。

CD には次のファイルが表示されます。

サイズ | ファイル名
19956 VP.DTA
142300 VP.LEX
404 VP.NDX
126502 VP.RCS
131016 VP.SCR
150067 VP.XEL
101791 vp.exe

このファイルの誰かがデータベースですか? もしそうなら、そのデータにアクセスできますか?

いくつかのコード逆コンパイラを試しましたが、Win32 互換アプリケーションではないというメッセージが表示されます。プログラムは MS-DOS で実行されます。

ソースコードを入手することは可能ですか? このコードを何らかの方法で使用して、新しいアプリケーションを構築できますか?

Update01: MS-DOS でプログラムを実行できます。プログラムは動詞を活用し、動詞を使用できる例文を示します。GUI は少しわかりにくく、ヘルプ メニューがないため、プログラムのすべての機能を確認できません。

Update02: プログラムの所有者との会話で、別の解決策を見つけました。彼は私に、プログラムをサーバーに置き、クライアントがユーザーとパスワードでログインして端末でプログラムを実行できるかどうか尋ねました。大学のサーバーにアカウントがあり、ssh 全体でアクセスして、その中で c プログラムをコンパイルおよび実行できます。サーバーはLinuxにあるため、プログラムを試すことができませんでした。Windows サーバーをセットアップした場合、ターミナルで複数のユーザーがプログラムにアクセスして実行することはできますか? プログラムはexeです。これにより、セキュリティ上の問題が発生しませんか?

4

6 に答える 6

7

Delphi は 90 年代半ばのものなので、おそらく Delphi ではなく、Delphi の祖先である Turbo Pascal を意味します。

一部の拡張機能は、単語の短縮版としておなじみのように聞こえます。

  ndx = index
  dta = data
  scr = screen (?)
  lex = lexicon (list of words or deduped strings in general) (?)

画面は、ヘルプファイルの中世の形式であるヘルプ画面などに使用されることがありました。これらは通常、画面メモリに直接ロードできる ansi 画面です。

これが手作りのものである可能性はかなりあります。特に、その日付が 1987 年で、「パスカル」という一般的な仮定が真であり、既知のデータベース パッケージによって生成されたものではない場合は特にそうです。

ファイル形式のリバース エンジニアリングは、アプリのリバース エンジニアリングを試みるよりも価値のある方法かもしれません。

まず、UNIX の「file」コマンドを実行して、ファイル タイプを認識できるかどうかを確認します。(file コマンドはファイル内の署名を検索し、Windows ポートがあります。私は Cygwin を使用します)

そのような問題に経験のある開発者は、16 進ダンプ (特にファイルの最初の部分) からも多くのことを確認できます。

于 2011-01-01T23:31:17.843 に答える
0

CLipper(NDXおよびSCR)のように見えます。あなたがDBFファイルを持っているなら、それは確かにクリッパーです。しかし、DBFの名前をDATのような名前に変更した人もいます。Clipperの場合、Valkyrieという名前の逆コンパイルがあったと思います。

于 2011-03-19T12:45:24.237 に答える
0

Delphi でコンパイルされたプログラムをリバース エンジニアリングする DeDe を探します。しかし、私の知る限り、delphi は本物のコンパイラです。したがって、逆コンパイルする方法はありません。アセンブラ コードを読める場合は、逆コンパイルしてみてください。Clipper と Foxpro (DOS バージョン) は、実際のコンパイラではない別の話です。

于 2011-01-02T02:56:20.807 に答える
0

ソースコードを入手することは可能ですか?

おそらくそうではありませんが、 Hex-Rays のようなものを使用してアプリケーションを C に逆アセンブルできるIDA Proのようなものを見たいと思うかもしれません。

于 2011-01-01T23:26:32.273 に答える
0

これは間違いなく Delphi ではありません。Clipper 1のようなデータベース中心の言語の 1 つかもしれません。.SCR はおそらく「スクリーン」を意味し、I/O マスクを定義します。.NDX はテーブル インデックスで、.DTA は「データ」を意味します。

クリッパーの場合、実際には幸運かもしれません。私が覚えている限り、これらのプログラムは P コードだったので、逆コンパイルできる可能性があるからです。

于 2011-01-02T15:52:44.427 に答える
0

アプリケーションがどうあるべきか知っていますか?

ms-dos であれば、新しい要件を作成して、新しい開発を行うだけのほうがよいでしょう。

于 2011-01-01T23:28:29.467 に答える