1. 程式人生 > >讓c#的exe只要被修改就無法執行,支援混淆和數字證書

讓c#的exe只要被修改就無法執行,支援混淆和數字證書

原理是在桌面程式的zone是mycomputer,是完全信任的,所以就有一個強名稱跳過,這些程式碼是建一個Intranet的appdomain,不是完全信任的,所以就會檢查強名稱,這個appdomain是空的,目的不是為了執行裡面的內容而是為了讓.net去檢查強名稱,什麼時候執行到這些程式碼什麼時候就會出錯,所以要放到main下面第一句,如果通過檢查不會影響後面的正常程式碼。在.net4中上面程式碼可以更簡單,有個沙盒GetStandardSandbox,但是2和3中沒有,就不通用了,而這樣無論234都通用,所以4會報某些方法過時,不去管它。