どのよう保護のためのdelphiたします。
-
20-09-2019 - |
質問
どのようにしたら良いですか保護マdelphiアプリからdecompiled?ないので一部のソフトウェアのようにthemidaいと思いますいその保護exeトリガーのウイルス対策.
解決
これは、あなたの目標が何であるかによって決まります。
それは本当にただのソースを保護するなら、それはすでに完了しています!提供あなたは、デバッグおよびシンボル情報が含まれており、いくつかの重いインライン化、exeファイルを逆アセンブルからいくつかの使用可能なパスカルのコードを再構築するために幸運を追加しないでください。
それが機能し、それをハックどのように見てから人々を防ぐことだ場合は、いくつかの抗分解したり保護を含める必要があります。それは難しいが、なんとかです。多くの場合、著作権侵害対策保護を担保として行われます。
他のヒント
すべて、何の究極のセキュリティはありませんので、また、「逆コンパイル」することができます。しかし、通常、それはコンパイルDelphiコードを逆コンパイルすることは非常に困難であり、ほとんどすべての識別子と、すべてのコメントはもちろん、なくなってます。
クラスの公開された部分は、DFMは、情報(文字列定数を含む)の定数は、読みやすいように、exeファイル内に存在するファイル。あなたは、公開使用して文字列を暗号化しないことで、この問題を軽減し、DFMファイルを使用することはできません。しかし、すべての情報は、まだそれほど頻繁に、これは単に本当のセキュリティを与えないハードワークになり、あなたのexeファイルで存在するであろう。
あなたは自分のソースコードの一部があなたのアルゴリズムを困難にする、読みにくいようにしたい場合は...
最後に、すべてがハッキングすることができます。逆コンパイルされてからアプリケーションを回避する唯一の現実的な方法は、あなたがあなた自身のサーバー上ではなく、お客様のサーバーにデプロイするときのように、すぐにそれを行うことができるものからexeファイルを維持することです。
あなたはDelphi Prismのを使用している場合は、多くのネット逆コンパイルツールの一つが、ソースコードの(形)へのアクセスを得るための簡単な作業になります。
唯一の解決策は、多くのネット難読化ツールのいずれかを使用することです。残念ながら、私は1つを使用していたことがありませんように私は勧告を行うことはできませんが、Googleはあなたの道を示す必要があります...
あなたはネイティブのWin32に難読化の後、任意の形式、あるいは抗デバッグ機構をコンパイルしている場合は、かなりの時間の無駄です。あなたや私たちの母国語を読んでアセンブリとして簡単に読むことができますそこに人がいます。これらのことは唯一の(とのみかろうじてその時)ややリバースエンジニアリングプロセスを遅くます。
数年前、私は、その開発者が放棄したものを、アプリケーションを書き直さなければならなかった。
私は(コンポーネントと)、DFM-sからTxyzQueriesに保存されたクエリ文字列をフォームにすべてのものを回復することができ、イメージリスト、逆コンパイラといくつかの文字列が、アプリケーション・ロジックからのビットマップは、内部のasmソースを持つ唯一のメソッド名を回復することはできません。
(UPX http://upx.sourceforge.net のような)ローダーがありますが、何が、暗号化された抽出します圧縮されたメモリと開始の負荷、それをするアプリケーションが、感染したとAVのは、多くの場合、このようなアプリケーションをマークします。 :(
あなたはそのような小さなアプリケーションを書くことができ、いくつかのヒント:
www.codeproject.com/KB/cs/LoadExeIntoAssembly.aspx(.NET) (DLL-秒間)www.joachim-bauch.de/tutorials/load_dll_memory.html
アンチウイルスを(Win32.Black例えばカスペルスキーによって検出される)。トリガするの盗まれたのThemidaキーで保護のみアプリケーション
一般的に、あなたは本当に逆コンパイルからあなたのコードを保護することはできません。しかし、このようコードバーチャなどのツールを使って、あなたは、あなたのインストールなどの主要分野を、保護することができますするコードデコーダ。仮想化されたコードは非常に遅く、一定の制限がありますが、それはカジュアルなハッカーのトラブルに適したハードルを追加します。そのように、あなたは毎回、適切な保護を確保する - それは一貫リリースで追加されるように、これが最良のビルドスクリプトで行われます。
私は、既存のユーザーを気にすることなく、いつでも保護を切り替えることができるように、BTW保護からインストールコードを分離することをお勧めします。
最後に、Delphiのフォームが簡単にアクセスされているが、それらは一般的に変更することが有用ではない。
の完全な解体は、私はネイティブの勝利プラットフォームで考える達成されることはありません。あなたはコンパイル時にデバッグシンボルなどが含まれるか、いくつかのツールを使用してこれらを非表示にしていない場合、それはあなたのexeファイルをデコードすることができ非常に低いです。 .NETの事については考えていません。