diff options
Diffstat (limited to 'bitburnerFiles1026/root.js')
-rw-r--r-- | bitburnerFiles1026/root.js | 358 |
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) { - -} |