私は、.net DLLを環境にロードする必要があるプラグインシステムを作成しています。彼らは、ポインタの使用法や "安全でない"キーワードの他の使用法が含まれているかどうかを知る必要があります。私は良いリフレクションブラウザを実行しているので、アセンブリ内のすべての型、すべてのメソッド、すべての外部参照、さらにはDLL内のすべてのCIL命令を参照できます。私の知る限りでは、unsafeキーワードは、DLLをコンパイルできるかどうかを判断するために使用された後は保持されません。ロード中の.NETアセンブリに安全でないコードが含まれていることを検出するにはどうすればよいですか?
安全でないタグが残っているメタデータの場所はありますか?安全でない特定のCIL命令がありますか?ランダムなDLLに安全でないコードがあることを確認する別の方法はありますか?
もちろん安全でないコードだけがセキュリティ上の懸念事項ではありませんが、私は今対処しようとしています。
unsafeはC#機能ではなく、.net one –
ああ、残念です。 C#で使用されているプログラミング機能を検出する方法があるかどうか知っていますか? –
私が知っていることではありません。あなたの最後の試合は何ですか? –