• ベストアンサー

MS-DOSでプログラムのソースを・・・

ある測定機器と、RS232C(インターフェース)で繋がったPCがあります。 PCを起動すると、MS-DOSの初期画面を経て、測定機器の設定を変えたり、データを処理できるプログラムが立ち上がります。 このプログラムのソースを確認したいのですが、”DIR”で探した中にあった”○○.EXE”ファイルをテキストで見ると(当然ではあると思いますが)文字化けしてしまいます。 おそらくC、もしくはFORTRANで作られていると思うのですが、 このプログラムのソースを見るには、どうしたら良いでしょうか。 何か特定のソフトウェアが必要でしょうか? ド初心者なので言葉があやふやで、すいません。

質問者が選んだベストアンサー

  • ベストアンサー
  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.5

2回目です。 そのような場合、まともなメーカーの測定器なら通信仕様書、コマンド一覧は別途入手できると思います。 メーカーに資料の有無をまず問い合わせてみることです。 アナライザですべてのコマンドを確認するのは容易ではありません。 新規で通信ソフトを作った場合、コマンドに対するレスポンスの確認に主に使います。 通信ソフトを頻繁に作っている弊社では必需品です。 単に内容を確認するだけでしたら下位バージョンのLE1100・LE2100でも充分に対応可能です。 うちの会社ではLE21OOを使っています。

team-u
質問者

お礼

いえ・・・実は、そのメーカ様は、既に”Windows”対応のVCのインターフェースプログラムを作成してらっしゃって、古い版はもう無いそうなのです。研究用にと思ったのですが・・・とりあえず仕様書の有無を問い合わせてみます。有難うございます。

その他の回答 (4)

回答No.4

N88Basicの頃の経験からこのようなことを言っているのだと思います。 N88BASICはインタープリタなので、 ソースファイル=実行ファイルですが C、FORTRAN、VBなどはコンパイラなので ソースファイルと実行ファイルは別になっています。

team-u
質問者

お礼

ご回答有難うございます。そうなんですよね(最近ようやくプログラムの成り立ちがわかってまいりまして)。アセンブラリかコンパイルとかややこしいです・・・

  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.3

ディスアッセンブラが必要で、出てくるものはアセンブラコードです、解析はかなり難しいのは他の方が書いてあるとおりです。 逆アセンブラ(ただしリンク切れなので商品は販売終了の可能性があります) http://www.softboat.co.jp/product/sr97/ 以下要らぬお世話かもしれません。 >プログラムのソースを確認したいのですが 目的は何でしょう。 測定器の仕様書(マニュアル)があれば通信プロトコルとコマンドは書いてあると思います。 新規に別のプログラムを作るにしてもその仕様書どおりにすれば問題ないでしょう。 通信内容を確認するならプロトコルアナライザーがあります。 http://www.lineeye.co.jp/le-7000.htm RS232Cの通信内容がわかります。 レンタル品 オリックスレンテック社 http://www.orixrentec.co.jp/rental/xsearch.html 全文検索>ラインアイで検索 LE3100(ひとつ前の型番ですが高機能です) ■メーカ名 : ラインアイ ■型番 : LE3100 ■型番コード : 320595 カタログFAX可(型番コードを控えてください) ■仕様内容 : ハンディタイププロトコルアナライザ  対応伝送速度:50bps~115.2kbps,ASYNC/SYNC/HDLC/BSC/SDLC/X.25,192Kバイトメモリ内蔵,RS232C/V.24,適合プリンタ:DPU411(030032)/CP10(503990) ■月々のレンタル料金表 (月額・円) :  1ヵ月 36,400

team-u
質問者

お礼

ご回答有難うございます。現在、このプログラムをWINDOWS98上で起動できるように作成したいのですが、元のソースがあれば基盤に出来るかと思いまして・・・。仕様書をよく読んだのですが、コマンドは載っていませんでした。とりあえずプロトコルアナライザの使用を考えてみます。

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.2

