アプリケーションを難読化しても、コードインジェクションを使用してクラックできることがわかりました。これにより、C#は完全に役に立たなくなります。プロセスを保護したり、実行を非常に困難にする方法は本当にありませんか?「クラッカー」はこれを行うためにクラス名などを知っている必要がありますか?ありがとう!
更新:コードではなくバイナリ(exe)を保護しようとしています。
私はここのどこかで何人かのユーザーから、コードが何で書かれていても逆コンパイルできることを読みました。このように考えると、システムは他にどのようにコードを実行する方法を知っているでしょうか?同じ考え方です。
ただし、通常、ほとんどの開発者(私が知っている)はこれについてそれほど心配していません。もちろん、これは、コード内に機密性の高い詳細を含めるのではなく、別の場所に置くのに十分な理由です。
.NET言語のいずれか、およびJavaは逆コンパイルできます。これには、.Exeファイルと.dllファイルが含まれます。あなたがする必要があるのは、コードをわかりにくくするツールを入手することです。
あなたがアイデアを得ることができるように、私はあなたのために以下に1つをリストしました:http: //www.red-gate.com/products/dotnet-development/smartassembly/
保護された業界の秘密について心配している場合、コンピュータに正しい指示を送信することは不可能ですが、有能な人がそれらの指示を読むことはできないと期待してください。誰かがEXEを変更するのを防ぐことが目標である場合は、実行可能ファイルに署名するだけではどうでしょうか。
http://blogs.msdn.com/b/shawnfa/archive/2007/01/10/combining-strong-names-with-authenticode.aspx
あなたのコードは誰かがそれをするのに苦労する価値があると確信していますか?非常に少数のアプリケーションです。