命令行參數(shù)
.NET Reactor 是用于為.NET Framework編寫的軟件的功能強(qiáng)大的代碼保護(hù)和軟件許可系統(tǒng),并且支持生成.NET程序集的所有語言。主要功能特點(diǎn):知識產(chǎn)權(quán)保護(hù)、強(qiáng)大的許可系統(tǒng)、軟件開發(fā)工具包以及部署。支持對所有.NET產(chǎn)品的保護(hù)。
您還可以通過命令行參數(shù)訪問 .NET Reactor 的功能:
(在大多數(shù)情況下,您不需要研究此頁面,因?yàn)槟梢酝ㄟ^ .NET Reactor 菜單項(xiàng)“ Command-line'>'Generate Command-line”輕松創(chuàng)建參數(shù)。)
一般論點(diǎn) | 描述 |
---|---|
-文件[文件] | 主程序集的文件名。 |
-圖標(biāo)[文件] | 如果您想為應(yīng)用程序使用不同的圖標(biāo),您需要在此處設(shè)置圖標(biāo)的路徑。 |
-領(lǐng)有牌照 | 如果 .NET Reactor 未作為完整版本運(yùn)行,則不會(huì)保護(hù)任何文件,并且 .NET Reactor 將返回返回/退出代碼 101。 |
-日志文件[文件] | 將所有重要事件(成功保護(hù)和錯(cuò)誤消息)寫入指定文件。 |
-masterkey [文本] | 主密鑰(僅用于鎖定設(shè)置)。 |
-masterkeyfile [文件] | 主密鑰文件的路徑(僅用于鎖定設(shè)置)。 |
-嵌入[1|0] |
嵌入程序集。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
合并[1|0] |
合并程序集。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-單聲道[1|0] |
如果您的程序集面向 Mono,請啟用此選項(xiàng)。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-項(xiàng)目[文件] | .NET Reactor 項(xiàng)目文件的路徑(也包含主密鑰)。 |
-安靜的] | 指定安靜模式;禁止顯示成功消息 |
-文件[lib/lib] |
請?jiān)诖颂幎x其他文件。如果設(shè)置了“-embed 1”或“-merge 1”,則附加文件將嵌入到您的應(yīng)用程序中或直接與主程序集合并。如果“-embed 1”和“-merge 1”均未設(shè)置,則附加文件(僅*.dll 和*.exe 文件)將受到單獨(dú)保護(hù)。 [庫/庫] 例如“C:\lib1.dll/C:\lib2.dll/C:\lib3.dll” |
-snkeypair [文件] | 強(qiáng)名稱密鑰對文件 (.snk/.pfx) |
-snpassword [文本] | 強(qiáng)名稱密鑰對文件密碼 |
-目標(biāo)文件[文件] | 目標(biāo)文件應(yīng)留空,除非您想指定受保護(hù)輸出的位置。 |
論點(diǎn) | |
1. General Settings | |
Application Settings | |
Automatic Exception Handling | |
-異常處理[1|0] |
如果您不希望受保護(hù)的應(yīng)用程序自動(dòng)捕獲異常,請將此選項(xiàng)設(shè)置為 False(“0”)。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Compression | |
-壓縮[1|0] |
如果設(shè)置為 True("1"),如果您提供代碼供 Internet 下載,.NET Reactor 將壓縮您的 .exe 文件和嵌入文件,從而節(jié)省磁盤空間和帶寬。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Show Loading Screen | |
-顯示加載屏幕[1|0] |
啟用/禁用加載屏幕 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Digital Certificate | |
PVK Filename | |
-pvkfile [文件] | 私鑰文件。 |
PFX/PVK Password | |
-pvk密碼[文本] | 私鑰文件密碼。 |
PFX/SPC File Name | |
-spcfile [文件] | 軟件發(fā)行商證書文件。 |
Enable Visual Styles | |
-視覺風(fēng)格[1|0] |
如果您希望使用視覺樣式(這是 Windows Xp 和 Windows Vista 的一項(xiàng)功能),則需要將此選項(xiàng)設(shè)置為 True。如果設(shè)置為 false,則程序集中啟用視覺樣式的任何嘗試都將無效。 [1] = 啟用{自動(dòng)選擇} [0] = 禁用{自動(dòng)選擇} |
Force Admin Privileges | |
-管理員[1|0] |
如果您的軟件在 Windows Vista/7 下需要管理員權(quán)限,則需要將此選項(xiàng)設(shè)置為 true。在這種情況下,Windows Vista/7 中會(huì)顯示同意對話框。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
rge Assemblies | |
-合并[1|0] |
合并程序集 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Pack Assemblies | |
-嵌入[1|0] |
嵌入程序集 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Strong Name | |
KeyPair File | |
-snkeypair [文件] | 強(qiáng)名稱密鑰對文件 (.snk/.pfx) |
KeyPair Password | |
-snpassword [文本] | 強(qiáng)名稱密鑰對文件密碼 |
Target File | |
-目標(biāo)文件[文件] | .NET Reactor 創(chuàng)建一個(gè)包含受保護(hù)程序集的新文件。該字段允許您指定該文件的路徑和名稱。如果留空,.NET Reactor 會(huì)將新文件寫入默認(rèn)位置。 |
2. Protection Settings | |
Anti Tampering | |
-抗壓[1|0] |
此選項(xiàng)可防止受保護(hù)的程序集被黑客工具篡改。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Control Flow Obfuscation | |
-control_flow_obfuscation [1 | 0] |
啟用“控制流混淆”來破壞程序流程,使人類很難理解程序邏輯。大多數(shù)反編譯器無法反編譯控制流混淆方法。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Control Flow Obfuscation Level | |
-flow_level [1/2/3/4/5/6/7/8/9] | 此選項(xiàng)使您能夠控制控制流混淆的級別。“1”代表控制流混淆的最低級別,“9”{默認(rèn)}代表最強(qiáng)級別。 |
Native EXE File | |
-nativeexe [1|0] |
.NET Reactor 能夠?yàn)槟膽?yīng)用程序生成本機(jī) x86 EXE 文件存根。這樣就不可能在反編譯器中直接打開受保護(hù)的應(yīng)用程序。反編譯器將受保護(hù)的應(yīng)用程序識別為本機(jī) EXE 文件。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
NecroBit Protection | |
-necrobit [1|0] |
啟用此選項(xiàng)可使用 NecroBit 保護(hù)。NecroBit 可與應(yīng)用程序和庫保護(hù)模式一起使用。在庫保護(hù)模式下,將創(chuàng)建一個(gè)附加文件。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
NecroBit/Reflection Compatibility Mode | |
-necrobit_comp [1 | 0] |
如果您對 NecroBit 受保護(hù)庫的反射有問題,您應(yīng)該啟用此選項(xiàng)。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Obfuscation | |
Create Mapping File | |
-映射文件[1|0] |
啟用映射文件以創(chuàng)建一個(gè)文件,該文件交叉引用未混淆的名稱與混淆的名稱,該文件由堆棧跟蹤反混淆器使用。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-混淆[1|0] |
啟用此選項(xiàng)可以混淆所有非公共類和成員名稱。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Incremental Obfuscation | |
-增量混淆[1|0] |
如果您希望 .NET Reactor 始終為您的類型和成員名稱生成相同的混淆字符串,則需要啟用此選項(xiàng)。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Exclusions | |
-exclude_enums [1 | 0] |
排除 - 枚舉 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-排除事件[1|0] |
排除 - 事件 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-排除字段[1|0] |
排除 - 字段 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-exclude_methods [1 | 0] |
排除 - 方法 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-排除屬性[1|0] |
排除 - 屬性 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-排除類型[1|0] |
排除 - 類型 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-排除_可序列化_類型[1 | 0] |
禁用此選項(xiàng)可防止可序列化類型混淆。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
-正則表達(dá)式[文本] | 排除 - 正則表達(dá)式 |
Obfuscate Public Types | |
-obfuscate_public_types [1|0] |
啟用此選項(xiàng)可以混淆程序集中的所有類型和成員名稱。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Use Uprintable Characters | |
-不可打印字符[1|0] |
不可打印字符使用不可打印字符串來混淆類型和成員名稱,但如果程序集必須作為安全代碼運(yùn)行,則不能使用不可打印字符。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Public Types Internalization | |
-內(nèi)化[1|0] |
如果啟用,.NET Reactor 會(huì)將應(yīng)用程序的所有公共類型轉(zhuǎn)換為內(nèi)部類型。這樣,類型和成員的可訪問性就會(huì)降低。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Filter | |
-internalization_filter [文本] |
定義您想要公開或內(nèi)部的類型。 示例: -internalization_filter "[internal] ;[public][MyAssembly]MyNamespace. ;[internal][MyAssembly]MyNamespace2.MyType" |
Pre-JIT Methods | |
-prejit [1|0] |
結(jié)合本機(jī) EXE 文件功能和 NecroBit,.NET Reactor 能夠?qū)⑼泄芊椒ㄞD(zhuǎn)換為真正的 x86 本機(jī)代碼。只有不影響運(yùn)行時(shí)和平臺行為的方法(主要是屬性 getter/setter 等小方法...)才會(huì)轉(zhuǎn)換為本機(jī)代碼。從本質(zhì)上講,此功能具有針對程序集修改的內(nèi)置保護(hù)。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Resource Encryption & Compression | |
-資源加密[1|0] |
啟用此選項(xiàng)可壓縮和加密嵌入資源。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Compression Method | |
-資源壓縮[值] |
選擇壓縮方法?!白羁臁钡膲嚎s效果較差,但速度非常快。“最大壓縮”提供最好的保護(hù),但它是最慢的壓縮方法?!癗oCompression”根本不應(yīng)用壓縮。 [nocompression] = 不應(yīng)用壓縮 [fastest] = 提供較差的壓縮,但速度非常快 [fast] [normal] {默認(rèn)} [good] [max] = 提供最好的保護(hù),但它是最慢的壓縮方法 示例: -資源壓縮好 |
String Encryption | |
-字符串加密[1|0] |
字符串加密會(huì)隱藏內(nèi)部文本,使破譯 CIL 的交互變得更加困難。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Strong Name Removal Protection | |
-反強(qiáng)[1|0] |
此選項(xiàng)啟用反強(qiáng)名稱刪除技術(shù),防止受保護(hù)的程序集被黑客工具篡改。警告,此選項(xiàng)可能會(huì)影響受保護(hù)程序集的運(yùn)行時(shí)性能! [1] = 啟用 [0] = 禁用{默認(rèn)} |
Anti ILDASM/Suppress Decompilation | |
-抑制希爾達(dá)斯姆[1|0] |
啟用此選項(xiàng)可禁止使用 ildasm.exe 工具反匯編為 IL。即使此選項(xiàng)設(shè)置為 FALSE,您的源代碼仍然是安全的! [1] = 啟用{默認(rèn)} [0] = 禁用 |
3. Lock Settings | |
Expire When All Expired | |
-許可行為[1|0] |
當(dāng)設(shè)置為 True("1") 時(shí),僅當(dāng)所有其他啟用的鎖都已過期時(shí),才會(huì)導(dǎo)致程序集過期。當(dāng)設(shè)置為 False 時(shí),當(dāng)任何一個(gè)鎖過期時(shí),程序集就會(huì)過期。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Inbuilt Lock - Eveluation Period | |
-評估啟用[1|0] |
評估期鎖定允許創(chuàng)建應(yīng)用程序的試用版本,以多種方式(試用或運(yùn)行時(shí))限制試用版的使用。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Evaluation Type | |
-評估類型[試用| 運(yùn)行] |
在試用版和運(yùn)行時(shí)之間進(jìn)行選擇 [試用] = 試用版 {默認(rèn)} [運(yùn)行時(shí)] = 運(yùn)行時(shí) |
Time | |
-時(shí)間[數(shù)字] | 指定評估期的天數(shù)或分鐘數(shù)。 |
Dialog | |
-顯示評估周期屏幕[0|1] | 啟用此選項(xiàng)可在評估期到期時(shí)顯示消息屏幕。 |
Message | |
-評估消息[文本] | 評估期已過期消息。 |
內(nèi)置鎖 - 有效期 | |
-expirationdate_enable [1|0] |
到期日期鎖定允許您指定應(yīng)用程序到期的確切日期。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Expiration Date | |
- 到期日期[年/月/日] | 選擇一天。您的內(nèi)置許可證截至今日仍然有效。這一天之后,您的客戶將需要新的許可證文件。[年/月/日] 例如“2023/1/15” |
Dialog | |
**-顯示過期日期屏幕 **[1|0] | 指定在到達(dá)到期日期時(shí)是否應(yīng)向用戶顯示對話框。 |
Message | |
-過期日期消息[文本] | 信息 |
Inbuilt Lock - Number Of Uses | |
-number_of_uses_enable [1|0] | 如果啟用此鎖定,則會(huì)導(dǎo)致您的應(yīng)用程序在指定的使用次數(shù)后過期。[1] = 啟用[0] = 禁用{默認(rèn)} |
Uses | |
-number_of_uses [數(shù)量] | 指定用戶在應(yīng)用程序過期之前可以運(yùn)行應(yīng)用程序的次數(shù)。 |
Dialog | |
-顯示屏幕使用數(shù)量[1|0] |
指定當(dāng)您的應(yīng)用程序已使用指定次數(shù)時(shí)是否應(yīng)向用戶顯示對話框。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Message | |
-過期日期消息[文本] | 信息 |
License Not Found Screen | |
-顯示未找到屏幕[1|0] |
啟用/禁用屏幕 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Message | |
-無效許可證消息[文本] | 未找到許可證文件(如果“無許可證運(yùn)行”設(shè)置為 false)時(shí)發(fā)出的消息文本已找到,但已損壞或無效。 |
Max Number Of Instances | |
-實(shí)例數(shù)啟用[1|0] |
最大實(shí)例數(shù)鎖定允許您指定允許用戶同時(shí)啟動(dòng)的應(yīng)用程序副本的最大數(shù)量。請注意,超過指定的實(shí)例數(shù)量不會(huì)導(dǎo)致您的應(yīng)用程序過期。 [1] = 啟用 [0] = 禁用{默認(rèn)} |
Instances | |
-實(shí)例數(shù)量 [數(shù)量] | 最大實(shí)例數(shù)。 |
Dialog | |
-實(shí)例數(shù)量屏幕[1|0] |
指定當(dāng)用戶嘗試運(yùn)行超過指定數(shù)量的應(yīng)用程序?qū)嵗龝r(shí)是否應(yīng)向用戶顯示對話框。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Message | |
-實(shí)例數(shù)消息[文本] | 信息 |
Nag Screen | |
-shownagscreen [1 | 0] |
啟用/禁用 NagScreen [1] = 啟用 [0] = 禁用{默認(rèn)} |
Message | |
-nagmessage [文本] | 您可以在此處設(shè)置導(dǎo)航屏幕的消息。 |
XDays | |
-xdays [數(shù)字] | .NET Reactor 可以在每次啟動(dòng)應(yīng)用程序時(shí)顯示 nag 屏幕(在這種情況下,將此選項(xiàng)的值設(shè)置為 -1{default}),也可以在評估期或到期日期結(jié)束前的指定天數(shù)顯示 nag 屏幕。 |
Run Another Process After Expiration | |
-run_another_process [文本] | 到期后打開或啟動(dòng)另一個(gè)應(yīng)用程序、文件或網(wǎng)站。通常用于將評估用戶發(fā)送到網(wǎng)頁。 |
Run Without License File | |
-run_without_licensefile [1|0] |
設(shè)置為 false(0) 需要有效的操作許可證。如果為 true,則啟用已啟用的內(nèi)置鎖。如果找到有效的許可證文件,則內(nèi)置鎖設(shè)置將被許可證文件設(shè)置覆蓋。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Shutdown Process After Expiration | |
-shutdown_process [1 | 0] |
到期時(shí)終止正在運(yùn)行的進(jìn)程。 [1] = 啟用{默認(rèn)} [0] = 禁用 |
Static License FileName | |
-靜態(tài)許可證文件名[文件名] | 指定許可證文件名或擴(kuò)展名 (*.myextension)。留空以允許 .NET Reactor 根據(jù)程序集名稱確定 *.license 文件名。為了避免與擴(kuò)展許可證行為的可選方法發(fā)生沖突,二進(jìn)制 .NET Reactor 許可證不使用為 .NET 許可證類保留的 .LIC 擴(kuò)展名。 |
V3 Licensing Mode | |
-v3模式[1|0] | .NET Reactor v3.x 使用新的加密技術(shù),該技術(shù)不向后兼容以前版本的 .NET Reactor。將此選項(xiàng)設(shè)置為 True 以使用 .NET Reactor v3 許可證加密技術(shù),或設(shè)置為 False 以使用 V2.x 兼容加密方法。 |
4. Dialog Settings | |
Dialog Box Interface | |
-dialogbox_interface [文件] | 使用可通過 SDK 構(gòu)建的可自定義對話框。請?jiān)诖颂幵O(shè)置對話框的全名(例如MyNamespace.MyDialogBox)。請檢查 SDK 以獲取更多信息。 |
Dialog Caption | |
-消息標(biāo)題[文本] | 這是可以顯示的所有消息表單的標(biāo)題。 |
Gradient Color Begin | |
-gradcolorbegin [r/g/b] | 消息窗口的漸變顏色。<紅/綠/藍(lán)> 例如“212/15/128” |
Gradient Color End | |
-gradcolorend [r/g/b] | 消息窗口的漸變顏色。<紅/綠/藍(lán)> 例如“212/15/128” |
組合示例:
dotNET_Reactor.Console.exe -文件“c:\testapp.exe”
dotNET_Reactor.Console.exe -文件“c:\testlib.dll”
dotNET_Reactor.Console.exe -項(xiàng)目“c:\projx.nrproj”
dotNET_Reactor.Console.exe -project "c:\projx.nrproj" -masterkeyfile "c:\masterkey.mkey"
dotNET_Reactor.Console.exe -文件“c:\testapp.exe”-項(xiàng)目“c:\projx.nrproj”
dotNET_Reactor.Console.exe -文件“c:\testapp.exe”-項(xiàng)目“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