如何使用.net_reactor?

时间:2018-09-13 03:12:39

标签: .net visual-studio reactor

有人使用过.net_reactor来保护代码吗? 我已经保护了可执行程序集,但是以某种方式没有许可证文件,我仍然设法运行可执行程序

enter image description here

enter image description here

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

enter image description here

enter image description here

我还使用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的以下输出:

enter image description here

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

许可证文件也已生成。

enter image description here

2 个答案:

答案 0 :(得分:0)

我以前使用过.net反应器,这很有意义,您的代码仍然可以运行。

取决于您尝试完成代码的方式,它可以运行。使用.net反应堆的主要原因是混淆您的代码。混淆不会阻止您的代码运行,只会使您的代码更难以反编译。

如果要锁定组件,请确保遵循.net反应器的文档进行此过程。仅运行.net反应堆不会锁定组件。请参阅-http://www.eziriz.com/help/source/quick_lock.html

答案 1 :(得分:0)

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

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