- commit
- c8b1c7f
- parent
- 21f9e8d
- author
- Asgore-Dreemur
- date
- 2023-07-18 07:38:15 +0000 UTC
Nodes和自替换占位符补充
13 files changed,
+379,
-1
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+313,
-0
1@@ -0,0 +1,313 @@
2+# Nodes
3+## 基本信息
4+Nodes,节点,是Hacknet中重要的一部分,玩家电脑,DHS,任务数据库,eos设备都属于Nodes
5+一个Nodes的结构大概如下:
6+```xml
7+<?xml version = "1.0" encoding = "UTF-8" ?>
8+<Computer id="advExamplePC"
9+ name="Extension Example PC"
10+ ip="167.194.132.7"
11+ security="2"
12+ allowsDefaultBootModule="false"
13+ icon="chip"
14+ type="1" >
15+ <adminPass pass="password" />
16+ <account username="Matt" password="testpass" type="ALL" />
17+ <ports>21, 22, 25, 80, 1433, 104, 6881, 443, 192, 554</ports>
18+ <portsForCrack val="0" />
19+ <trace time="5678" />
20+ <admin type="fast" resetPassword="false" isSuper="false"/>
21+ <dlink target="advExamplePC2" />
22+ <file path="home" name="Test_File.txt">This is a test file in the home directory</file>
23+</Computer>
24+```
25+PS:第一行用于指定xml的版本和编码,在本教程中忽略,虽然在Node中不写这一行好像没有什么影响,但我们仍然建议写上这一行
26+
27+我们可以看到,一个Node由`<Computer>`开始,并在该标签中指定一些属性,由`</Computer>`结束
28+
29+Computer标签可以指定的属性有:
30+- `id` 节点ID,在Hacknet中需要为唯一
31+- `name` 节点的显示名称,可以不唯一
32+- `ip` 可选属性,硬编码该Node的ip地址
33+- `security` 安全等级
34+- `allowsDefaultBootModule` 可选属性,是否允许默认的启动模块(见下文)
35+- `icon` 可选属性,节点的显示图标
36+- `type` 可选属性,节点类型(用来指定生成垃圾信息,指定为1,2,3效果一样),可为:1(企业),2(家庭电脑),3(服务器),4(空,不生成垃圾IRC信息),5(当作eos设备,会生成eos设备相关文件)等等
37+
38+### allowsDefaultBootModule
39+每个Node可以有一个或多个(或没有)**daemon**,daemon实现了如DHS,白名单,任务数据库这样的在Node上运行的程序
40+
41+我们在游玩Hacknet本体或DLC时,总是一连接Node就会自动显示它的daemon(如啃得鸡服务器,CSEC任务数据库等)
42+
43+该属性就用来控制这种特性,当`allowsDefaultBootModule`被指定为true时,玩家一旦连接该Node就会显示该Node所定义的最后一个daemon
44+
45+若该属性被指定为false,则连接到该Node时会显示该节点的信息概览(登录,扫描系统,查看文件系统,扫描网络)而不会自动转到该Node所运行的daemon
46+
47+### icon
48+节点的icon可以有:
49+- `laptop` 便携笔记本
50+- `chip` 心脏起搏器那种看起来像硬件的图标
51+- `kellis` 原版Kellis服务器的图标(通用医疗)
52+- `tablet` 平板
53+- `ePhone` eos设备(黑色)
54+- `ePhone2` eos设备(白色)
55+
56+DLC专属:
57+- `Psylance` Psylance的帽子图标
58+- `PacificAir` 飞机图标
59+- `Alchemist` 炼金术师任务的大树图标
60+
61+这里还有一些描述不太清楚的,附上图片:
62+
63+`DLCLaptop`:
64+
65+
66+`DLCPC1`:
67+
68+
69+`DLCPC2`:
70+
71+
72+`DLCServer`:
73+
74+
75+### security
76+Node的security指定Node的安全等级
77+
78+在没有覆写Node的属性时:
79+当security为1-3时,仅需破解端口即可入侵
80+当security为4或以上时,会自动添加:自动重置密码,代理和防火墙
81+可以重定义这些属性
82+
83+## 其他属性
84+在`<Computer>` 与 `</Computer>` 中可以定义Node的其他属性
85+
86+下面是关于其他属性的详细信息:
87+
88+### adminPass
89+```xml
90+<adminPass pass="password" />
91+```
92+硬编码该Node的管理员密码
93+`pass` : 管理员密码
94+
95+### account
96+```xml
97+<account username="Matt" password="testpass" type="ALL" />
98+```
99+为该Node额外添加一个帐号,可以通过重复定义该属性添加多个帐号
100+`username` : 添加的帐号名
101+`password` : 添加的帐号密码
102+`type` : 帐号类型
103+
104+帐号类型有:
105+- `ADMIN` =0,管理员权限
106+- `ALL` =1,有对文件的操作权限,但不能使用扫描网络等需要管理员权限的操作
107+- `MAIL` =2,邮件帐号
108+- `MISSIONLIST` =3,类似于CSEC的任务数据库帐号
109+
110+你可以使用对应的数字或者直接填写类型来定义帐号类型
111+
112+### ports
113+```xml
114+<ports>21, 22, 25, 80, 1433, 104, 6881, 443, 192, 554</ports>
115+```
116+定义该Node开放的端口
117+
118+端口在`<port>` 与 `</port>` 中定义,以英文逗号隔开,空格可以省略
119+
120+默认情况下,可用的端口有:
121+- `21` ftp端口
122+- `22` ssh端口
123+- `25` smtp端口
124+- `80` web端口
125+- `1433` sql服务器端口
126+- `104` KBT端口
127+- `6881` DLC特供,torrent端口
128+- `443` DLC特供,ssl(https)端口
129+- `192` DLC特供,Pacific飞机端口
130+- `554` DLC特供,原版中未出现,RTSP端口(使用RTSPCrack破解)
131+
132+### proxy
133+```xml
134+<proxy time="2" />
135+```
136+为该Node定义代理,覆盖`security`的自带代理
137+`time` : 过载所需时间,乘以30为实际过载所需秒数,设置为-1禁用代理
138+
139+### portsForCrack
140+```xml
141+<portsForCrack val="0" />
142+```
143+定义Node破解所需端口数
144+`val` : 破解所需的端口数,设置为101以上会启用EnSec(那个红条,无法porthack的)
145+
146+### firewall
147+```xml
148+<firewall level="6" solution="Scypio" additionalTime="1.0"/>
149+```
150+定义Node的防火墙属性,可以覆盖`security`的自带代理
151+`level` : 防火墙等级,即破解口令的字符数量,设置为-1禁用防火墙
152+`solution` : 破解口令
153+`additionalTime` : 可选参数,分析每一级需要的时间,单位为秒
154+
155+### admin
156+```xml
157+<admin type="fast" resetPassword="false" isSuper="false"/>
158+```
159+
160+用于实现玩家断开时重置代理,端口等特性
161+`type` : 管理员类型
162+`resetPassword` : 是否在断开时重置密码
163+`isSuper` : 是否为超级管理员
164+
165+可用的管理员类型有:
166+- `basic` : 断开15秒后重置端口破解状态
167+- `progress` : 在玩家非管理员情况下可重置端口破解状态和代理,防火墙破解状态
168+- `fast` : 与`isSuper`配合,断开时立即重置管理员密码
169+
170+示例:
171+```xml
172+<admin type="fast" resetPassword="true" isSuper="true"/>
173+```
174+断开连接后立即重置管理员密码
175+
176+```xml
177+<admin type="progress"/>
178+```
179+在玩家非管理员状态下,断开连接后重置所有入侵状态,建议一般节点定义此属性
180+
181+```xml
182+<admin type="none"/>
183+```
184+不使用该特性,可以用来禁用由`security`大于等于4带来的自动重置特性
185+
186+### portRemap
187+```xml
188+<portRemap>web=1234,22=2</portRemap>
189+```
190+端口映射,即实现类似DLC中端口非默认的效果
191+在`<portRemap>` 与 `</portRemap>` 中定义,以`原端口=目标端口`定义,英文逗号隔开
192+
193+原端口既可以写端口号,也可以是端口名称
194+
195+如本例中,将web服务器端口重定向为1234,将22端口重定向为2
196+
197+可用的端口名称有:
198+- `ssh` ssh端口(22)
199+- `ftp` ftp端口(21)
200+- `web` web端口(80)
201+- `torrent` DLC特供,torrent端口(6881)
202+- `medical` KBT端口(104)
203+- `smtp` smtp端口(25)
204+- `sql` sql数据库端口(1433)
205+
206+### tracker
207+```xml
208+<tracker />
209+```
210+为该Node启用被动追踪
211+
212+被动追踪,指若玩家在该Node上留下了下载或删除文件的日志,就会受到AI自动攻击(forkbomb)
213+
214+若存在CSEC_Member的flag,则玩家会受到类似CCC黑客小队的红屏攻击
215+
216+### dlink
217+```xml
218+<dlink target="advExamplePC2" />
219+```
220+定义该Node被scan后可以扫出的节点,可以通过重复定义该属性添加多个可以扫描到的节点
221+
222+`target` : 连接的节点ID
223+
224+### positionNear
225+```xml
226+<positionNear target="advExamplePC2" position="1" total="3" extraDistance="0.1" force="false"/>
227+```
228+定义该Node距离其他某个Node的距离
229+//FIXME
230+
231+### file
232+```xml
233+<file path="home" name="Test_File.txt">This is a test file in the home directory</file>
234+```
235+在该Node中添加文件
236+
237+`path` : 文件路径
238+`name` : 文件名
239+
240+在`<file>` 与 `</file>` 标签中定义文件内容
241+
242+PS:文件内容支持多行,可以使用**自替换占位符**
243+
244+### customthemefile
245+```xml
246+<customthemefile path="sys" name="Custom_x-server.sys" themePath="Themes/SecondaryTheme.xml"/>
247+```
248+向Node中添加自定义的主题文件(x-server.sys)
249+`path` : 主题文件的存放路径
250+`name` : 主题文件名
251+`themePath` : 该自定义主题的定义在扩展根目录的相对路径
252+
253+### encryptedFile
254+```xml
255+<encryptedFile path="home" name="asdf2.dec" ip="192.168.1.1" header="This is the header" pass="password">
256+ This is an encrypted file referenced in ExampleMission.xml
257+ </encryptedFile>
258+```
259+向Node中添加DEC加密文件
260+`path` : 加密文件路径
261+`name` : 加密文件名
262+`ip` : DECHead.exe扫出的头信息IP
263+`header` : DECHead.exe扫出的头信息
264+`pass` : 可选属性,定义该文件的密码
265+
266+可在`<encryptedFile>` 与 `</encryptedFile>` 中添加加密文件内容,可使用**自替换占位符**
267+
268+### eosDevice
269+```xml
270+<eosDevice name="Deliliah's ePhone 4S" id="eosIntroPhone" icon="ePhone2" empty="true" passOverride="notAlpine">
271+ <note>TestNote
272+More text</note>
273+ <note>Note filenames
274+Note filenames are generated automatically by taking the first line of the file
275+(in this case "Note Filenames") and replacing spaces with underscores.</note>
276+ <mail username="test@jmail.com" pass="thisIstheaccountpass" />
277+ <mail username="test2@jmail.com" pass="YouCanHaveLotsOfThese" />
278+ <file path="eos/test" name="crackedFile.txt">This is mostly useful for jailbroken phones</file>
279+ </eosDevice>
280+```
281+为该Node添加连接的eos设备,可以通过重复定义该属性添加多个eos设备
282+
283+`name` : eos设备名
284+`id` : eos设备ID,相当于节点ID
285+`icon` : eos设备图标,和节点图标定义一致
286+`empty` : 是否生成垃圾文件
287+`passOverride` : 可选属性,重新定义该eos设备的管理员密码(默认为alpine)
288+
289+可在`<eosDevice>` 与 `</eosDevice>` 中定义该eos设备的属性
290+
291+eos设备可以定义的属性有:
292+#### note
293+```xml
294+<note>TestNote
295+More text</note>
296+```
297+添加笔记(/eos/Note中)
298+第一行为笔记的标题(在/eos/Note中的文件名)
299+从第二行开始为笔记正文
300+
301+#### mail
302+```xml
303+<mail username="test@jmail.com" pass="thisIstheaccountpass" />
304+```
305+添加邮箱帐号,重复定义以添加多个邮箱帐号
306+`username` : 邮箱地址
307+`pass` : 邮箱密码
308+PS:仍需要在目标邮件服务器中添加邮箱帐号
309+
310+#### file
311+用法与普通Node相同,省略
312+
313+## Daemons
314+//TODO
+66,
-1
1@@ -1 +1,66 @@
2-# 自替换占位符
3+# 自替换占位符
4+**自替换占位符**是指在Hacknet中会被自动替换成特定内容的标识
5+
6+自替换占位符的结构为:#<标识符,不包含尖括号>#,如#BINARY#
7+
8+可用的标识符有:
9+- `BINARY` 垃圾二进制内容(2000字符)
10+- `BINARYSMALL` 较少的垃圾二进制内容(1000字符)
11+- `PLAYER_IP` 玩家IP地址
12+- `PLAYERNAME` 玩家名
13+- `RANDOM_IP` 一个随机的IP
14+
15+以及一些文件的标识符:
16+- `SSH_CRACK` SSHCrack程序
17+- `FTP_CRACK` 原版FTP破解程序
18+- `WEB_CRACK` Web(80)破解程序
19+- `SMTP_CRACK` SMTP破解程序
20+- `SQL_CRACK` SQL破解程序
21+- `HEXCLOCK_EXE` HexClock.exe程序
22+- `CLOCK_PROGRAM` Clock.exe程序
23+- `DECYPHER_PROGRAM` DEC解密程序
24+- `DECHEAD_PROGRAM` DEC获取头信息程序
25+- `MEDICAL_PROGRAM` KBT(104)端口破解程序
26+- `THEMECHANGER_EXE` 主题更改器,ThemeChanger.exe
27+- `EOS_SCANNER_EXE` eos设备扫描程序
28+- `SECURITYTRACER_PROGRAM` 开局的SecurityTracer.exe(好东西,可以很快地停止trace)
29+- `TRACEKILL_EXE` Vapor给你的TraceKill.exe
30+- `EXT_SEQUENCER_EXE` 在扩展中可以使用的Sequencer.exe,在ExtensionInfo.xml中定义其属性
31+
32+
33+DLC特供:
34+- `TORRENT_EXE` Torrent(6881)破解程序
35+- `SSL_EXE` SSL(443)破解程序
36+- `FTP_FAST_EXE` DLC更快的FTP破解程序
37+- `SIGNAL_SCRAMBLER_EXE` SignalScrambler.exe,占用内存来延长trace的程序
38+- `MEM_FORENSICS_EXE` 内存转储查看程序
39+- `MEM_DUMP_GENERATOR` 内存转储生成工具
40+- `PACIFIC_EXE` 飞机端口(192)破解程序
41+- `NETMAP_ORGANIZER_EXE` netmap排列程序
42+- `SHELL_CONTROLLER_EXE` 原版不存在的Comshell.exe,快速操作shell的程序
43+- `NOTES_DUMPER_EXE` 能从本地文件读取笔记的程序
44+- `DLC_MUSIC_EXE` DLC调音乐程序
45+- `CLOCK_V2_EXE` 下文主题中显示的ClockV2
46+- `SHELL_OPENER_EXE` 原版不存在,快速打开shell的程序
47+
48+一些主题附上图片:
49+`WHITE_THEME` :
50+
51+
52+`GREEN_THEME` :
53+
54+
55+`YELLOW_THEME` :
56+
57+
58+`TEAL_THEME` :
59+
60+
61+`BASE_THEME` :
62+
63+
64+`PURPLE_THEME` :
65+
66+
67+`MINT_THEME` :
68+