EvidenceパラメータでAssembly.LoadFromオーバーロードを使用して、アセンブリの名前が厳密に指定されていることを確認できますか?私は、アセンブリ名、文化、バージョン、公開鍵トークンを指定できるようにしたい。この情報のいずれかが一致しない場合、アセンブリは読み込まれません。Assembly.LoadFrom - 強力な名前の署名を検証するためのエバイデンドオーバーロードの使用
1
A
答えて
0
これを行う別の方法が見つかりました。
var assemblyName = new AssemblyName(<fully qualified type name>);
assemblyName.CodeBase = <path to assembly>
Assembly.Load(assemblyName);
2
あなたはそれをロードした後に議会の公開鍵を取得することができます - それが正常にロードし、公開鍵を持っている場合、それは厳密な名前付きだ:
Assembly assembly = Assembly.LoadFrom (...);
byte[] pk = assembly.GetName().GetPublicKey();
まだよく、アセンブリの公開キーとバージョン情報を確認する前にそれを読み込む:GetPublicKey()がnull以外の値を返し、その後、アセンブリが正常にロード
AssemblyName an = AssemblyName.GetAssemblyName ("myfile.exe");
byte[] publicKey = an.GetPublicKey();
CultureInfo culture = an.CultureInfo;
Version version = an.Version;
場合、それは有効な厳密な名前を持っています。
1
System.Windows.Forms.dllにパッチを当てるための厳密な名前検証を破る方法があります。私がそれを使っているなら、あなたはそれについてできることはあまりありません。私のトリックは完全な信頼を必要とします。
私がしたことは、dllにパッチを当て、dllをパッチ適用し、ngenでそれを展開し、ローダーにパッチを当ててオリジナルの代わりにパッチを適用したngenイメージを取得することでした。私がやったことは、dllをngenedした株を壊すことだった。 (私は実際にこの道をテストし、潜在的に誰かのソフトウェアを壊すことが悪い選択であると判断した)。
私はこれを行うのは良い考えではありません。私はAssembly.Loadからの署名を検証することは、悪い考えであると言います。
関連する問題
- 1. 強力な名前でDLLに署名する利点
- 2. SSO SAMLの署名付きXML署名検証(sha256を使用)
- 3. 強力な名前、マニフェスト、およびコード署名
- 4. 強力な署名付きのNAudio.dll
- 5. SHA512withRSA .Netの署名検証
- 6. 署名の検証が
- 7. JWT署名検証
- 8. X509TrustManagerを使用した自己署名証明書検証:checkServerTrusted
- 9. StAXを使用したデジタル署名の検証
- 10. 異なるアカウントを使用して検証、署名、アップロード
- 11. 署名またはAPI PHPを使用したキー検証
- 12. ベトナムの名前私はベトナムSAUアドレスを検証するために使用
- 13. Apple MDM証明書署名が無効であるため署名検証に失敗しました
- 14. 自己署名入りのjarファイルの署名を検証する方法は?
- 15. JavaCard>署名と検証
- 16. JWTトークン署名検証javacript
- 17. ファイル署名検証(CryptQueryObject)
- 18. RSAデジタル署名検証
- 19. Google OAuth JWT署名検証
- 20. WSS4J SOAPトラストストアを使用しない署名検証
- 21. CertGetCertificateChainを使用してEXEで署名を検証する
- 22. System.IdentityModel.Tokens.Jwtを使用してRS512でJWT署名を検証する
- 23. 新しいリダイレクトされた強力な名前のアセンブリを使用したデバッグサービス
- 24. C#RSAで署名を署名し、検証する。エンコードの問題
- 25. RSA署名検証パラメータの明確化
- 26. 間欠SAML署名検証の問題
- 27. JWT署名の検証は、javaは
- 28. CのXML署名検証ライブラリ?
- 29. PowerShell SAML署名付きXMLの検証
- 30. RSA SHA256署名の生成と検証
おそらく遅延署名していますか?その場合、これは、そのアセンブリに対して厳密名検証(sn -Vr)を無効にしたマシンでのみ機能します。それ以外の場合、何をしていますか? .NETフレームワークアセンブリの秘密鍵が漏洩していますか? –
鍵が漏洩していません。ローダーは、取得したファイルが要求されたファイルであると仮定します。 – Joshua
@Joshuaはあなたのトリックが教育目的のためにどのように機能するかを詳しく説明することができます。 ? –