Hacknet-Extension-Tutorial


commit
e596df0
parent
79556c1
author
BovineBeta
date
2023-05-02 19:40:55 +0000 UTC
fix: [HS]完善介绍
1 files changed,  +66, -35
M Content/HackerScripts.md
+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变红闪烁一下,有一个参数,指的是要输出的字符串