Ga naar de inhoud
Rel-bits

Rel-bits

  • Thuis
  • Nieuws
  • Gidsen
  • Videogidsen
  • Patch-opmerkingen
  • Misbruik melden
  • Toggle zoekformulier
Bitburner

Bitburner – Root Accessor Script

Geplaatst op 12/29/2021 Deur Crunchynut Geen reacties op Bitburner – Root Accessor Script
  • Titel: Bitburner
  • Releasedatum:
  • Ontwikkelaar:
  • Uitgever:
Informatie over Bitburner is nog steeds onvolledig. Help ons alstublieft de details van het spel hiermee in te vullen contactformulier.

Attempts to gain root access to all servers and present them in an easy-to-see and use format.

Overzicht

This script gets all servers, opens all ports possible, and attempts to gain root access, all while presenting the user with easy-to-read and useful information.

Hoe te gebruiken

Create each script below and paste the code appropriately.

Run the script!

Opdrachten:

run RootAccessor.ns

Runs the script against all servers. Displays results.

run RootAccessor.ns -h

brings up the help menu for the script. The script does not process any further if it contains “-H” as an argument.

run RootAccessor.ns -s

lists all servers with root access as a space-separated list if users want to utilize them as arguments in other scripts.

run RootAccessor.ns joesguns n00dles max-hardware

attempts to gain root access on target servers (each argument is a server name).

run RootAccessor.ns joesguns n00dles max-hardware -s
run RootAccessor.ns -s joesguns n00dles max-hardware
run RootAccessor.ns joesguns n00dles -s max-hardware

“-S” can be added as an argument at any time.

RootAccessor.ns Script

Create a new script with whatever name you’d like. I called mine “RootAccessor.ns”. Paste the below code into it. It contains 3 functions that make up the entire script.

/** @param {NS} ns **/
import {allServers} van "./lib-getServers.ns";

export async function main(ns) {
	var approved = [];
	var deniedhack = [];
	var deniedports = [];
	var denied = [];
	var other = [];
	var files = [0, 0, 0, 0, 0];
	var maxPorts = 0;

	//suppress all default log messages
	ns.tail(); ns.disableLog('ALL'); ns.clearLog();

	//check for help argument.
	if (ns.args.includes("-H")) {hulp(ns); return;}
	ns.print("For script help use argument '-h' ");
	
	ns.print("Executing...");
	
	//process argument calls
	var target = [];
	if (ns.args.length > 0) {
		if (ns.args[0] === "-S") {
			target = await allServers(ns);
		} else {
			target = ns.args;
		}
	} else {
		target = await allServers(ns);
	}

	//check max ports available to open
	if (ns.fileExists("BruteSSH.exe"))  {bestanden[0] = 1; maxPorts++; ns.print("BruteSSH.exe file exists");}  else {ns.print("BruteSSH.exe not found");}
	if (ns.fileExists("FTPCrack.exe"))  {bestanden[1] = 1; maxPorts++; ns.print("FTPCrack.exe file exists");}  else {ns.print("FTPCrack.exe not found");}
	if (ns.fileExists("relaySMTP.exe")) {bestanden[2] = 1; maxPorts++; ns.print("relaySMTP.exe file exists");} else {ns.print("relaySMTP.exe not found");}
	if (ns.fileExists("HTTPWorm.exe"))  {bestanden[3] = 1; maxPorts++; ns.print("HTTPWorm.exe file exists");}  else {ns.print("HTTPWorm.exe not found");}
	if (ns.fileExists("SQLInject.exe")) {bestanden[4] = 1; maxPorts++; ns.print("SQLInject.exe file exists");} else {ns.print("SQLInject.exe not found");}
	ns.print("Maximum ports able to open: [" + maxPorts + "]\N");

	//open all ports and attempt root access
	for (const n of target) {
		if (ns.serverExists(N)) {
			const serverHackLvl = ns.getServerRequiredHackingLevel(N);
			const playerHackingLvl = ns.getHackingLevel();
			
			if (playerHackingLvl >= serverHackLvl) {
				if (bestanden[0]) { ns.brutessh(N); }
				if (bestanden[1]) { ns.ftpcrack(N); }
				if (bestanden[2]) { ns.relaysmtp(N);}
				if (bestanden[3]) { ns.httpworm(N); }
				if (bestanden[4]) { ns.sqlinject(N);}

				gainRootAccess(N, maxPorts, approved, deniedports, denied, other, ns);

			} else {
				denied.push(N);
				deniedhack.push("[DENIED] - hack level too low [" + playerHackingLvl + '/' + serverHackLvl + "] voor " + N);
			}
		}
	}

	//output results
	if (deniedhack.length>0) ns.print(deniedhack.join("\N"));
	if (deniedports.length>0) ns.print(deniedports.join("\N"));
	if (other.length>0) ns.print("[ALREADY ACQUIRED ROOT ACCESS] voor " + other.join("\N[ALREADY ACQUIRED ROOT ACCESS] voor "));
	if (approved.length>0) ns.print("[ROOT ACCESS APPROVED] voor " + approved.join("\N[ROOT ACCESS APPROVED] voor "));

	if (ns.args.includes("-S")) {
		ns.print("Copiable list of rooted servers:\N" + approved.join(" ") + other.join(" "));
	}
}

