• ベストアンサー

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

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

noname#41381
noname#41381

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

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.2

おそらく、exe形式のプログラムには、Windowsの MS-FORTRANのライブラリ部分が含まれていると 思います。少なくともそのライブラリの部分は ディスアセンブル禁止のはずです。(これはMS-FORTRANの 使用許諾条件のはず、、、) それに、多分ディスアセンブルしてもラベルはいいかげん な再生しかできませんし、Windows用の余分なコードも ふんだんに取り入れられていることでしょう、、、 なので知人に頼んで再度ソースコードをもらったほうが よいし、早いのでは? #たしかに逆コンパイラは欲しいですね。

noname#41381
質問者

お礼

ありがとうございます。 MS-FORTRANのライブラリですか...気づきませんでした。 確かに、知人を捜した方が早そうな気が (^ ^;)

その他の回答 (1)

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

逆コンパイラは研究中の分野であり“実用レベル”のものは存在しないと思います。 実用的な選択では逆アセンブラをオススメします。 逆アセンブルを含む“リエンジニアリング”は一般的にライセンス条項で禁止されています。 製品ソフトウェアでは個人的な利用を目的としていても認めてない場合がほとんどです。 ソフトウェアの著作権はソフトウェアライセンスで規定されるものですからライセンス条項を熟読してください。

noname#41381
質問者

お礼

適切な回答ありがとうございました。 逆アセンブラしてみて、直せるかどうかチャレンジしてみます。 #今回のプログラムは知人に作ってもらったものなので、 #ライセンス条項とかはないですよね? #本人の了承が必要なのかな?

関連するQ&A

  • C言語による実行

    C言語で記述したソースプログラムを入手しました。これをコンパイルして実行する具体的な方法を教えて下さい。私は、MS-Fortran,FBASICのソースプログラムからコンパイルし、実行することをしております。

  • 「逆コンパイル」ってできるんですか?

    自力なり、ツールをつかうなりして逆コンパイルすれば、EXE形式から、Cなどのプログラム言語に変換することができるんですよね。 そうすると、ソフトを作っている会社なんかは、自社が力をそそいで作ったプログラムを簡単に真似されたりすると思うんですけど、それでいいんでしょうか。 それから、 ウィンドウズのEXEから、ソースコードに変換することはできないんですか? すごい労力になるけど、やることは可能な気がするんですが。

  • ソースのない実行プログラムについて

    ある実行プログラム(VBで作成、exe形式、ソースなし)があります。 プログラム(.exe)を起動することで画面上に入力画面が表示されます。 いくつかの必要項目を入力し、計算ボタンを押下し計算を流すことで.xlsに結果を出力することができます。 1ジョブの計算時間に数時間かかるのと件数が多いため、仕事帰りに複数のパソコンで処理し、1台のパソコンで複数件処理できないか?その方法を検討しています。   入力画面に必要項目を自動入力でき、1つのパソコンで複数件処理できる方法はないでしょうか?

  • MS-FortranとFortran90

    私は研究でFortran90を使っているのですが、研究に使うプログラムはMS-Fortranを用いて書かれているものでした。 そこで質問なんですが、MS-FortranとFortran90の違いについて知っている方がいれば教えてください。 また、MS-FortranでかかれたソースコードをFortranにコピーした時に何か弊害はあるのでしょうか?(人づてに弊害が起こると聞いたことがあるのですが・・・)。 プログラミングを本格的に始めて、まだ3ヶ月ほどで用語の使い方がわかりにくいところがあるかもしれませんがよろしくお願いします。

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

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

  • インタプリタはロードモジュールを作成する?

    情報システムを勉強し始めた初心者です。 私の持っているテキストには以下のように書いてあります。 ・「ソースプログラム」を「ロードモジュール」に変換するプログラムが「言語プロセッサ」。 ・「言語プロセッサ」には「コンパイラ」や「インタプリタ」が使われる。 つまり、コンパイラもインタプリタもロードモジュールを作成するものだと思っていました。 しかし、以下のような問題がありました。 問題: インタプリとは、高水準言語で書かれた原子プログラムを、機械語のプログラムに翻訳してロードモジュールを作成するプログラムである。 答え: 間違い。インタプリタではなく、コンパイラの説明になっている。 つまり、インタプリタはロードモジュールを作成しないということなのでしょうか? どなたかご教授お願いいたします。

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

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

  • C言語のプログラムのFORTRANへの変換

    こんにちは。 C言語のプログラムをFORTRANに変換したいのですが、思ったように動きません。 C言語のプログラムをFORTRANに変換できるソフトなどはあるのでしょうか? WEBでは「C2F」というものがあったように記載しているページがありますが、 実際にダウンロードできる場所がみつかりません。 このような変換ができるソフトやC2Fについてご存知の方がいらっしゃいましたら 教えていただけないでしょうか? よろしくお願いいたします。

  • Linux上で実行関数使用

    Windowsで作成したphpプログラムをLinuxに移動させようとしています。 そのプログラムの中ではC言語で作成したプログラムの実行形式(.exe)をshell_execを使って実行させています。 Linux上で動作させる場合は.outを実行すればよいとはわかるのですが、 どの実行関数を試してみてもパスが通らないか、通っても動作していなor結果が返ってこないようで、全く反応がありません。 .outを単体で実行させた場合は問題なく動作するので、C言語のプログラム上の間違いではないです。 どなたかLinux上で、phpで実行形式を動かす方法を知りませんか?

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

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

専門家に質問してみよう