This script adds some functions to speed up HP operations
当前为
// ==UserScript==
// @name Gateway Mods
// @namespace http://www.hacker-project.com/
// @version 1.5
// @description This script adds some functions to speed up HP operations
// @author Kevin Mitnick
// @match http://www.hacker-project.com/*
// @match http://hacker-project.com/*
// @grant none
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
function setup() {
// Setup jQuery
var jQueryScript = document.createElement("script");
jQueryScript.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js");
document.head.appendChild(jQueryScript);
// COMMENT THE FOLLOWING LINE OUT IF YOU DON'T WANT COURIER NEW FONT
for (var x = 0; x < document.getElementsByTagName("td").length; x++) document.getElementsByTagName("td")[x].style.fontFamily="Courier New";
if (new String(window.location).indexOf("hacker-project.com/index.php?action=gate&a2=files") > -1) {
// Batch script
var batchScript = document.createElement("script");
batchScript.setAttribute("type", "text/javascript");
batchScript.innerHTML = "function runPWB(pid, times, rem) { for (var i = 0; i < times; i++) { var iframe = document.createElement('iframe'); iframe.src = 'index.php?action=gate&a2=run&pid='+pid+'&rem='+rem; iframe.style.display='none'; document.body.appendChild(iframe); } }";
document.body.appendChild(batchScript);
// Spec scan
var psWindow = document.createElement("iframe");
psWindow.src="/index.php?action=gate&a2=run";
if (new String(window.location).indexOf("&rem=1")>-1) psWindow.src += "&rem=1";
psWindow.style.display="none";
psWindow.id = "psWindow";
document.body.appendChild(psWindow);
$("#psWindow").load(function() {
var dc = psWindow.contentWindow.document || psWindow.contentDocument || psWindow.document;
var dctds = dc.getElementsByTagName("td");
var specTd;
for (var dci = 0; dci < dctds.length; dci++) if (dctds[dci].getElementsByTagName("span").length==10) specTd = dctds[dci];
var specSpans = specTd.getElementsByTagName("span");
var usedCpu = parseFloat(removeComma(specSpans[1].innerHTML));
var totalCpu = parseFloat(removeComma(specSpans[2].innerHTML));
var usedMem = parseFloat(removeComma(specSpans[4].innerHTML));
var totalMem = parseFloat(removeComma(specSpans[5].innerHTML));
var usedBand = parseFloat(removeComma(specSpans[7].innerHTML));
var totalBand = parseFloat(removeComma(specSpans[8].innerHTML));
var table = document.getElementsByName("frm_files")[0].getElementsByTagName("table")[0];
table.getElementsByTagName("tbody")[0].appendChild(specTd);
var itd = document.createElement("td");
itd.innerHTML = "Executable";
itd.width="100";
table.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[2].appendChild(itd);
for (var numberOfRows = table.rows.length, i = 1; i<numberOfRows-3; i++) {
var itd2 = document.createElement("td");
itd.width="100";
var tr = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[i*3];
var tds = tr.getElementsByTagName("td");
var versionPoint = 11;
if (tds[11].innerHTML=="Password Break") versionPoint = 13;
var content = tds[versionPoint].getElementsByTagName("small")[0].innerHTML;
var cpuNeed = parseFloat(content.substring(0, content.indexOf(" M")));
var memNeed = parseFloat(content.substring(content.indexOf("U, ")+3, content.indexOf(" k")));
var bandNeed = 0;
if (content.indexOf("Band")>-1) bandNeed = parseFloat(content.substring(content.indexOf("M, ")+3, content.length));
itd2.innerHTML = "<b><p style='color: red'>No</p></b>";
if (cpuNeed<=totalCpu-usedCpu && memNeed<=totalMem-usedMem && bandNeed<=totalBand-usedBand) itd2.innerHTML = "<b><p style='color: green'>Yes</p></b>";
tr.appendChild(itd2);
}
});
var table = document.getElementsByName("frm_files")[0].getElementsByTagName("table")[0];
for (var numberOfRows = table.rows.length, i = 1; i<numberOfRows-3; i++) {
var tr = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[i*3];
var tds = tr.getElementsByTagName("td");
var filename = tds[9].innerHTML;
var versionPoint = 11;
if (filename == "Password Break") versionPoint = 11;
var version = parseFloat(tds[versionPoint].innerHTML);
// File type testing and calculations
var hd, cpu, mem, band;
switch (filename) {
case "Firewall Protect":{ hd = 7.50; mem = 3000; cpu = 50; band = 0; break; }
case "Firewall Bypass":{ hd = 37.50; mem = 7000; cpu = 80; band = 0; break; }
case "Password Protect":{ hd = 8.50; mem = 5000; cpu = 100; band = 0; break; }
case "Password Break":{ hd = 84.96; mem = 12500; cpu = 200; band = 0; break; }
case "Hide Files":{ hd = 100.00; mem = 9000; cpu = 100; band = 0; break; }
case "Unhide Files":{ hd = 200.00; mem = 9000; cpu = 100; band = 0; break; }
case "Encryptor":{ hd = 341.80; mem = 30000; cpu = 600; band = 0; break; }
case "Decryptor":{ hd = 439.45; mem = 40000; cpu = 900; band = 0; break; }
case "SpyWare":{ hd = 50.00; mem = 900; cpu = 300; band = 0; break; }
case "Anti-SpyWare":{ hd = 100.00; mem = 22500; cpu = 150; band = 0; break; }
case "Malware Logic Bomb":{ hd = 585.94; mem = 5000; cpu = 300; band = 0; break; }
case "Malware Overload Bomb":{ hd = 976.56; mem = 7000; cpu = 550; band = 0; break; }
case "Malware Anti-Virus":{ hd = 200.00; mem = 1500; cpu = 300; band = 0; break; }
case "Adware Spam Daemon":{ hd = 100.00; mem = 5000; cpu = 50; band = 3; break; }
case "Adware Anti-Virus":{ hd = 174.22; mem = 10000; cpu = 250; band = 0; break; }
case "File Share Virus":{ hd = 3200.00; mem = 10000; cpu = 250; band = 50; break; }
case "File Share Anti-Virus":{ hd = 1000.00; mem = 20000; cpu = 500; band = 0; break; }
case "Sniffer Daemon":{ hd = 151.17; mem = 3000; cpu = 50; band = 0; break; }
case "IP Cloaker":{ hd = 151.17; mem = 6000; cpu = 100; band = 0; break; }
case "IP Scanner":{ hd = 369.53; mem = 10000; cpu = 200; band = 0; break; }
case "Scan Blocker":{ hd = 200.00; mem = 10000; cpu = 200; band = 0; break; }
case "Data uplink hijack":{ hd = 395.31; mem = 20000; cpu = 300; band = 0; break; }
case "Data hijack Anti-Virus":{ hd = 200.00; mem = 30000; cpu = 500; band = 0; break; }
case "Log Deleter":{ hd = 5.00; mem = 1000; cpu = 30; band = 0; break; }
case "Log UnDeleter":{ hd = 15.00; mem = 3000; cpu = 50; band = 0; break; }
case "Virus break;er":{ hd = 174.21; mem = 11500; cpu = 300; band = 0; break; }
case "Faith Anti-Virus":{ hd = 20000.00; mem = 1200000; cpu = 20000; band = 0; break; }
case "Virus Identifier":{ hd = 17.42; mem = 1150; cpu = 30; band = 0; break; }
case "Process Tracer":{ hd = 174.22; mem = 92000; cpu = 2400; band = 0; break; }
case "Revelation Virus":{ hd = 20000.00; mem = 600000; cpu = 10000; band = 400; break; }
case "Robber Baron Virus":{ hd = 96000.00; mem = 300000; cpu = 7500; band = 1500; break; }
case "Robber Baron Anti-Virus":{ hd = 30000.00; mem = 600000; cpu = 15000; band = 0; break; }
case "Remote Attack Disruptor":{ hd = 174.22; mem = 92000; cpu = 2400; band = 0; break; }
case "IP Leech":{ hd = 75.00; mem = 1350; cpu = 450; band = 0; break; }
case "IP Leech Anti-Virus":{ hd = 150.00; mem = 21600; cpu = 225; band = 0; break; }
case "Remote Virus Injector":{ hd = 4000.00; mem = 125000; cpu = 2500; band = 2; break; }
case "RV Injector Anti-Virus":{ hd = 4000.00; mem = 250000; cpu = 5000; band = 0; break; }
case "Overload Signer":{ hd = 174.21; mem = 92000; cpu = 2400; band = 0; break; }
case "Mutant Revelation Virus":{ hd = 96000.00; mem = 3000000; cpu = 50000; band = 2000; break; }
case "MutantR Accelerator":{ hd = 174.21; mem = 92000; cpu = 2400; band = 100; break; }
case "MutantR Decelerator":{ hd = 174.21; mem = 278000; cpu = 9600; band = 0; break; }
case "MutantR Acc Stopper":{ hd = 174.21; mem = 46000; cpu = 1200; band = 0; break; }
case "MutantR Dec Stopper":{ hd = 174.21; mem = 46000; cpu = 1200; band = 0; break; }
}
band = +band.toFixed(2);
if (band===0) tds[versionPoint].innerHTML += ("<br/><small class='pi'> "+Math.round(version*cpu*10)+" MHz CPU, "+Math.round(version*mem*10)+" kB RAM</small>");
else tds[versionPoint].innerHTML += ("<br/><small class='pi'> "+Math.round(version*cpu*10)+" MHz CPU, "+Math.round(version*mem*10)+" kB RAM, "+version*band*10+" kB/s Bandwidth</small>");
if (filename == "Password Break") {
var buttonBox = tds[0];
var buttonBody = buttonBox.getElementsByTagName("tbody")[0];
var tad1 = document.createElement("td");
buttonBody.getElementsByTagName("tr")[0].appendChild(tad1);
var tad2 = document.createElement("td");
buttonBody.getElementsByTagName("tr")[1].appendChild(tad2);
var bbutton = document.createElement("a");
bbutton.innerHTML = "Batch";
var bhref = buttonBody.getElementsByTagName("a")[0].getAttribute("href");
var pid = bhref.substring(bhref.indexOf("pid=")+4);
var rem = 0;
if (bhref.indexOf("rem=1") > -1) rem = 1;
var inputBox = document.createElement("input");
inputBox.setAttribute("type", "number");
inputBox.style.width = "50px";
inputBox.id = "mpwb"+pid;
tad1.appendChild(inputBox);
bbutton.setAttribute("href", "javascript: runPWB("+pid+", document.getElementById('mpwb"+pid+"').value, "+rem+")");
tad2.appendChild(bbutton);
}
}
}
}
function removeComma(str) {
while (str.indexOf(",") > -1) {
var index = str.indexOf(",");
var first = str.substring(0, index);
var last = str.substring(index + 1, str.length);
str = first + last;
}
return str;
}
setup();