保護你的DLL和Code不被別人使用

2021-04-16 02:03:01 字數 1310 閱讀 6841

大家做專案開發一般都是分層的,比如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勒索軟體瞄準 很明顯我們遇到了乙個很老套的話題 如果我們的計算機被攻破,該...