No.1ベストアンサー
- 回答日時:
どのような回答をしたらよいか迷いますね。
Delphiについてではなく、一般論です。
基本的には機械的に作ればいいだけです。コンパイラの癖がわかっていれば、それを手がかりに解析し、そこから芋づる式に作れます、手間は大変ですが、コンパイラの作り方の基本がわかっていればなんとかなります。
必要なのは、コンパイラがどんなコードを出すかという知識でしょう。
目的は一般にはリバースエンジニアリングですから、アルゴリズムやI/O、インターフェースの使い方などがわかれば十分です。結果は最初のソースとは似ても似つかないものになります。元々使っていたラベルなどはわかりませんから、変数名などは英数字の組み合わせなどで表現されているものも多く、可読性は高くありません。
ただ、それを見るのは、プログラムのプロですから、それで十分です。
防ぐ方法というか、わかりにくくする方法もあります、簡単な方法としては、無意味なジャンプを多用したり、ダミーのコードを埋め込んだりします。リテラルを暗号化するのも効果的でしょうね。
あるいは、内部にプログラムローダーを用意し、そこで変換しながらロードするなども。普通そこまではやりません。
いずれにしろ、コンパイラだけじゃ難しいですが、こういうことをするツールはあります。
関数の習得なんて後回しの勢いで、小さいプログラムを作りました。
Delphiは、ぱかぱかソフトができて楽しいですねー。
質問は、このソースを見られたら恥ずかしいなー、というレベルでした。
今考えると、作った程度のソフトは、なれている人が見れば1時間もあればできるレベルだし、逆コンパイラも難しそうなので、素人のプログラムのレベルを見るためだけに中身を見る人もいなさそうですねー。
素人の質問に、回答ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Cのコンパイルでコメントアウトをそのままオブジェクトに保持したい 7 2023/08/01 22:22
- その他(ブラウザ) iPhone SEです。 ソースからコンパイルする方法ってどうすればいいのですか。教えてくださると嬉 3 2022/10/02 08:08
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- Excel(エクセル) vba コンパイル 4 2022/10/27 10:01
- Mac OS BOOK Air HDMI入力を表示するソフト 1 2023/01/21 18:06
- Java dokojavaのコンパイルについて 1 2022/10/06 18:42
- オープンソース IT用語、ソースとオブジェクト、改変と翻訳と翻案の違いなど どのようにりかいすればよいのですか 1 2022/09/09 10:02
- C言語・C++・C# プログラム Arduino 1 2022/07/03 11:13
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- 哲学 HEVCコーデックが必要な.mp4を普通の.mp4に変換するソフト 3 2022/12/03 13:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C++ で、「)」が必要 というエ...
-
0除算して、落ちるプログラムと...
-
コンパイルできない
-
C++でアボート(Abort)で処理が...
-
graph.hがincludeできない
-
io.hをincludeするとそのような...
-
プリコンパイラとは?
-
javaと.net frameworkの性能に...
-
pro*cにて
-
Visual C++では問題があるのにg...
-
isnanの取り扱いについて
-
C言語のコンパイラ
-
BCB5 「コンパイラ内部エラー」...
-
【エラー】Cpadで初めてコンパイル
-
Visual C++とVisual C++.NETの違い
-
コンパイラの制限 : ヒープの領...
-
COBOLのEVALUATE文について
-
コンパイラフラグ(compiler fla...
-
文字化け
-
変数(関数)名の頭に_
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0除算して、落ちるプログラムと...
-
C++でアボート(Abort)で処理が...
-
変数(関数)名の頭に_
-
C++ で、「)」が必要 というエ...
-
io.hをincludeするとそのような...
-
C言語のワーニングメッセージの...
-
Eclipseの環境設定について
-
ABAQUS ユーザーサブルーチン...
-
Visual C++とVisual C++.NETの違い
-
コンパイルできない
-
volatile修飾について
-
コンパイラについて
-
コンパイラフラグ(compiler fla...
-
Delphiの逆コンパイル
-
fortranでのNaNについて
-
cobolの文法チェックソフト
-
不要なインクルードファイルの検出
-
__extension__
-
IPアドレス表示プログラム
-
isnanの取り扱いについて
おすすめ情報