C# .net 语言加密方案

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
    });
}

架构支持

  1. IIS 服务架构的后台逻辑 DLL 文件
  2. windows PC 应用程序 EXE 文件
  3. windows PC 应用程序动态库 DLL 文件
  4. UG等第三方绘图工具使用的 DLL 文件
  5. Unity3d 编译使用的 DLL 文件

技术服务支持

深思提供每周一至周五 9:00 ~ 20:00,每周六 10:00 ~ 19:00的技术支持服务。 联系电话:010-56730936 邮箱:[email protected]

网址:https://www.sense.com.cn/vps/index.html

猜你喜欢

转载自blog.csdn.net/senseshield/article/details/83545940