- ベストアンサー
Delphiの逆コンパイル
Delphiのexeのソースってみれますか? 一度コンパイルしたものを、逆コンパイルするソフトはあるようなのですが、簡単にできるものなのでしょうか? できるとしたらそれを防ぐ方法はあるのでしょうか? ソフト名とかは、とりあえずいりません。 どれくらいのレベルの人ができるのか。 どんな感じにソースが読めるのか。 変数名なんかは、変わるみたいだし。 詳しい方よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どのような回答をしたらよいか迷いますね。 Delphiについてではなく、一般論です。 基本的には機械的に作ればいいだけです。コンパイラの癖がわかっていれば、それを手がかりに解析し、そこから芋づる式に作れます、手間は大変ですが、コンパイラの作り方の基本がわかっていればなんとかなります。 必要なのは、コンパイラがどんなコードを出すかという知識でしょう。 目的は一般にはリバースエンジニアリングですから、アルゴリズムやI/O、インターフェースの使い方などがわかれば十分です。結果は最初のソースとは似ても似つかないものになります。元々使っていたラベルなどはわかりませんから、変数名などは英数字の組み合わせなどで表現されているものも多く、可読性は高くありません。 ただ、それを見るのは、プログラムのプロですから、それで十分です。 防ぐ方法というか、わかりにくくする方法もあります、簡単な方法としては、無意味なジャンプを多用したり、ダミーのコードを埋め込んだりします。リテラルを暗号化するのも効果的でしょうね。 あるいは、内部にプログラムローダーを用意し、そこで変換しながらロードするなども。普通そこまではやりません。 いずれにしろ、コンパイラだけじゃ難しいですが、こういうことをするツールはあります。
お礼
関数の習得なんて後回しの勢いで、小さいプログラムを作りました。 Delphiは、ぱかぱかソフトができて楽しいですねー。 質問は、このソースを見られたら恥ずかしいなー、というレベルでした。 今考えると、作った程度のソフトは、なれている人が見れば1時間もあればできるレベルだし、逆コンパイラも難しそうなので、素人のプログラムのレベルを見るためだけに中身を見る人もいなさそうですねー。 素人の質問に、回答ありがとうございます。