Is it possible to decompile C++ Builder exe?
Is C++ Builder safe programming tools or anyone can decompile it and see the code?
Is it possible to decompile C++ Builder exe?
Is C++ Builder safe programming tools or anyone can decompile it and see the code?
簡単に言えば、そうです、逆コンパイルすることができ、「安全」ではありません。コンピューターで実行されたものはすべて分解でき、分解を読み取ることで検査できます。逆コンパイルとは、元のコンパイル済みソースコードの一部でさえも復元することを意味します。これは確かにある程度可能です。結局のところ、アセンブリを目的の言語に翻訳できるプログラムを作成することは「ただ」です。人間がそれを行うことができれば、プログラムもそれを行うことができます。なぜなら、それは既知のルールとロジックを適用して、プログラムを異なる表現/言語から別の表現/言語に翻訳することだけだからです。しかし、それはそれほど単純ではありません...
多くの情報(ソースファイル、変数名、未使用のコード、コメントなど)は、コンパイルプロセスで失われます。これはコンパイラの最適化によってさらに悪化し、通常、結果として生じる逆アセンブルがほとんど読めなくなる場合があります。そのため、逆コンパイルされたソースコードは、プロジェクトのビルドに使用された実際のソースコードではなく、実装の詳細と主にロジックに関する単なる手がかりを与えるだけです。
これは、プログラム自体の「安全性」やセキュリティとはほとんど関係がないことに注意してください。任意のプログラムを何らかの方法で逆アセンブルでき、動作中のプログラムの背後にある任意のロジックを検査してリバースエンジニアリングできます。プログラム内に秘密を置くことはできません。実行できれば、何も隠すことはできません。
多くの場合、実行可能ファイルの一部を逆アセンブルし、アセンブリでそのロジックを処理する方が、多くのそのような逆コンパイラーがまだ生成するCなどの高級言語での非常にあいまいで通常は壊れた再構築に依存するよりもはるかに簡単です。ただし、ツールを分解することで、読みやすく非常に明確な高レベルの表現を生成できる場合もありますが、多くの場合、ツールは単純なケースであり、コードの短い抜粋です。
つまり、ターゲットプログラムを検査、リバースエンジニアリング、および理解するために逆コンパイラは必要ありません。必要なのは、実行可能ファイル、逆アセンブラ、およびアセンブリ言語の理解へのアクセスだけです。この事実を回避する方法はなく、実際の問題になることはめったにありません。