命令行参数
.NET Reactor 是用于为.NET Framework编写的软件的功能强大的代码保护和软件许可系统,并且支持生成.NET程序集的所有语言。主要功能特点:知识产权保护、强大的许可系统、软件开发工具包以及部署。支持对所有.NET产品的保护。
您还可以通过命令行参数访问 .NET Reactor 的功能:
(在大多数情况下,您不需要研究此页面,因为您可以通过 .NET Reactor 菜单项“ Command-line'>'Generate Command-line”轻松创建参数。)
一般论点 | 描述 |
---|---|
-文件[文件] | 主程序集的文件名。 |
-图标[文件] | 如果您想为应用程序使用不同的图标,您需要在此处设置图标的路径。 |
-领有牌照 | 如果 .NET Reactor 未作为完整版本运行,则不会保护任何文件,并且 .NET Reactor 将返回返回/退出代码 101。 |
-日志文件[文件] | 将所有重要事件(成功保护和错误消息)写入指定文件。 |
-masterkey [文本] | 主密钥(仅用于锁定设置)。 |
-masterkeyfile [文件] | 主密钥文件的路径(仅用于锁定设置)。 |
-嵌入[1|0] |
嵌入程序集。 [1] = 启用 [0] = 禁用{默认} |
合并[1|0] |
合并程序集。 [1] = 启用 [0] = 禁用{默认} |
-单声道[1|0] |
如果您的程序集面向 Mono,请启用此选项。 [1] = 启用 [0] = 禁用{默认} |
-项目[文件] | .NET Reactor 项目文件的路径(也包含主密钥)。 |
-安静的] | 指定安静模式;禁止显示成功消息 |
-文件[lib/lib] |
请在此处定义其他文件。如果设置了“-embed 1”或“-merge 1”,则附加文件将嵌入到您的应用程序中或直接与主程序集合并。如果“-embed 1”和“-merge 1”均未设置,则附加文件(仅*.dll 和*.exe 文件)将受到单独保护。 [库/库] 例如“C:\lib1.dll/C:\lib2.dll/C:\lib3.dll” |
-snkeypair [文件] | 强名称密钥对文件 (.snk/.pfx) |
-snpassword [文本] | 强名称密钥对文件密码 |
-目标文件[文件] | 目标文件应留空,除非您想指定受保护输出的位置。 |
论点 | |
1. General Settings | |
Application Settings | |
Automatic Exception Handling | |
-异常处理[1|0] |
如果您不希望受保护的应用程序自动捕获异常,请将此选项设置为 False(“0”)。 [1] = 启用{默认} [0] = 禁用 |
Compression | |
-压缩[1|0] |
如果设置为 True("1"),如果您提供代码供 Internet 下载,.NET Reactor 将压缩您的 .exe 文件和嵌入文件,从而节省磁盘空间和带宽。 [1] = 启用{默认} [0] = 禁用 |
Show Loading Screen | |
-显示加载屏幕[1|0] |
启用/禁用加载屏幕 [1] = 启用 [0] = 禁用{默认} |
Digital Certificate | |
PVK Filename | |
-pvkfile [文件] | 私钥文件。 |
PFX/PVK Password | |
-pvk密码[文本] | 私钥文件密码。 |
PFX/SPC File Name | |
-spcfile [文件] | 软件发行商证书文件。 |
Enable Visual Styles | |
-视觉风格[1|0] |
如果您希望使用视觉样式(这是 Windows Xp 和 Windows Vista 的一项功能),则需要将此选项设置为 True。如果设置为 false,则程序集中启用视觉样式的任何尝试都将无效。 [1] = 启用{自动选择} [0] = 禁用{自动选择} |
Force Admin Privileges | |
-管理员[1|0] |
如果您的软件在 Windows Vista/7 下需要管理员权限,则需要将此选项设置为 true。在这种情况下,Windows Vista/7 中会显示同意对话框。 [1] = 启用 [0] = 禁用{默认} |
rge Assemblies | |
-合并[1|0] |
合并程序集 [1] = 启用 [0] = 禁用{默认} |
Pack Assemblies | |
-嵌入[1|0] |
嵌入程序集 [1] = 启用 [0] = 禁用{默认} |
Strong Name | |
KeyPair File | |
-snkeypair [文件] | 强名称密钥对文件 (.snk/.pfx) |
KeyPair Password | |
-snpassword [文本] | 强名称密钥对文件密码 |
Target File | |
-目标文件[文件] | .NET Reactor 创建一个包含受保护程序集的新文件。该字段允许您指定该文件的路径和名称。如果留空,.NET Reactor 会将新文件写入默认位置。 |
2. Protection Settings | |
Anti Tampering | |
-抗压[1|0] |
此选项可防止受保护的程序集被黑客工具篡改。 [1] = 启用 [0] = 禁用{默认} |
Control Flow Obfuscation | |
-control_flow_obfuscation [1 | 0] |
启用“控制流混淆”来破坏程序流程,使人类很难理解程序逻辑。大多数反编译器无法反编译控制流混淆方法。 [1] = 启用 [0] = 禁用{默认} |
Control Flow Obfuscation Level | |
-flow_level [1/2/3/4/5/6/7/8/9] | 此选项使您能够控制控制流混淆的级别。“1”代表控制流混淆的最低级别,“9”{默认}代表最强级别。 |
Native EXE File | |
-nativeexe [1|0] |
.NET Reactor 能够为您的应用程序生成本机 x86 EXE 文件存根。这样就不可能在反编译器中直接打开受保护的应用程序。反编译器将受保护的应用程序识别为本机 EXE 文件。 [1] = 启用 [0] = 禁用{默认} |
NecroBit Protection | |
-necrobit [1|0] |
启用此选项可使用 NecroBit 保护。NecroBit 可与应用程序和库保护模式一起使用。在库保护模式下,将创建一个附加文件。 [1] = 启用 [0] = 禁用{默认} |
NecroBit/Reflection Compatibility Mode | |
-necrobit_comp [1 | 0] |
如果您对 NecroBit 受保护库的反射有问题,您应该启用此选项。 [1] = 启用 [0] = 禁用{默认} |
Obfuscation | |
Create Mapping File | |
-映射文件[1|0] |
启用映射文件以创建一个文件,该文件交叉引用未混淆的名称与混淆的名称,该文件由堆栈跟踪反混淆器使用。 [1] = 启用 [0] = 禁用{默认} |
-混淆[1|0] |
启用此选项可以混淆所有非公共类和成员名称。 [1] = 启用{默认} [0] = 禁用 |
Incremental Obfuscation | |
-增量混淆[1|0] |
如果您希望 .NET Reactor 始终为您的类型和成员名称生成相同的混淆字符串,则需要启用此选项。 [1] = 启用 [0] = 禁用{默认} |
Exclusions | |
-exclude_enums [1 | 0] |
排除 - 枚举 [1] = 启用 [0] = 禁用{默认} |
-排除事件[1|0] |
排除 - 事件 [1] = 启用 [0] = 禁用{默认} |
-排除字段[1|0] |
排除 - 字段 [1] = 启用 [0] = 禁用{默认} |
-exclude_methods [1 | 0] |
排除 - 方法 [1] = 启用 [0] = 禁用{默认} |
-排除属性[1|0] |
排除 - 属性 [1] = 启用 [0] = 禁用{默认} |
-排除类型[1|0] |
排除 - 类型 [1] = 启用 [0] = 禁用{默认} |
-排除_可序列化_类型[1 | 0] |
禁用此选项可防止可序列化类型混淆。 [1] = 启用 [0] = 禁用{默认} |
-正则表达式[文本] | 排除 - 正则表达式 |
Obfuscate Public Types | |
-obfuscate_public_types [1|0] |
启用此选项可以混淆程序集中的所有类型和成员名称。 [1] = 启用 [0] = 禁用{默认} |
Use Uprintable Characters | |
-不可打印字符[1|0] |
不可打印字符使用不可打印字符串来混淆类型和成员名称,但如果程序集必须作为安全代码运行,则不能使用不可打印字符。 [1] = 启用 [0] = 禁用{默认} |
Public Types Internalization | |
-内化[1|0] |
如果启用,.NET Reactor 会将应用程序的所有公共类型转换为内部类型。这样,类型和成员的可访问性就会降低。 [1] = 启用 [0] = 禁用{默认} |
Filter | |
-internalization_filter [文本] |
定义您想要公开或内部的类型。 示例: -internalization_filter "[internal] ;[public][MyAssembly]MyNamespace. ;[internal][MyAssembly]MyNamespace2.MyType" |
Pre-JIT Methods | |
-prejit [1|0] |
结合本机 EXE 文件功能和 NecroBit,.NET Reactor 能够将托管方法转换为真正的 x86 本机代码。只有不影响运行时和平台行为的方法(主要是属性 getter/setter 等小方法...)才会转换为本机代码。从本质上讲,此功能具有针对程序集修改的内置保护。 [1] = 启用 [0] = 禁用{默认} |
Resource Encryption & Compression | |
-资源加密[1|0] |
启用此选项可压缩和加密嵌入资源。 [1] = 启用 [0] = 禁用{默认} |
Compression Method | |
-资源压缩[值] |
选择压缩方法。“最快”的压缩效果较差,但速度非常快。“最大压缩”提供最好的保护,但它是最慢的压缩方法。“NoCompression”根本不应用压缩。 [nocompression] = 不应用压缩 [fastest] = 提供较差的压缩,但速度非常快 [fast] [normal] {默认} [good] [max] = 提供最好的保护,但它是最慢的压缩方法 示例: -资源压缩好 |
String Encryption | |
-字符串加密[1|0] |
字符串加密会隐藏内部文本,使破译 CIL 的交互变得更加困难。 [1] = 启用{默认} [0] = 禁用 |
Strong Name Removal Protection | |
-反强[1|0] |
此选项启用反强名称删除技术,防止受保护的程序集被黑客工具篡改。警告,此选项可能会影响受保护程序集的运行时性能! [1] = 启用 [0] = 禁用{默认} |
Anti ILDASM/Suppress Decompilation | |
-抑制希尔达斯姆[1|0] |
启用此选项可禁止使用 ildasm.exe 工具反汇编为 IL。即使此选项设置为 FALSE,您的源代码仍然是安全的! [1] = 启用{默认} [0] = 禁用 |
3. Lock Settings | |
Expire When All Expired | |
-许可行为[1|0] |
当设置为 True("1") 时,仅当所有其他启用的锁都已过期时,才会导致程序集过期。当设置为 False 时,当任何一个锁过期时,程序集就会过期。 [1] = 启用{默认} [0] = 禁用 |
Inbuilt Lock - Eveluation Period | |
-评估启用[1|0] |
评估期锁定允许创建应用程序的试用版本,以多种方式(试用或运行时)限制试用版的使用。 [1] = 启用 [0] = 禁用{默认} |
Evaluation Type | |
-评估类型[试用| 运行] |
在试用版和运行时之间进行选择 [试用] = 试用版 {默认} [运行时] = 运行时 |
Time | |
-时间[数字] | 指定评估期的天数或分钟数。 |
Dialog | |
-显示评估周期屏幕[0|1] | 启用此选项可在评估期到期时显示消息屏幕。 |
Message | |
-评估消息[文本] | 评估期已过期消息。 |
内置锁 - 有效期 | |
-expirationdate_enable [1|0] |
到期日期锁定允许您指定应用程序到期的确切日期。 [1] = 启用 [0] = 禁用{默认} |
Expiration Date | |
- 到期日期[年/月/日] | 选择一天。您的内置许可证截至今日仍然有效。这一天之后,您的客户将需要新的许可证文件。[年/月/日] 例如“2023/1/15” |
Dialog | |
**-显示过期日期屏幕 **[1|0] | 指定在到达到期日期时是否应向用户显示对话框。 |
Message | |
-过期日期消息[文本] | 信息 |
Inbuilt Lock - Number Of Uses | |
-number_of_uses_enable [1|0] | 如果启用此锁定,则会导致您的应用程序在指定的使用次数后过期。[1] = 启用[0] = 禁用{默认} |
Uses | |
-number_of_uses [数量] | 指定用户在应用程序过期之前可以运行应用程序的次数。 |
Dialog | |
-显示屏幕使用数量[1|0] |
指定当您的应用程序已使用指定次数时是否应向用户显示对话框。 [1] = 启用{默认} [0] = 禁用 |
Message | |
-过期日期消息[文本] | 信息 |
License Not Found Screen | |
-显示未找到屏幕[1|0] |
启用/禁用屏幕 [1] = 启用{默认} [0] = 禁用 |
Message | |
-无效许可证消息[文本] | 未找到许可证文件(如果“无许可证运行”设置为 false)时发出的消息文本已找到,但已损坏或无效。 |
Max Number Of Instances | |
-实例数启用[1|0] |
最大实例数锁定允许您指定允许用户同时启动的应用程序副本的最大数量。请注意,超过指定的实例数量不会导致您的应用程序过期。 [1] = 启用 [0] = 禁用{默认} |
Instances | |
-实例数量 [数量] | 最大实例数。 |
Dialog | |
-实例数量屏幕[1|0] |
指定当用户尝试运行超过指定数量的应用程序实例时是否应向用户显示对话框。 [1] = 启用{默认} [0] = 禁用 |
Message | |
-实例数消息[文本] | 信息 |
Nag Screen | |
-shownagscreen [1 | 0] |
启用/禁用 NagScreen [1] = 启用 [0] = 禁用{默认} |
Message | |
-nagmessage [文本] | 您可以在此处设置导航屏幕的消息。 |
XDays | |
-xdays [数字] | .NET Reactor 可以在每次启动应用程序时显示 nag 屏幕(在这种情况下,将此选项的值设置为 -1{default}),也可以在评估期或到期日期结束前的指定天数显示 nag 屏幕。 |
Run Another Process After Expiration | |
-run_another_process [文本] | 到期后打开或启动另一个应用程序、文件或网站。通常用于将评估用户发送到网页。 |
Run Without License File | |
-run_without_licensefile [1|0] |
设置为 false(0) 需要有效的操作许可证。如果为 true,则启用已启用的内置锁。如果找到有效的许可证文件,则内置锁设置将被许可证文件设置覆盖。 [1] = 启用{默认} [0] = 禁用 |
Shutdown Process After Expiration | |
-shutdown_process [1 | 0] |
到期时终止正在运行的进程。 [1] = 启用{默认} [0] = 禁用 |
Static License FileName | |
-静态许可证文件名[文件名] | 指定许可证文件名或扩展名 (*.myextension)。留空以允许 .NET Reactor 根据程序集名称确定 *.license 文件名。为了避免与扩展许可证行为的可选方法发生冲突,二进制 .NET Reactor 许可证不使用为 .NET 许可证类保留的 .LIC 扩展名。 |
V3 Licensing Mode | |
-v3模式[1|0] | .NET Reactor v3.x 使用新的加密技术,该技术不向后兼容以前版本的 .NET Reactor。将此选项设置为 True 以使用 .NET Reactor v3 许可证加密技术,或设置为 False 以使用 V2.x 兼容加密方法。 |
4. Dialog Settings | |
Dialog Box Interface | |
-dialogbox_interface [文件] | 使用可通过 SDK 构建的可自定义对话框。请在此处设置对话框的全名(例如MyNamespace.MyDialogBox)。请检查 SDK 以获取更多信息。 |
Dialog Caption | |
-消息标题[文本] | 这是可以显示的所有消息表单的标题。 |
Gradient Color Begin | |
-gradcolorbegin [r/g/b] | 消息窗口的渐变颜色。<红/绿/蓝> 例如“212/15/128” |
Gradient Color End | |
-gradcolorend [r/g/b] | 消息窗口的渐变颜色。<红/绿/蓝> 例如“212/15/128” |
组合示例:
dotNET_Reactor.Console.exe -文件“c:\testapp.exe”
dotNET_Reactor.Console.exe -文件“c:\testlib.dll”
dotNET_Reactor.Console.exe -项目“c:\projx.nrproj”
dotNET_Reactor.Console.exe -project "c:\projx.nrproj" -masterkeyfile "c:\masterkey.mkey"
dotNET_Reactor.Console.exe -文件“c:\testapp.exe”-项目“c:\projx.nrproj”
dotNET_Reactor.Console.exe -文件“c:\testapp.exe”-项目“c:\projx.nrproj”-q
dotNET_Reactor.Console.exe -文件“c:\ testapp.exe” -evaluationenable 1 -evaluationtype Trial -time 14
dotNET_Reactor.Console.exe -文件“c:\testapp.exe”-showloadingscreen 0