大家做專案開發一般都是分層的,比如ui層,業務層,資料訪問層。業務層引用資料訪問層的dll(比如dataaccess.dll),並使用dataaccess.dll中的方法。當專案完成並給客戶用了,可有些心裡bt的客戶這個時候也可以請個稍微懂net的人來引用你的dataaccess.dll並呼叫其中的方法搞破壞。比如可以直接使用裡面的changepwd(string username,string pwd)方法把其他使用者的密碼改了,這個時候就你就.......
chinaz_com
好了,該開始說怎麼保護我們的**了:
中國站長_站,為中文**提供動力
首先我們需要把我們的程式集做成強命名的程式集。 站.長站
這裡我們在.net 命令提示中輸入sn -k c:/test.snk 建立乙個新的隨機金鑰對並將其儲存在 c:/test.snk 中
然後新建立類庫classlibrary1,裡面只有個類檔案class1.cs,**如下:
以下為引用的內容:
1using system;
23namespace classlibrary1413
14 public string insert()
15
18 }
19}20
assemblyinfo.cs**:
//............其他的就用預設
[assembly: assemblykeyfile("c://test.snk")] // 連線上面用強命名工具sn.exe生成的檔案
在這裡就可以直接執行了,不過大家都看的出來,這樣是能成功呼叫class1中的方法的。
現在讓我們來修改下class1.cs,**: 中國.站長站
以下為引用的內容:
using system;
using system.security.permissions; 中.國.站.長.站
namespace classlibrary1
public string insert()}}
說到這裡大家一定再問publickey=後面一串那麼長的字串怎麼來。publickey後面的字串是你開始生成的c:/test.snk檔案中儲存的公鑰。那怎麼才能看到這個公鑰了,照樣是用sn.exe。
輸入sn -p c:/test.snk c:/publickey.snk (從 test.snk 中提取公鑰並將其儲存在 publickey.snk 中)
再輸入sn -tp c:/publickey.snk (顯示公鑰資訊)
上面這個命令就能看到publickey後面的字串了,還想什麼啊,把那字串copy下來啊。
保護你的DLL和Code不被別人使用
大家做專案開發一般都是分層的,比如ui層,業務層,資料訪問層。業務層引用資料訪問層的dll 比如dataaccess.dll 並使用dataaccess.dll中的方法。當專案完成並給客戶用了,可有些心裡bt的客戶這個時候也可以請個稍微懂net的人來引用你的dataaccess.dll並呼叫其中的方...
保護你的DLL和Code不被別人使用。
大家做專案開發一般都是分層的,比如ui層,業務層,資料訪問層。業務層引用資料訪問層的dll 比如dataaccess.dll 並使用dataaccess.dll中的方法。當專案完成並給客戶用了,可有些心裡bt的客戶這個時候也可以請個稍微懂net的人來引用你的dataaccess.dll並呼叫其中的方...
如何保護你的計算機不被惡意軟體勒索
不知你是否遇到過像cyptolocker這種陰損毒辣的惡意軟體 限制被感染的計算機,並要求受害者支付贖金後返還控制權。英國國家犯罪局已經發出了國家緊急警報,見johnchu同學的報道 1千萬英國使用者被cryptolocker勒索軟體瞄準 很明顯我們遇到了乙個很老套的話題 如果我們的計算機被攻破,該...