文章目錄
我們知道,以前在Windows下開發程式時常會遭遇著名的“DLL Hell”問題,即動態連結程式庫的向後相容問題。微軟在.Net產生前曾嘗試使用COM組件的方式來解決DLL Hell問題,即使用Guid來唯一的標識每一個COM組件。但是,實際上使用COM組件(包括版本升級)也是一件頗為麻煩的事:為了運行COM組件就必須在組冊表中對其進行註冊,重新編譯有可能破壞Guid從而導致原來引用此COM組件的程式不能正確運行,等等。
在.Net中,微軟引入了一種新的解決方案:強命名程式集(Strong Name),以及與之配套的全域組件快取(GAC)來解決這個問題。
強式名稱主要用處:就是防止dll被隨意引用,另外控製版本,標識唯一性。
我們要破解或者漢化別人的東西
就要破解強命名或者 強行去掉強命名
否則會出現這樣問題:
思路有兩個
一個是直接去掉強命名
按常規簡單地把強命去掉,還是不夠完美
所以
第二個方案是替換強命名
問題是我找遍網路都沒有找到那個SNR.exe
只好自己寫了
這個強命名工具:
可以產生新PNK檔案(相當於 -K)
替換程式集的強命名
除去強命名(調用SNRemove.exe,但是會有其他問題)
重新簽名(相當於 -R)
建議 產生新PNK檔案-〉替換程式的強命名
其他功能只是隨便玩玩。。。。
所有的操作都不需要ildasm 反組譯碼
GUI 簡單易用。。。。
程式使用組件 Sn.exe(位於 .net framework sdk目錄下bin中)
snremove.exe
壓縮包已經 附帶 .net framework sdk 3.5的SN.exe 和snremove1.0
直接運行strongnamereplaceGUI.exe即可
運行必需軟體
Windows Server 2003和Windows XP :
Microsoft .NET Framework 2.0 可轉散發元件包 或者更高版本。
注意: .net framework sdk 3.5的SN.exe (壓縮包帶的)需要
Visual C++ 2008 Redistributable Package (visual c++2008 運行庫)
(主要是MSVCR90.dll)
如果你使用的是 .net framework sdk 2.0的SN.exe
需要
Visual C++ 2005 Redistributable Package (visual c++2005 運行庫)
(主要是MSVCR80.dll)
這幾個組件 可以去baidu 之類地方找下載
下載.net framework 強命名工具
http://www.91files.com/?DT7T28TA1FELWJDWDZM5
http://rapidshare.com/files/291469235/snr.rar
下載.net framework 強命名工具4.0 相容版:
必需軟體:
Microsoft .NET Framework 4.0 可轉散發元件包 或者更高版本。
Microsoft Visual C++ 2010 Redistributable Package
http://www.jandown.com/link.php?ref=jufAf3SPSS
http://www.aishare.net/link.php?ref=in5TkyztHD
http://www.easy-share.com/1912983314