動的コード置き換えは、反射防止とCIL-アンチデバッグの究極のツールです。これは、プログラムをリバースエンジニアリングしようとする試みを完全に停止できるソフトウェア保護ソリューションです。リフレクター、逆アセンブラー、逆コンパイラー、さらにILデバッガーからもコードを保護します。
他の同様の製品とは異なり、このタイプのメソッドはProcess Dumper / Reflectorにさらされる可能性があるため、実行時にハードコードされたメソッドを解読して作成しません。 'Dynamic Code Displacing'は動的コードでILコードを隠します。
ILコードはメソッド/プロパティから削除され、初期化されていないデリゲートに置き換えられます。
これらのデリゲートは空のプレースホルダです。その値はnullに設定されます。
抽出されたコードは暗号化されて安全に保存されるので、反射体によって反射されるILコードはありません。
実行時に、これらのコードが取得され、解読され、ダイナミックメソッドに動的に変換され、指定されたモードに従ってデリゲート(プレースホルダ)に関連付けられます。
プリロード:アプリケーションの開始時に動的メソッド/デリゲートが作成されます。
LoadOnFirstCalled:動的メソッドが作成され、メソッドが初めて呼び出されたときに、関連付けられたデリゲートに割り当てられます。
+ LoadAndDiscard:動的メソッドが作成され、メソッドが呼び出されるたびに関連付けられたデリゲートに割り当てられ、メソッドが呼び出し元に返された後に破棄されます。
これらの動的メソッドは、反映、逆アセンブル、または逆コンパイルすることはできません。
Process Dumper / Reflectorはデリゲート宣言のみを表示します。基礎となる生成された動的メソッドを見ることはできません。
CILデバッガは、動的メソッドを直接追跡またはトレースすることはできません。
特別な保護のために、動的コード置換は難読化されたアセンブリを変換することもできます。難読化だけでは、現代のリフレクタに対する十分な保護が得られません。高度に複雑なリフレクタは、その機能から名前を割り当てることができます。難読化の上にDynamic Code Displacingを追加することにより、リフレクターがあなたのコードを分析するのを防ぎます(分析するコードはありません)。難読化された名前は難読化されたままです。
'Dynamic Code Displacing'は、コード隠蔽/置換機能のみを提供する特殊化難読化ツールです。余分な難読化が必要な場合は、他の標準的な難読化装置と組み合わせて使用できます。私たちの難読化ツールを使用する必要はありません。気に入っているか、すでに所有している難読化ツールを自由に使用してください。
要件:
.NET Framework 4.7
制限:
30日ごとに期限が切れます。
コメントが見つかりません