Hacknet-Extension-Tutorial


commit
5742bd8
parent
821c9da
author
BovineBeta
date
2023-07-17 08:45:37 +0000 UTC
docs: [HackerScript]完善介绍, 通过表格展示"HackerScript行为"
1 files changed,  +34, -33
M Content/HackerScripts.md
+34, -33
 1@@ -3,21 +3,19 @@ HackerScript 用于描述黑客行为, 比如入侵, 文件操作等等. 它可
 2 
 3 HackerScript 的执行具有实时性. HackerScript内的任何间隔与行为标签的`delay`原理不同. 因此退出重进Hacknet将会使正在执行中的HackerScript停止. HackerScript被执行后的效果与玩家有部分相似之处, 比如会留下日志.
 4 
 5-这是一个HackerScript示范: 
 6+以下为HackerScript的大致结构: 
 7 ~~~
 8+# 指定目标
 9 config playerComp advExamplePC 0.2 $#%#$
10+
11+# 行为
12 connect $#%#$
13-delay 3.3 $#%#$
14-openPort 22 $#%#$
15-delay 1.3 $#%#$
16-openPort 21 $#%#$
17-delay 1.3 $#%#$
18-openPort 80 $#%#$
19 disconnect $#%#$
20+
21+# 这里的"注释"是不规范写法, 因为没有对应命令不会被执行. 官方没有为HackerScript提供注释
22 ~~~
23 
24 HackerScript的内容可以大致分为:
25-
26 - 指定目标
27 - 行为
28 
29@@ -48,28 +46,31 @@ config TARGET_COMP2 SOURCE_COMP1 0 $#%#$
30 行为类型与`$#%#$`为必须内容, 部分行为不需要参数.
31 
32 行为类型如下:
33-- `connect` 源电脑向目标电脑建立连接, 无参数
34-- `delay` 用来延迟一段时间,有一个参数是延迟时间,单位为秒
35-- `openPort` 打开目标电脑的端口,有一个参数,指的是要开启的端口
36-- `clearTerminal` 清屏目标电脑终端, 无参数
37--` hideNetMap` 隐藏目标电脑的netmap网络地图, 无参数
38-- `hideRam` 隐藏目标电脑的RAM区域, 无参数
39-- `hideDisplay` 隐藏目标电脑的显示Display区域, 无参数
40-- `hideTerminal` 隐藏目标电脑的终端, 无参数
41-- `showNetMap` 显示目标电脑的netmap网络地图, 无参数
42-- `showRam` 显示目标电脑的RAM区域, 无参数
43-- `showDisplay` 显示目标电脑的显示Display区域, 无参数
44-- `showTerminal` 显示目标电脑的终端, 无参数
45-- `trackseq` 为目标电脑加flag,如果有CSEC flag并且没有防御成功forkbomb,则进入紧急恢复模式(不会启动forkbomb), 无参数
46-- `instanttrace` 立即使目标电脑进入紧急恢复模式
47-- `forkbomb `为目标电脑执行forkbomb
48-- `flash` 让目标电脑的UI闪烁一下, 无参数
49-- `delete` 删除目标电脑上的文件,有两个参数,目标文件所在路径和目标文件名
50-- `setAdminPass` 设置目标电脑上的管理员密码,有一个参数,是要设定的新管理员密码
51-- `makeFile` 在目标电脑上新建一个文件,有三个参数: 1.要创建的文件所在目录,要创建的文件名,文件内容
52-- `openCDTray` 打开目标电脑的光驱, 无参数
53-- `closeCDTray` 关闭目标电脑上的光驱, 无参数
54-- `disconnect` 断开目标电脑, 无参数
55-- `write` 在目标电脑终端中输出字符,但不换行,有一个参数,指的是要输出的字符串
56-- `writel` 在目标电脑终端中输出字符并换行,有一个参数,指的是要输出的字符串
57-- `writel_silent` 在目标电脑终端中输出字符并换行,但不会使目标UI变红闪烁一下,有一个参数,指的是要输出的字符串
58+
59+| 行为类型 | 功能 | 参数个数 | 参数用途 |
60+| --- | --- | --- | --- |
61+| `connect` | 源电脑向目标电脑建立连接 | 无 | |
62+| `delay` | 用来延迟一段时间 | 一个 | 延迟时间,单位为秒 |
63+| `openPort` | 打开目标电脑的端口 | 一个 | 要开启的端口 |
64+| `clearTerminal` | 清屏目标电脑终端 | 无 | |
65+| `hideNetMap` | 隐藏目标电脑的netmap网络地图 | 无 | |
66+| `hideRam` | 隐藏目标电脑的RAM区域 | 无 | |
67+| `hideDisplay` | 隐藏目标电脑的显示Display区域 | 无 | |
68+| `hideTerminal` | 隐藏目标电脑的终端 | 无 | |
69+| `showNetMap` | 显示目标电脑的netmap网络地图 | 无 | |
70+| `showRam` | 显示目标电脑的RAM区域 | 无 | |
71+| `showDisplay` | 显示目标电脑的显示Display区域 | 无 | |
72+| `showTerminal` | 显示目标电脑的终端 | 无 | |
73+| `trackseq` | 为目标电脑加flag | 无 | 如果有CSEC flag并且没有防御成功forkbomb,则进入紧急恢复模式(不会启动forkbomb) |
74+| `instanttrace` | 立即使目标电脑进入紧急恢复模式 | 无 | |
75+| `forkbomb` | 为目标电脑执行forkbomb | 无 | |
76+| `flash` | 让目标电脑的UI闪烁一下 | 无 | |
77+| `delete` | 删除目标电脑上的文件 | 两个 | 目标文件所在路径和目标文件名 |
78+| `setAdminPass` | 设置目标电脑上的管理员密码 | 一个 | 要设定的新管理员密码 |
79+| `makeFile` | 在目标电脑上新建一个文件 | 三个 | 1.要创建的文件所在目录,2.要创建的文件名,3.文件内容 |
80+| `openCDTray` | 打开目标电脑的光驱 | 无 | |
81+| `closeCDTray` | 关闭目标电脑上的光驱 | 无 | |
82+| `disconnect` | 断开目标电脑 | 无 | |
83+| `write` | 在目标电脑终端中输出字符,但不换行 | 一个 | 要输出的字符串 |
84+| `writel` | 在目标电脑终端中输出字符并换行 | 一个 | 要输出的字符串 |
85+| `writel_silent` | 在目标电脑终端中输出字符并换行,但不会使目标UI变红闪烁一下 | 一个 | 要输出的字符串 |