Przejdź do treści
Bity zamieszek

Bity zamieszek

  • Dom
  • Aktualności
  • Przewodniki
  • Przewodniki wideo
  • Opis zmian
  • Zgłoś nadużycie
  • Przełącz formularz wyszukiwania
Bitburnera

Bitburnera – Skrypt akcesoriów root

Wysłany dnia 12/29/2021 Przez Crunchynut Brak komentarzy NA Bitburnera – Skrypt akcesoriów root
  • Tytuł: Bitburnera
  • Data wydania:
  • Wywoływacz:
  • Wydawca:
Informacje o Bitburner są nadal niekompletne. Pomóż nam wypełnić szczegóły gry za pomocą tego formularz kontaktowy.

Próby uzyskania dostępu do korzeni do wszystkich serwerów i prezentacji ich w formacie łatwym do zobaczenia i użycia.

Przegląd

Ten skrypt otrzymuje wszystkie serwery, Otwiera wszystkie możliwe porty, i próby uzyskania dostępu do root, Wszystko podczas prezentacji użytkownika łatwych do odczytania i przydatnych informacji.

Jak używać

Utwórz każdy skrypt poniżej i odpowiednio wklej kod.

Uruchom skrypt!

Polecenia:

Uruchom rootAccessor.ns

Uruchamia skrypt na wszystkich serwerach. Wyświetla wyniki.

Uruchom rootAccessor.ns -H

Wyświetla menu pomocy dla skryptu. Skrypt nie przetwarza się dalej, jeśli zawiera “-H” jako argument.

Uruchom rootAccessor.ns -s

Wymienia wszystkie serwery z dostępem do korzenia jako listy oddzielonej przestrzeni, jeśli użytkownicy chcą je wykorzystać jako argumenty w innych skryptach.

Uruchom rootAccessor.ns joesguns n00dles max-hardware

Próby uzyskania dostępu do root na serwerach docelowych (Każdy argument to nazwa serwera).

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” można dodać jako argument w dowolnym momencie.

Skrypt rootAccessor.ns

Utwórz nowy skrypt o dowolnej nazwie. Zadzwoniłem do mojego “RootAccessor.ns”. Wklej do niego poniższy kod. Zawiera 3 funkcje, które składają się na cały skrypt.

/** @param {Ns} ns **/
import {AllSerters} z "./lib-getservers.ns";

Eksportuj funkcja asynchroniczna główna(ns) {
	Został zatwierdzony = [];
	został odrzucony = [];
	był deniedports = [];
	var odmówił = [];
	VR. Inne = [];
	były pliki = [0, 0, 0, 0, 0];
	był Maxports = 0;

	//suppress all default log messages
	ns.tail(); ns.disablelog('WSZYSTKO'); ns.clearlog();

	//Sprawdź argument pomocy.
	Jeśli (ns.args.inkludes("-H")) {pomoc(ns); powrót;}
	ns.print("W celu uzyskania skryptu użyj argumentu „-H” ");
	
	ns.print("Wykonanie ...");
	
	//process argument calls
	var target = [];
	Jeśli (ns.args. długość > 0) {
		Jeśli (ns.args[0] === "-S") {
			Target = oczekiwanie na AllServers(ns);
		} w przeciwnym razie {
			Target = ns.args;
		}
	} w przeciwnym razie {
		Target = oczekiwanie na AllServers(ns);
	}

	//check max ports available to open
	if (Ns.fileExists("Brutessh.exe"))  {akta[0] = 1; Maxports ++; ns.print("Plik BrutesSh.exe istnieje");}  w przeciwnym razie {ns.print("Brutessh.exe nie znaleziono");}
	Jeśli (Ns.fileExists("Ftpcrack.exe"))  {akta[1] = 1; Maxports ++; ns.print("Ftpcrack.exe istnieje");}  w przeciwnym razie {ns.print("Ftpcrack.exe nie znaleziono");}
	Jeśli (Ns.fileExists("relaysmtp.exe")) {akta[2] = 1; Maxports ++; ns.print("Plik relaysmtp.exe istnieje");} w przeciwnym razie {ns.print("relaysmtp.exe nie znaleziono");}
	Jeśli (Ns.fileExists("Httpworm.exe"))  {akta[3] = 1; Maxports ++; ns.print("Plik httpworm.exe istnieje");}  w przeciwnym razie {ns.print("Httpworm.exe nie znaleziono");}
	Jeśli (Ns.fileExists("Sqlinject.exe")) {akta[4] = 1; Maxports ++; ns.print("Plik sqlinject.exe istnieje");} w przeciwnym razie {ns.print("Sqlinject.exe nie znaleziono");}
	ns.print("Maksymalne porty, które można otworzyć: [" + Maxports + "]\N");

	//open all ports and attempt root access
	for (const n of Target) {
		Jeśli (ns.serrexists(N)) {
			const serverhacklvl = ns.getServerRequiredHackinglevel(N);
			const PlayerHackinglvl = ns.gethackinglevel();
			
			Jeśli (PlayerHackinglvl >= ServerHacklvl) {
				Jeśli (akta[0]) { ns.brutessh(N); }
				Jeśli (akta[1]) { ns.ftpcrack(N); }
				Jeśli (akta[2]) { ns.relaysmtp(N);}
				Jeśli (akta[3]) { ns.httpworm(N); }
				Jeśli (akta[4]) { ns.sqlinject(N);}

				GainrootAccess(N, Maxports, zatwierdzony, DEMNIEDPORTS, zaprzeczony, Inny, ns);

			} w przeciwnym razie {
				Odmowa. Push(N);
				DEMNIEDHACK.PUSH("[ZAPRZECZONY] - Zbyt niski poziom hakowania [" + PlayerHackinglvl + '/' + serverhacklvl + "] Do " + N);
			}
		}
	}

	//output results
	if (DEMNIEDHack.Length>0) ns.print(DEMNIEDHACK.JOIN("\N"));
	Jeśli (deniedports. długość>0) ns.print(deniedports.Oin("\N"));
	Jeśli (inne długość>0) ns.print("[Już nabyty dostęp do korzeni] Do " + inne.Join("\N[Już nabyty dostęp do korzeni] Do "));
	Jeśli (zatwierdzony. długość>0) ns.print("[Zatwierdzony dostęp do root] Do " + zatwierdzony.Join("\N[Zatwierdzony dostęp do root] Do "));

	Jeśli (ns.args.inkludes("-S")) {
		ns.print("Kopialna lista zrootowanych serwerów:\N" + zatwierdzony.Join(" ") + inne.Join(" "));
	}
}

