程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 強名稱(3)強名稱的脆弱性

強名稱(3)強名稱的脆弱性

編輯:關於.NET

通過前文共同體驗了強名稱對程序集的保護方式和原理,但是這種保護的強度到底有多大呢?能有效地防御惡意篡改者嗎?先看下面的例子。

回到上篇文章的代碼清單9-7,重新對StrongNameReferenceLib項目進行強名稱簽名,然後編譯StrongName項目。在StrongName項目的bin目錄裡有StrongNam.exe和StrongNameReferenceLib.dll兩個文件,然後使用ILDasm打開StrongNameReferenceLib.dll文件,轉儲為il文件,這裡使用記事本打開il文件,如圖9-19所示。

圖9-19 StrongNameReferenceLib.dll的IL源碼

在.il文件中找到三處代碼:publickkeytoken、publickey和hash,把對應的內容都刪除,再重新使用ILAsm編譯,這時該程序集的強名稱就被成功去除。

替換程序集的強名稱方法基本相同。目前網絡上有很多去除和替換強名稱的工具,這裡不再演示。

作者:玄魂

出處:http://www.cnblogs.com/xuanhun/

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved