2023-07-12 17:10:52 -04:00
|
|
|
# Hacking
|
|
|
|
|
|
|
|
In the year 2077, currency has become digital and decentralized.
|
|
|
|
People and corporations store their money on [servers](servers.md). By hacking
|
|
|
|
these [servers](servers.md), you can steal their money and gain experience.
|
|
|
|
|
|
|
|
## Gaining Root Access
|
|
|
|
|
|
|
|
The first step to hacking a [server](servers.md) is to gain root access to that [server](servers.md).
|
|
|
|
This can be done using the `NUKE.exe` virus. You start the
|
|
|
|
game with a copy of the `NUKE.exe` virus on your home computer. The
|
|
|
|
`NUKE.exe` virus attacks the target [server](servers.md)'s open ports using buffer
|
|
|
|
overflow exploits. When successful, you are granted root
|
|
|
|
administrative access to the machine.
|
|
|
|
|
|
|
|
In order for the `NUKE.exe` virus to succeed, the target [server](servers.md)
|
|
|
|
needs to have enough open ports. Some [servers](servers.md) have no
|
|
|
|
security and will not need any ports opened. Some will have very high
|
|
|
|
security and will need many ports opened. In order to open ports on
|
|
|
|
another [server](servers.md), you will need to run programs that attack the [server](servers.md)
|
|
|
|
to open specific ports. These programs can be coded once your hacking
|
|
|
|
skill gets high enough, or they can be purchased if you can find a seller.
|
|
|
|
|
|
|
|
**There are two ways to execute port-opening programs and the NUKE virus:**
|
|
|
|
|
|
|
|
1. Connect to the target [server](servers.md) through the [Terminal](terminal.md) and use the `run` command:
|
|
|
|
|
|
|
|
$ run [programName]
|
|
|
|
|
|
|
|
1. Use a function:
|
|
|
|
|
|
|
|
- `nuke`
|
|
|
|
- `brutessh`
|
|
|
|
- `ftpcrack`
|
|
|
|
- `relaysmtp`
|
|
|
|
- `httpworm`
|
|
|
|
- `sqlinject`
|
|
|
|
|
|
|
|
**There are two ways to determine how many ports need to be opened
|
|
|
|
on a [server](servers.md) in order to successfully NUKE it:**
|
|
|
|
|
|
|
|
1. Connect to that [server](servers.md) through the [Terminal](terminal.md) and use the `analyze` command.
|
|
|
|
1. Use the `getServerNumPortsRequired` function.
|
|
|
|
|
|
|
|
Once you have enough ports opened on a [server](servers.md) and have ran the NUKE virus
|
|
|
|
to gain root access, you will be able to hack it.
|
|
|
|
|
|
|
|
## General Hacking Mechanics
|
|
|
|
|
|
|
|
When you execute the `hack` command, either manually through the [Terminal](terminal.md)
|
|
|
|
or automatically through a script, you attempt to hack the [server](servers.md).
|
|
|
|
This action takes time. The more advanced a [server](servers.md)'s security is,
|
|
|
|
the more time it will take. Your hacking skill level also affects
|
|
|
|
the hacking time, with a higher hacking skill leading to shorter
|
|
|
|
hacking times. Also, running the hack command manually through [Terminal](terminal.md)
|
|
|
|
is faster than hacking from a script.
|
|
|
|
|
|
|
|
Your attempt to hack a [server](servers.md) will not always succeed. The chance you
|
|
|
|
have to successfully hack a [server](servers.md) is also determined by the [server](servers.md)'s
|
|
|
|
security and your hacking skill level. Even if your hacking attempt
|
|
|
|
is unsuccessful, you will still gain experience points.
|
|
|
|
|
|
|
|
When you successfully hack a [server](servers.md). You steal a certain percentage
|
|
|
|
of that [server](servers.md)'s total money. This percentage is, once again, determined by the
|
|
|
|
[server](servers.md)'s security and your hacking skill level. The amount of money
|
|
|
|
on a [server](servers.md) is not limitless. So, if you constantly hack a [server](servers.md)
|
|
|
|
and deplete its money, then you will encounter diminishing returns
|
|
|
|
in your hacking (since you are only hacking a certain percentage).
|
|
|
|
You can increase the amount of money on a [server](servers.md) using a script and
|
|
|
|
the `grow` function.
|
|
|
|
|
|
|
|
## Server Security
|
|
|
|
|
|
|
|
Each [server](servers.md) has a security level, typically between `1` and `100`.
|
|
|
|
A higher number means the [server](servers.md) has stronger security.
|
|
|
|
|
|
|
|
As mentioned above, a [server](servers.md)'s security level is an important factor
|
|
|
|
to consider when hacking. You can check a [server](servers.md)'s security level
|
|
|
|
using the `analyze` [Terminal](terminal.md) command. You can
|
|
|
|
also check a [server](servers.md)'s security in
|
|
|
|
a script, using the `getServerSecurityLevel` function.
|
|
|
|
|
|
|
|
Whenever a [server](servers.md) is hacked manually or through a script, its security
|
|
|
|
level increases by a small amount. Calling the `grow` function in a
|
|
|
|
script will also increase security level of the target [server](servers.md). These
|
|
|
|
actions will make it harder for you to hack the [server](servers.md), and decrease
|
|
|
|
the amount of money you can steal. You can lower a [server](servers.md)'s security
|
|
|
|
level in a script using the `weaken` function.
|
|
|
|
|
|
|
|
This means that a [server](servers.md)'s security level will not fall below this
|
|
|
|
value if you are trying to `weaken` it.
|
|
|
|
|
|
|
|
## Backdoors
|
|
|
|
|
|
|
|
[server](servers.md) that can be hacked can also have backdoors installed. These backdoors
|
2023-07-27 05:05:46 -05:00
|
|
|
will provide you with a benefit - the services may be cheaper, penalties may
|
2023-07-12 17:10:52 -04:00
|
|
|
be reduced or there may be other results. Honeypots exist and will let factions
|
|
|
|
know when you have succeeded at backdooring their system. Once you have a
|
|
|
|
backdoor installed, you can connect to that [server](servers.md) directly.
|
|
|
|
|
|
|
|
When you visit a location in the city and see that the name is partially scrambled,
|
|
|
|
this indicates that you have backdoored the [server](servers.md) related to the location.
|