首页 > 解决方案 > 如何使用.net_reactor?

问题描述

有人用过 .net_reactor 来保护代码吗?我已经保护了可执行程序集,但不知何故没有许可证文件,我仍然设法运行可执行文件

在此处输入图像描述

在此处输入图像描述

尝试示例项目,输出如下:

在此处输入图像描述

在此处输入图像描述

我还使用 SDK 创建了一个示例项目,以获取不同参数值的值,如下所示:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using License;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            string HardwareID;
            string HardwareIDLicense;
            InitializeComponent();
            HardwareID=License.Status.GetHardwareID(true, true, true, false);

            HardwareIDLicense = License.Status.License_HardwareID;
            MessageBox.Show("HardwareID" + HardwareID);
            MessageBox.Show("HardwaeIDLicense" + HardwareIDLicense);
        }
    }
}

我得到了 HardwareIDLicense 的以下输出:

在此处输入图像描述

它是空的:有人知道为什么吗?我需要设置什么?

许可证文件也已生成。

在此处输入图像描述

标签: .netvisual-studioreactor

解决方案


如果您使用 .NET Reactor Visual Studio 插件自动保护您的软件,您应该检查“项目输出是部署项目的一部分”。这样编译后的文件将直接替换为受保护的文件。否则,受保护的文件将被复制到“..._secure”子目录中。如果您直接从 _secure 子目录运行受保护的应用程序,它应该会显示硬件 ID。

SDK 库 License.dll 只是一个虚拟程序集,不包含真正的许可和硬件 ID 代码。License.dll 的唯一目的是在您编译的软件中进行引用。然后在保护时,.NET Reactor 替换引用并注入真实代码。这就是为什么它只有在保护后才能正常工作的原因。因此,实际执行受保护的文件非常重要。


推荐阅读