summaryrefslogtreecommitdiff
path: root/bitburnerFiles1026/root.js
diff options
context:
space:
mode:
Diffstat (limited to 'bitburnerFiles1026/root.js')
-rw-r--r--bitburnerFiles1026/root.js358
1 files changed, 0 insertions, 358 deletions
diff --git a/bitburnerFiles1026/root.js b/bitburnerFiles1026/root.js
deleted file mode 100644
index d04449e..0000000
--- a/bitburnerFiles1026/root.js
+++ /dev/null
@@ -1,358 +0,0 @@
-const HOME = "home";
-
-/** @param {NS} ns */
-export async function main(ns) {
- let target = "home";
- let thread = 1;
- const scriptRam = 2.4;
-
- // Determine whether or not to enable logging
- let debug = ns.args[0];
- ns.disableLog("ALL");
-
- // What percentage of our hacking level should a server be before using it
- let lvlpercent = ns.args[1];
-
- // List of targets for each level of exe function
- const targets = [
- "deltaone",
- "global-pharm",
- "rho-construction",
- "the-hub",
- "iron-gym",
- "harakiri-sushi"
- ];
-
- // List of exe functions
- const exes = [
- "SQLInject.exe",
- "HTTPWorm.exe",
- "RelaySMTP.exe",
- "FTPCrack.exe",
- "BruteSSH.exe",
- "NUKE.exe"
- ];
-
- // Array of all purchased servers
- // Varying RAM sizes
- const pservers = [
- "pserv-0",
- "pserv-1",
- "pserv-2",
- "pserv-3",
- "pserv-4",
- "pserv-5",
- "pserv-6",
- "pserv-7",
- "pserv-8",
- "pserv-9",
- "pserv-10",
- "pserv-11",
- "pserv-12",
- "pserv-13",
- "pserv-14",
- "pserv-15",
- "pserv-16",
- "pserv-17",
- "pserv-18",
- "pserv-19",
- "pserv-20",
- "pserv-21",
- "pserv-22",
- "pserv-23",
- ];
-
-
- // Array of all servers that don't need any ports opened
- // to gain root access. These have GB of RAM
- const servers0Port = [
- "n00dles",
- "foodnstuff",
- "sigma-cosmetics",
- "joesguns",
- "nectar-net",
- "hong-fang-tea",
- "harakiri-sushi"
- ];
-
-
- // Array of all servers that only need 1 port opened
- // to gain root access. These have 32 GB of RAM
- const servers1Port = [
- "neo-net",
- "zer0",
- "max-hardware",
- "iron-gym",
- "CSEC"
- ];
-
-
- // 2 port servers
- const servers2Port = [
- "omega-net",
- "silver-helix",
- "phantasy",
- "johnson-ortho",
- "crush-fitness",
- "the-hub",
- "avmnite-02h"
- ];
-
- // 3 port servers
- const servers3Port = [
- "netlink",
- "computek",
- "I.I.I.I",
- "summit-uni",
- "catalyst",
- "rothman-uni",
- "millenium-fitness",
- "rho-construction"
- ];
-
- const servers4Port = [
- "aevum-police",
- "global-pharm",
- "syscore",
- "lexo-corp",
- "unitalife",
- "snap-fitness",
- "alpha-ent",
- "univ-energy",
- "nova-med",
- "zb-def"
- ];
-
- // 5 port servers
- const servers5Port = [
- "zb-institute",
- "galactic-cyber",
- "aerocorp",
- "omnia",
- "deltaone",
- "taiyang-digital",
- "icarus",
- "zeus-med",
- "infocomm",
- "solaris",
- "defcomm"
- ];
-
- // //decide the target
- // // Cycle through each .exe file for a match
- // for (let i = 0; i < exes.length; i++) {
- // // if the file doens't exist yet, look at the next file
- // if (ns.fileExists(exes[i]) && (ns.getServerRequiredHackingLevel(targets[i]) <= (ns.getHackingLevel() * lvlpercent))) {
- // // the file exists, so the target is now the best target of that file
- // target = targets[i];
- // break;
- // }
- // }
- // // List the target in the logs
- // ns.print("target: ", target);
- // root(ns, target);
-
- // // Hack from the home server
- // if (ns.serverExists("home")) {
- // const serv = "home";
- // ns.print("Hacking using: ", serv);
- // thread = threads(ns, serv, scriptRam, thread);
- // if (thread > 0) {
- // hax(ns, serv, target, thread, true);
- // }
- // }
-
- // // DEBUGGING: uncomment the following line to find logs for the above code
- // if (debug) {
- // await ns.sleep(60000);
- // }
- // // Copy our scripts onto each server that requires 0 ports
- // // to gain root access. Then use nuke() to gain admin access and
- // // run the scripts.
- // for (let i = 0; i < servers0Port.length; ++i) {
- // const serv = servers0Port[i];
- // ns.print("Hacking using: ", serv);
- // root(ns, serv);
- // thread = threads(ns, serv, scriptRam, thread);
- // if (thread > 0) {
- // hax(ns, serv, target, thread, debug);
- // }
- // }
-
- // // Wait until we acquire the "BruteSSH.exe" program
- // if (!ns.fileExists("BruteSSH.exe")) {
- // ns.print("Waiting for BruteSSH.exe");
- // ns.exit();
- // }
-
- // // Copy our scripts onto each server that requires 1 port
- // // to gain root access. Then use brutessh() and nuke()
- // // to gain admin access and run the scripts.
- // for (let i = 0; i < servers1Port.length; ++i) {
- // const serv = servers1Port[i];
-
- // ns.print("Hacking using: ", serv);
- // root(ns, serv);
- // thread = threads(ns, serv, scriptRam, thread);
- // if (thread > 0) {
- // hax(ns, serv, target, thread, debug);
- // }
- // }
-
- // // Wait until we acquire the "BruteSSH.exe" program
- // while (!ns.fileExists("FTPCrack.exe")) {
- // ns.print("Waiting for FTPCrack");
- // ns.exit();
- // }
-
- // // Copy our scripts onto each server that requires 1 port
- // // to gain root access. Then use brutessh() and nuke()
- // // to gain admin access and run the scripts.
- // for (let i = 0; i < servers2Port.length; ++i) {
- // const serv = servers2Port[i];
-
- // ns.print("Hacking using: ", serv);
- // root(ns, serv);
- // thread = threads(ns, serv, scriptRam, thread);
- // if (thread > 0) {
- // hax(ns, serv, target, thread, debug);
- // }
- // }
-
-
- // //Run hack scripts from purchased servers
- // for (let i = 0; i < pservers.length; ++i) {
- // while (!ns.serverExists(pservers[i])) {
- // ns.print("Server ", pservers[i], " doesn't exist yet");
- // await ns.sleep(60000);
- // }
- // const serv = pservers[i];
-
- // ns.print("Hacking using: ", serv);
- // thread = threads(ns, serv, scriptRam, thread);
- // if (thread > 0) {
- // hax(ns, serv, target, thread, debug);
- // }
- // }
-
- // while (!ns.fileExists("RelaySMTP.exe")) {
- // ns.print("Waiting for RelaySMTP");
- // ns.exit();
- // }
-
- // for (let i = 0; i < servers3Port.length; ++i) {
- // const serv = servers3Port[i];
-
- // ns.print("Hacking using: ", serv);
- // root(ns, serv);
- // thread = threads(ns, serv, scriptRam, thread);
- // if (thread > 0) {
- // hax(ns, serv, target, thread, debug);
- // }
- // }
-
- const servers = [
- servers0Port,
- servers1Port,
- servers2Port,
- servers3Port,
- servers4Port,
- servers5Port,
- ];
-
- let hacked = [];
-
- ns.clearLog();
- ns.tail();
- ns.moveTail(0,0);
- ns.resizeTail(1350, 600);
- ns.print("DONT DO ANYTHING DONT DO ANYTHING DONT DO ANYTHING DONT DO ANYTHING \n\n\n\n\n\n\n\n\n\n\n\n");
- await ns.sleep(1000);
-
- for (let i = 0; i < servers.length; i++) {
- for (let j = 0; j < servers[i].length; j++) {
- if (!ns.hasRootAccess(servers[i][j])) {
- ns.brutessh(servers[i][j]);
- ns.ftpcrack(servers[i][j]);
- ns.relaysmtp(servers[i][j]);
- ns.httpworm(servers[i][j]);
- ns.sqlinject(servers[i][j]);
- while (ns.getHackingLevel() < ns.getServerRequiredHackingLevel(servers[i][j])) {
- await ns.sleep(6000);
- }
- ns.nuke(servers[i][j]);
- ns.print("Gained root access to ", servers[i][j]);
- }
- if (!ns.getServer(servers[i][j]).backdoorInstalled) {
- ns.singularity.connect(HOME);
- await ns.sleep(100);
-
- let result = [];
- let route = [];
-
- buildRoute(ns, HOME, servers[i][j], route)
- result = await printRoute(ns, route);
-
- for (let n = 0; n < result.length; n++) {
- ns.singularity.connect(result[n]);
- await ns.sleep(100);
- }
- await ns.singularity.installBackdoor();
- ns.singularity.connect(HOME);
- }
- hacked.push(servers[i][j]);
- }
- }
-
- await ns.sleep(1000);
- ns.clearLog();
- ns.moveTail(500, 300);
- ns.resizeTail(300, 100);
- ns.print("Backdoors installed");
-
-
-
-}
-
-function buildRoute(ns, parent, target, route, seen = []) {
- //first time we run we need to add the parent to the list of servers we've seen
- if (!seen.includes(parent)) {
- seen.push(parent);
- }
- //add to route
- route.push(parent);
- const children = ns.scan(parent);
- for (const child of children) {
- if (seen.includes(child)) {
- //already checked
- continue;
- }
- seen.push(child);
- if (child == target) {
- //found target, add it to the route and finish recursion
- route.push(child);
- return true;
- }
- if (buildRoute(ns, child, target, route, seen)) {
- //target found, finish recursion
- return true;
- }
- else {
- //target not found in this branch, remove from route
- route.pop();
- }
- }
- //didn't find target in this route, reset route
- route = [];
- return false;
-}
-async function printRoute(ns, route) {
- let result = [];
- for (const node of route) {
- result.push(node);
- }
- return result;
-}
-function root(ns, target) {
-
-}