
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは
>exeファイルの中身のソースを確認する方法、つまりC++などの言語に戻す方法はありますか?
exe ファイルは、マイクロソフト製OSの規約による手順で機械語に変換されたバイナリファイルです。
従って、バイナリファイルを逆アセンブラなどの手法でニーモニックに戻して、パターンマッチングをするような(超めんどー)プログラム書かれたなら、ある程度は戻せるでしょう。 ある程度とは、exeファイル状態の時デバッグ情報は含まれ無いので定数名、変数名、関数名、その他マクロ、インクルードファイル名、クラス名、インスタンス名..など元のソースを復元するために必要な情報が決定的にありませんので、構文などの雰囲気だけひょっとしたら復元できるかも知れないという意味です。
>自作したexeファイルの中身のソースを勝手に解読されて、同じようなソフトを複製される可能性はありますか?
exeファイルからWindowsのソースを復元するよりも動作しているプログラムから、要求事項を読みとって設計仕様書を書けば、著名なOS上で動くものなら、exeファイルの中身を参考にせずとも新たに開発できてしまいます。
例えれば、小説であらすじが判れば、似たようなエピソードの物語を書くのは、元の小説を変にいじるより簡単ということです。 しかし、単にクローンを作っただけでは、当然オリジナリティがないのですぐに判ってしまいます(そんなもの恥ずかしいです)。 また同じOS上で動くものは、その機能の組み立て方も無限のバリエーションがあるわけでもないので似てきてしまいソースを比べたら同じ部分があったということはあり得ます。
独創的なアイデアであって、著作物(プログラム)を守りたいなら著作権法で守られるように考えておくべきでしょう。
No.3
- 回答日時:
アセンブラ・レベルでなら完全に読み取れます。
Cの場合は基本的にはソースがないと、exeだけではどうにもなりませんが、
関数名などは容易に想像できる形で埋め込まれているので、
ある程度わかります。
C++は基本的に関数名が変更される(パラメータの情報等が埋め込まれる)ので、Cほど容易には解析できません。(extern "C"を除く)
関数名変更のルールは規定されておらず、完全にベンダーに任せられています。ベンダーによっては、同じベンダーのコンパイラでもバージョンが違うと変更のルールが変わるものもあります。
よってC++の場合、解析は決してたやすくはないと思います。
完全に不可能とはいえませんが...
アセンブラとC++の両方に通じていて、使用されたコンパイラにも通じている人なら、完全に復元することは不可能にしても、ある程度の理解はされてしまう可能性は十分にあると考えます。

No.2
- 回答日時:
exeファイルの中にソースの情報がすべて入っているわけではないので、完全には無理だと思います。
ある程度なら、逆コンパイルなどのソフトがあると思います(私はやったことがないので詳しくは分かりません)。
また、exeファイルと別にソースを公開しているオープンソースのソフトもあります。
ただ、普通は、オープンソースでない場合は、元のソースを調べようとするような行為は、作者が禁止していることが多いようです(リバース・エンジニアリング禁止、などの言葉がマニュアルや利用規則などに書かれているなど)。
他人や会社のソフトを使う場合は、取り合えず、そこらへんをチェックしておいた方がよいと思われます。
また自作ソフトの場合は、完全には無理だが、ある程度は可能、ということで、公表する場合は利用条件としてそこは禁止と明記した方が良いと思われます。
No.1
- 回答日時:
逆コンパイラ用のツールはいくつかあります。
完璧に元に戻せるわけではありませんが、大まかな流れは掴むことができます。
ただ、私はプログラムは、有償無償に関わらず、フリー(日本でのフリーではなく、自由のフリー)で開発しますから、ソースも含めて公開してます。
フリーソフトウェアの定義 - GNU プロジェクト - フリーソフトウェア財団 (FSF) ( http://www.gnu.org/philosophy/free-sw.ja.html )
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
ゲーム
Windows 95・98
-
exeファイルの中身を見る方法はありますか?
C言語・C++・C#
-
exeファイルの直接編集についての質問です。
その他(コンピューター・テクノロジー)
-
-
4
python エラー
その他(プログラミング・Web制作)
-
5
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
6
EXEファイルの解析
その他(コンピューター・テクノロジー)
-
7
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
8
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
9
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
-
10
アプリケーションのDLLファイルを開いたり、編集したりすることは技術的に可能ですか?
デスクトップパソコン
-
11
HTMLからフォルダを開きたい
HTML・CSS
-
12
バッチファイルの内容を表示させない
その他(プログラミング・Web制作)
-
13
ILSpyで、デコンパイルできない。
その他(プログラミング・Web制作)
-
14
binフォルダーとは?
その他(ソフトウェア)
-
15
Excelで"で囲む方法
Excel(エクセル)
-
16
html上で、バッチやexeファイルの起動をしたい
ホームページ作成・プログラミング
-
17
あるプログラムのコマンドライン引数を調べる方法について
その他(コンピューター・テクノロジー)
-
18
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
19
Winmerge ファイルの中身は同じなのに黄色くなる
その他(OS)
-
20
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
exeファイルの中身を見ることは...
-
windowsでpkgファイルを開きた...
-
jlbという拡張子のファイルを開...
-
拡張子 .lhdはどのようなソフト...
-
動画ファイルにパスワードをつ...
-
ESPファイルが開けるフリーのソ...
-
FileVisorは今でも使えますか?
-
IOOファイルを ISOファイルに...
-
ファイル検索ソフトEverything ...
-
ISOファイルとMDSファイ...
-
txtファイルから特定の文字列が...
-
Str/Xaファイルについて
-
TSファイルを劣化無くMPEG4にす...
-
BOX(ファイル共有)でエクセル...
-
「画像のデータに不足がありま...
-
リンク先のファイルを一括ダウ...
-
一定の時間ファイルを開かない...
-
CD、DVDへの書き込み方法...
-
拡張子arcを開く
-
ファイル名の色分け。Windows 7...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
exeファイルの中身を見ることは...
-
jlbという拡張子のファイルを開...
-
拡張子 .lhdはどのようなソフト...
-
txtファイルから特定の文字列が...
-
相手先の方がPDFを開けません
-
動画ファイルにパスワードをつ...
-
リンク先のファイルを一括ダウ...
-
BOX(ファイル共有)でエクセル...
-
Win10でショートカットファイル...
-
windowsでpkgファイルを開きた...
-
Docuworksで文書の一括回転操作...
-
ファイル検索ソフトEverything ...
-
大量のPDFファイルに内容を読み...
-
mdsファイルを開くにはどうすれ...
-
FileVisorは今でも使えますか?
-
「画像のデータに不足がありま...
-
inddという拡張子ファイルを開...
-
ISOファイルとMDSファイ...
-
大量のPDFファイル 名前変更フ...
-
拡張子.hocのファイルを見る方法
おすすめ情報