こんにちは、honiyonです。   CやFORTRANのプログラムは、人間の読める形(テキストとして読める)で作った後、リンカやコンパイラと呼ばれるプログラムを使用し、コンピューターが直接理解出来る形(よく言われる0と1と考えて下さい)に変換されます。   EXEというのは、後者の形式であり、テキストとして読もうとしても読めません。   ソースコードを見たいので有れば、変換前のファイルを探さないといけません。   また、もしそのプログラムが他社が作成したもので、販売しているものであればかなりの確立で逆アセンブルする事を禁じてあるはずです。その点注意してください。   参考になれば幸いです(..

team-u
質問者

お礼

ご回答有難うございます。初心者でも何となく解って参りました。他社の作成したプログラムは逆アセンブルしてはいけないのですか・・・参考になります。

  • crimson
  • ベストアンサー率40% (900/2202)
回答No.1

>おそらくC、もしくはFORTRANで >作られていると思うのですが、 例えそうであったとしても、EXEファイルの中にその ソースは残っていません。 最終的に機械語化されているため、一度“ディスアセ ンブラ”というソフトでアセンブラ・ソースに戻し、 それをさらにCやFORTRANのソースへ翻訳…という作業 になります。 ただ、ディスアセンブラまではフリーのソフトも数種 存在しますが、その先の翻訳ソフトは数が少ない上に 高価な物が多いのが実情です。

team-u
質問者

お礼

ご回答有難うございます。EXEからソースまで持っていくのは、やはり一筋縄では行かないようですね。ディスアセンブラから当たってみます。

関連するQ&A

  • PC98 の BASIC プログラムのソースを Windows に持ってくるには?

    PC98 の BASIC プログラムのソースを Windows に持ってくることは出来ますか? MS-DOS で BASIC プログラムの入っているディスクを見ようとしたところ、「セクタがありません。」と表示されました。 MS-DOS にテキストファイルとして持ってこれれば、Windows にも持ってこれそうな気がするのですが。

  • エアーマイクロメーター探してます

    仕事でエアーマイクロメーターを探しています。 RS232C等により、PCへ測定値が取り込める インターフェースを持った機器を教えてください。

  • C言語でプログラムを作る課題があたえられました

    プログラムは作ったのですが、それを書いた拡張子『.c』のソースファイルとコンパイル後に作成された拡張子『.exe』のファイルを提出することになっています。『.c』のファイルとは『C source』に書かれているプログラムしょうか。また、『.exe』のファイルとはアプリケーションに書かれているものでしょうか、それともobject fileに書かれているものでしょうか。35年前にfortranは勉強して少し、プログラムを作った経験はあるのですが、今では言葉の意味が理解できません。恐れ入りますが詳しく教えてください。

  • MS-DOSフォーマットのフロッピーが文字化け

    ネットワークアナライザという機器で測定したデータをフロッピーに読み込み、windowsで読み込むと、文字化けします。その機器はMS-DOS準拠でフロッピーをフォーマットしているようです。 どうしたらいいでしょうか

  • Ms-Dos

    こんにちは、古いPC用のソフトをWindows2000で使えるかどうか知りたいと思っています。 電子天秤のRS-232CケーブルをPCに繋いでデータを読み込みというソフト 必要なファイルが書いてあります。 MS-DOS OS VER.2.11 N88BASIC.LIB これだけの情報で、何かお分かりの方がいましたら教えてください。 よろしくお願いします。

  • ソースプログラムでの日本語使用について

    Windows10のパワーシェルでソースプログラムをコンパイルしていますが、そのソースプログラムの出力部で日本語を用いると文字化けてしまいます。出力部とは、C言語だったらprintf, Fortranだったらwrite文です。ここで文字化けを解消するにはどうしたらいいのでしょうか。 パワーシェルは日本語ファイル、フォルダに対応しており、ファイル名が日本語でも問題ないようです。また、ソース内のコメントは日本語でもOKです。ただ、ソースプログラムを実行するとその結果の出力が文字化けてしまうのですが。コンパイラオプションでしょうか。 Rubyはコメントでさえも日本語がUTF8でないとダメとか、いろいろ事情がありそうです。 あるC言語の解説本は冒頭部から思いっきり日本語出力となっており、それが対応できないのです。 使用しているコンパイラはGNU系のもので、gccなどです。よろしくお願いします。

  • C++ で DIR コマンド

    MS-DOSプロンプトで dir と入力すれば、フォルダ内の 様子がMS-DOSプロンプトに表示されるけど、 C++ で、MS-DOSプロンプトで dir と入力したのと同じ 様にするにはどういうプログラムを作ればいいのですか? 別の言い方で書くと、実行すればMS-DOSプロンプトが 起動し、dir と入力されて dirコマンドが実行される というファイルを作るソースが知りたいんです。 dirコマンドが実行される対象となるディレクトリは どこでもいいんです。 C++ のプログラムでも、ディレクトリ構造を出力することが 出来ると思うんだけど、MS-DOSプロンプトでやってみたいんです。 どうしてそんなことがしたいのかというと、C++ が難しそうだから という理由なんです。 例えば、ファイルコピーを自動化するプログラムを作る時、 C++ のプログラムの出力をMS-DOSプロンプトへ渡す方法を知っていれば、 MS-DOSプロンプトでのコピーは copy コピー元 コピー先 という簡単な書式だから、ファイルコピーを自動化するプログラムも 簡単に作れそうだなと思ったんです。

  • Fortranプログラムの戻り値を得る方法

    Fortranで作成したプログラム(exeファイル)をC言語プログラム(exeファイル)から 起動しようと考えています。 Fortran側のプログラム終了コードを取得したのですが、 そもそもFortranで作成したプログラムは起動元プログラムに戻り値を返せるのですか? (C言語のmain関数の戻り値のように) できない場合の解決策として、ファイルに終了コードを書いて両プログラム で共有しようと考えています。この方法は妥当でしょうか? 当方、Fortranは素人です。詳しい方がいましたら教えて下さい。

  • PC9801とWinXPの違い

    RS232Cインターフェースで測定器とデータ通信をしたいのですが、 (古い測定器なので)説明書にはPC9801用のサンプルプログラムしか載っていません。 WinXP機で通信したいと考えているのですが、書いてある通りにやってもうまくいきません。 何がおかしいか分からないのですが、そもそもパソコンが違うとプログラムとか設定も変わってくることはあるんでしょうか?

  • 実行モジュールからソースを作りたい

    WindowsのMS-FORTRAN で作成したexe形式のプログラムがあるのですが、ソースを無くしてしまいました。 修正が必要となったので、このプログラムからソース(高級言語ならなんでも)を 取り出したい(変換したい)のですが、可能なのでしょうか? また、今回は個人使用目的のプログラムなので問題ないとは思いますが、 この行為自体、著作権(?)等の問題が発生しないのか教えていただければうれしいです。