- commit
- e596df0
- parent
- 79556c1
- author
- BovineBeta
- date
- 2023-05-02 19:40:55 +0000 UTC
fix: [HS]完善介绍
1 files changed,
+66,
-35
+66,
-35
1@@ -1,7 +1,10 @@
2-# HackerScripts
3-HackerScript用来模拟别的黑客的反击,如naix
4-这是一个HackerScript的例子:
5-```
6+# HackerScripts (黑客脚本)
7+HackerScript 用于描述黑客行为, 比如入侵, 文件操作等等. 它可以通过行为标签`<LaunchHackScript>`执行.
8+
9+HackerScript 的执行具有实时性. HackerScript内的任何间隔与行为标签的`delay`原理不同. 因此退出重进Hacknet将会使正在执行中的HackerScript停止. HackerScript被执行后的效果与玩家有部分相似之处, 比如会留下日志.
10+
11+这是一个HackerScript示范:
12+~~~
13 config playerComp advExamplePC 0.2 $#%#$
14 connect $#%#$
15 delay 3.3 $#%#$
16@@ -11,34 +14,62 @@ openPort 21 $#%#$
17 delay 1.3 $#%#$
18 openPort 80 $#%#$
19 disconnect $#%#$
20-```
21-在这个HackerScript中,第一行使用了```config playerComp advExamplePC 0.2 $#%#$```,它用来初始化这个HackerScript,这一行,指定了目标,源电脑,延迟,它的用法如下:
22-`config [目标电脑ID] [源电脑ID] [每一行执行的延迟] $#%#$`
23-ps:`$#%#$` 是必须的,用来在后面的代码中指定攻击属性,它必须为`$#%#$`,否则无效
24-后面就可以使用代码来实现功能,但必须在每一行后加上`$#%#$`,参数之间用空格分隔
25-目前可用的功能有:
26-- connect 不需要任何额外参数,表示从源电脑向目标电脑建立连接
27-- delay 用来延迟一段时间,有一个参数是延迟时间,单位为秒
28-- openPort 打开目标电脑的端口,有一个参数,指的是要开启的端口
29-- writel 在目标电脑终端中输出字符并换行,有一个参数,指的是要输出的字符串
30-- clearTerminal 清屏目标电脑终端,无额外参数
31-- hideNetMap 隐藏目标电脑的netmap网络地图,无额外参数
32-- hideRam 隐藏目标电脑的RAM区域,无额外参数
33-- hideDisplay 隐藏目标电脑的显示Display区域,无额外参数
34-- hideTerminal 隐藏目标电脑的终端,无额外参数
35-- showNetMap 显示目标电脑的netmap网络地图,无额外参数
36-- showRam 显示目标电脑的RAM区域,无额外参数
37-- showDisplay 显示目标电脑的显示Display区域,无额外参数
38-- showTerminal 显示目标电脑的终端,无额外参数
39-- trackseq 为目标电脑加flag,如果有CSEC flag并且没有防御成功forkbomb,则进入紧急恢复模式(不会启动forkbomb),无额外参数
40-- instanttrace 立即使目标电脑进入紧急恢复模式
41-- forkbomb 为目标电脑执行forkbomb
42-- flash 让目标电脑的UI闪烁一下,无额外参数
43-- delete 删除目标电脑上的文件,有两个参数,目标文件所在路径和目标文件名
44-- setAdminPass 设置目标电脑上的管理员密码,有一个参数,是要设定的新管理员密码
45-- makeFile 在目标电脑上新建一个文件,有三个参数:1.要创建的文件所在目录,要创建的文件名,文件内容
46-- openCDTray 打开目标电脑的光驱,无额外参数
47-- closeCDTray 关闭目标电脑上的光驱,无额外参数
48-- disconnect 断开目标电脑,无额外参数
49-- write 在目标电脑终端中输出字符,但不换行,有一个参数,指的是要输出的字符串
50-- writel_silent 在目标电脑终端中输出字符并换行,但不会使目标UI变红闪烁一下,有一个参数,指的是要输出的字符串
51+~~~
52+
53+HackerScript的内容可以大致分为:
54+
55+- 指定目标
56+- 行为
57+
58+# 指定目标
59+config用于指定了目标,源电脑,每一行执行之间的间隔,格式如下如下:
60+~~~
61+config [目标电脑ID] [源电脑ID] [每一行执行的延迟] $#%#$
62+~~~
63+如果你想要通过标签来选择目标于源电脑的话, 可以原封不动这么写ID, 然后在标签中声明相应属性:
64+~~~
65+config [TARGET_COMP] [SOURCE_COMP] 0 $#%#$
66+~~~
67+
68+一个HackerScript可以指定多个目标, 但是不是同时攻击.
69+~~~
70+config TARGET_COMP1 SOURCE_COMP1 0 $#%#$
71+...
72+config TARGET_COMP2 SOURCE_COMP1 0 $#%#$
73+...
74+~~~
75+# 行为
76+可以使用行为语句来描述行为, 行为语句相应的行为将会被执行.
77+
78+行为语句大致如下:
79+~~~
80+[行为类型] [...参数] $#%#$
81+~~~
82+行为类型与`$#%#$`为必须内容, 部分行为不需要参数.
83+
84+行为类型如下:
85+- `connect` 源电脑向目标电脑建立连接, 无参数
86+- `delay` 用来延迟一段时间,有一个参数是延迟时间,单位为秒
87+- `openPort` 打开目标电脑的端口,有一个参数,指的是要开启的端口
88+- `clearTerminal` 清屏目标电脑终端, 无参数
89+-` hideNetMap` 隐藏目标电脑的netmap网络地图, 无参数
90+- `hideRam` 隐藏目标电脑的RAM区域, 无参数
91+- `hideDisplay` 隐藏目标电脑的显示Display区域, 无参数
92+- `hideTerminal` 隐藏目标电脑的终端, 无参数
93+- `showNetMap` 显示目标电脑的netmap网络地图, 无参数
94+- `showRam` 显示目标电脑的RAM区域, 无参数
95+- `showDisplay` 显示目标电脑的显示Display区域, 无参数
96+- `showTerminal` 显示目标电脑的终端, 无参数
97+- `trackseq` 为目标电脑加flag,如果有CSEC flag并且没有防御成功forkbomb,则进入紧急恢复模式(不会启动forkbomb), 无参数
98+- `instanttrace` 立即使目标电脑进入紧急恢复模式
99+- `forkbomb `为目标电脑执行forkbomb
100+- `flash` 让目标电脑的UI闪烁一下, 无参数
101+- `delete` 删除目标电脑上的文件,有两个参数,目标文件所在路径和目标文件名
102+- `setAdminPass` 设置目标电脑上的管理员密码,有一个参数,是要设定的新管理员密码
103+- `makeFile` 在目标电脑上新建一个文件,有三个参数: 1.要创建的文件所在目录,要创建的文件名,文件内容
104+- `openCDTray` 打开目标电脑的光驱, 无参数
105+- `closeCDTray` 关闭目标电脑上的光驱, 无参数
106+- `disconnect` 断开目标电脑, 无参数
107+- `write` 在目标电脑终端中输出字符,但不换行,有一个参数,指的是要输出的字符串
108+- `writel` 在目标电脑终端中输出字符并换行,有一个参数,指的是要输出的字符串
109+- `writel_silent` 在目标电脑终端中输出字符并换行,但不会使目标UI变红闪烁一下,有一个参数,指的是要输出的字符串