funkcja GainRootAccess(serwer, PortCount, zatwierdzony, DEMNIEDPORTS, zaprzeczony, Inny, ns) {
	Jeśli (!Ns. HasrootAccess(serwer)) {
		Jeśli (PortCount >= ns.getservernumportSrequired(serwer)) {
			Ns.wull(serwer);
			zatwierdzony.push(serwer);
		} w przeciwnym razie {
			Odmowa. Push(serwer);
			deniedports.push("[Odrzucony dostęp do korzenia] Do " + serwer + " - Za mało otwartych portów");
		}
	} w przeciwnym razie {
		Inne.push(serwer);
	}
}

pomoc funkcji(ns) {
	Tekst const = [
		"<======================= HELL =====================>\N",
		"- Skrypt przyjmuje [N] argumenty lub w ogóle nie.",
		"  [N]: Nazwy serwerów, które chcesz być zrootowany.",
		"  np.: run rootAccessor.ns n00dles joesguns zer0\n",
		"- No args will attempt root access on all servers\n",
		"- Uwzględnij argument „-s” jako argument do wydrukowania",
		"  copiable list of all rooted servers\n",
		"<=================================================>"
		];
	ns.print(Text.Join("\N"));
}

Skrypt lib-getservers.ns

Utwórz nowy skrypt nazwany “lib-getservers.ns” i wklej poniższą funkcję pomocnika.

/** @param {Ns} ns **/

Funkcja eksportu AllServers(ns, removepurchased = true) {
	Jeśli (Usuń Purchased) var uservs = ns.getpurchasedServers();
	const węzły = nowy zestaw;
	funkcja DFS(węzeł) {
		węzły.add(węzeł);
		Do (sąsiad const ns.scan(węzeł)) {
			Jeśli (Usuń Purchased) {
				Jeśli (!Obsvs.inkludes(sąsiad)) {
					Jeśli (!węzły(sąsiad)) {
						DFS(sąsiad);
					}
				}
			} w przeciwnym razie {
				Jeśli (!węzły(sąsiad)) {
					DFS(sąsiad);
				}
			}
		}
	}
	DFS("dom");
	powrót [...węzły];
}

To wszystko, co dzisiaj udostępniamy w tym celu Bitburnera przewodnik. Ten przewodnik został pierwotnie stworzony i napisany przez Crunchynut. Na wypadek, gdybyśmy nie zaktualizowali tego przewodnika, możesz znaleźć najnowszą aktualizację, postępując zgodnie z tym połączyć.

Jeśli uważasz, że jakakolwiek treść na tej stronie narusza Twoje prawa, w tym Twoje prawa własności intelektualnej, prosimy o niezwłoczny kontakt za pomocą naszego formularza kontaktowego.
Przewodniki Tagi:Bitburnera

Nawigacja po wpisach

Poprzedni post: Railroad Corporation – Jak zarobić łatwe pieniądze
Następny post: Bitburnera – Jak skanować każdy serwer

Zostaw odpowiedź Anuluj odpowiedź

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są zaznaczone *

  • Tytuł: Bitburnera
  • Data wydania:
  • Wywoływacz:
  • Wydawca:
Informacje o Bitburner są nadal niekompletne. Pomóż nam wypełnić szczegóły gry za pomocą tego formularz kontaktowy.

Zastrzeżenie

Wszystkie cytowane treści pochodzą z odpowiednich źródeł. Jeśli uważasz, że wykorzystaliśmy Twoje treści bez pozwolenia, upewnij się, że się z nami skontaktujesz, a my potraktujemy to poważnie.
  • O nas
  • Skontaktuj się z nami
  • Polityka prywatności
  • Warunki usługi

Prawo autorskie © 2025 Bity zamieszek.

Zasilany przez Prasa Książka Aktualności Motyw WordPressa