function gainRootAccess(server, portCount, approved, deniedports, denied, other, ns) {
	if (!ns.hasRootAccess(server)) {
		if (portCount >= ns.getServerNumPortsRequired(server)) {
			ns.nuke(server);
			approved.push(server);
		} else {
			denied.push(server);
			deniedports.push("[ROOT ACCESS DENIED] voor " + server + " - Not enough open PORTS");
		}
	} else {
		other.push(server);
	}
}

function help(ns) {
	const text = [
		"<========================HELP=====================>\N",
		"- Script takes in [N] arguments or none at all.",
		"  [N]: server names that you wish to be rooted.",
		"  bijv.: run rootAccessor.ns n00dles joesguns zer0\n",
		"- No args will attempt root access on all servers\n",
		"- include argument '-s' as an argument to print",
		"  copiable list of all rooted servers\n",
		"<=================================================>"
		];
	ns.print(text.join("\N"));
}

lib-getServers.ns Script

Create a new script named “lib-getServers.ns” and paste the below helper function.

/** @param {NS} ns **/

export function allServers(ns, removePurchased=true) {
	if (removePurchased) var pservs = ns.getPurchasedServers();
	const nodes = new Set;
	function dfs(node) {
		nodes.add(node);
		voor (const neighbor of ns.scan(node)) {
			if (removePurchased) {
				if (!pservs.includes(neighbor)) {
					if (!nodes.has(neighbor)) {
						dfs(neighbor);
					}
				}
			} else {
				if (!nodes.has(neighbor)) {
					dfs(neighbor);
				}
			}
		}
	}
	dfs("thuis");
	return [...knooppunten];
}

Dat is alles wat we vandaag hiervoor delen Bitburner gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door Crunchynut. Voor het geval we er niet in slagen deze handleiding bij te werken, U kunt de laatste update vinden door dit te volgen link.

Als u van mening bent dat de inhoud van deze site uw rechten schendt, inclusief uw intellectuele eigendomsrechten, neem dan direct contact met ons op via ons contactformulier.
Gidsen Labels:Bitburner

Bericht navigatie

Vorig bericht: Railroad Corporation – How to Make Easy Money
Volgende bericht: Bitburner – How to Scan Every Server

Geef een reactie Reactie annuleren

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

  • Titel: Bitburner
  • Releasedatum:
  • Ontwikkelaar:
  • Uitgever:
Informatie over Bitburner is nog steeds onvolledig. Help ons alstublieft de details van het spel hiermee in te vullen contactformulier.

Vrijwaring

Alle geciteerde inhoud is afgeleid van hun respectieve bronnen. Als u denkt dat wij uw inhoud zonder toestemming hebben gebruikt, Zorg ervoor dat u ons bereikt en wij zullen het serieus nemen.
  • Over ons
  • Neem contact met ons op
  • Privacybeleid
  • Servicevoorwaarden

Auteursrecht © 2025 Rel-bits.

Aangedreven door PersBoek Nieuws WordPress thema