1

だれかがリフレクションを使用して内部クラス変数の値を取得するのを防ぐことは可能ですか?

発信者がパスワードを知っている場合にのみアクセスできる内部 (VB の Friend) クラス レベル変数があります。パスワードを取るこの変数を公開するメソッドがありますが、リフレクションを使用して変数に直接アクセスすることは可能です。これを防ぐことはできますか?

詳細については、この変数をハッキングしている可能性のあるコードがプラグインとしてマスター アプリケーションに読み込まれます。

4

1 に答える 1

3

ソース コードを難読化することで、リフレクションを難しくすることができます (ただし、不可能ではありません) 。これにより、ほとんどの場合、コードで使用されている名前が、容易に推測できない判読不能な名前に変更されます。ただし、それは保証を提供するものではなく、決心したプログラマーはそれらの名前を見つけて、彼/彼女が望むすべてを反映することができます.

または、コードのその部分 (クラス全体) を非 .NET 言語 (アンマネージ C++ など) で実装することにより、リフレクションを不可能にすることができます。たとえば、 inメソッドはマネージ コードに実装されていないmscorlibため、反映して動作を確認することはできません。InternalGetHashCode

PInvoke を使用して、マネージ コードからアンマネージ機能を呼び出すことができます。

于 2013-02-19T21:14:44.470 に答える