我試圖創建一個軟件,允許用戶登錄和流式傳輸一個dll的字節[]用於注入。例如我是否應該擔心我的軟件被反編譯?
public static byte[] getDLL()
{
using (WebClient wc = new WebClient())
{
Uri url = new Uri("http://mysite/dll.dll");
return wc.DownloadData(url);
}
}
我成功設法使用visual studio在C#中做到這一點。但是,您可以輕鬆地反編譯該程序,並使其在您的計算機上的特定位置創建DLL,從而泄漏它。而且我幾乎沒有辦法阻止這種情況發生。
我會更好地使用一種難以反編譯的語言,比如說C++或C,或者我只是想碰到同樣的問題,我使用的是什麼語言?這真的值得付出嗎?
任何運行在用戶機器上的軟件都可以被反編譯/被黑客入侵如果他們有足夠的知識和動機,則由用戶/ /等等。你可以讓它變得更難,但並非不可能。 – TheUndeadFish
你是什麼意思通過蒸汽一個DLL的字節[]?加載DLL並從中獲取一個字節數組?你擔心的是有人用另一個返回不同的字節替換DLL?也許你正在尋找的解決方案是代碼簽名,你知道你加載的DLL是你的。我想象的另一個潛在的含義是,您關心的是其他人打開您的DLL並獲取數據而無需通過您的前端應用程序。解決這個問題的方法是模糊處理,再加上應用程序和DLL之間的非握手協商。 DRM概率。 – harningt
嗨,哈寧特感謝您的回覆。我用代碼片段更新了這篇文章,希望能夠展示我的意思。我正在使用下載的dll中的byte []注入進程。 –