C# .net 語言加密方案
阿新 • • 發佈:2018-11-14
C# .net 語言加密方案
方案背景
當前C# .net語言的應用範圍越來越廣泛,IIS 的伺服器架構後臺程式碼、桌面應用程式的 winform 、Unity3d 的邏輯指令碼都在使用。C# .net 具備強大的便捷特性,使得開發成本極低。而作為一款.net 語言,也有它讓開發商頭疼的弊病——非常容易被反編譯。市面上的 Dnspy, ILspy,de4dot等工具可以非常容易反編譯出被混淆保護的C# .net 程式。
解決方案
深思自主研發了為 C# .net 語言做保護的外殼Virbox Protector。將C# .net 編譯成的執行程式(.exe),動態庫(.dll)直接拖入加殼工具即可完成保護操作,十分方便。並且在效果上已經完全看不到原始碼中的邏輯。 未經深思加殼保護的 ILspy 反編譯效果如下:
public int add(int a, int b)
{
return a + b;
}
public int div(int a, int b)
{
return a / b;
}
public int mul(int a, int b)
{
return a * b;
}
public int sub(int a, int b)
{
return a - b;
}
經深思加殼保護的 ILspy 反編譯效果如下:
public int add(int a, int b) { return (int)dm.dynamic_method((object)this, System.Reflection.MethodBase.GetCurrentMethod(), 16416u, 21, 16384u, 32u, 31516u, 5).Invoke(this, new object[] { this, a, b }); } public int div(int a, int b) { return (int)dm.dynamic_method((object)this, System.Reflection.MethodBase.GetCurrentMethod(), 16956u, 21, 16924u, 32u, 31516u, 2).Invoke(this, new object[] { this, a, b }); } public int mul(int a, int b) { return (int)dm.dynamic_method((object)this, System.Reflection.MethodBase.GetCurrentMethod(), 16776u, 21, 16744u, 32u, 31516u, 3).Invoke(this, new object[] { this, a, b }); } public int sub(int a, int b) { return (int)dm.dynamic_method((object)this, System.Reflection.MethodBase.GetCurrentMethod(), 16596u, 21, 16564u, 32u, 31516u, 4).Invoke(this, new object[] { this, a, b }); }
架構支援
- IIS 服務架構的後臺邏輯 DLL 檔案
- windows PC 應用程式 EXE 檔案
- windows PC 應用程式動態庫 DLL 檔案
- UG等第三方繪圖工具使用的 DLL 檔案
- Unity3d 編譯使用的 DLL 檔案
技術服務支援
深思提供每週一至週五 9:00 ~ 20:00,每週六 10:00 ~ 19:00的技術支援服務。 聯絡電話:010-56730936 郵箱:[email protected]