Gateway Mods

This script adds some functions to speed up HP operations

目前為 2015-07-22 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Gateway Mods
  3. // @namespace http://www.hacker-project.com/
  4. // @version 1.5
  5. // @description This script adds some functions to speed up HP operations
  6. // @author Kevin Mitnick
  7. // @match http://www.hacker-project.com/*
  8. // @match http://hacker-project.com/*
  9. // @grant none
  10. // @require http://code.jquery.com/jquery-latest.js
  11. // ==/UserScript==
  12.  
  13. function setup() {
  14. // Setup jQuery
  15. var jQueryScript = document.createElement("script");
  16. jQueryScript.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js");
  17. document.head.appendChild(jQueryScript);
  18. // COMMENT THE FOLLOWING LINE OUT IF YOU DON'T WANT COURIER NEW FONT
  19. for (var x = 0; x < document.getElementsByTagName("td").length; x++) document.getElementsByTagName("td")[x].style.fontFamily="Courier New";
  20. if (new String(window.location).indexOf("hacker-project.com/index.php?action=gate&a2=files") > -1) {
  21. // Batch script
  22. var batchScript = document.createElement("script");
  23. batchScript.setAttribute("type", "text/javascript");
  24. 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); } }";
  25. document.body.appendChild(batchScript);
  26. // Spec scan
  27. var psWindow = document.createElement("iframe");
  28. psWindow.src="/index.php?action=gate&a2=run";
  29. if (new String(window.location).indexOf("&rem=1")>-1) psWindow.src += "&rem=1";
  30. psWindow.style.display="none";
  31. psWindow.id = "psWindow";
  32. document.body.appendChild(psWindow);
  33. $("#psWindow").load(function() {
  34. var dc = psWindow.contentWindow.document || psWindow.contentDocument || psWindow.document;
  35. var dctds = dc.getElementsByTagName("td");
  36. var specTd;
  37. for (var dci = 0; dci < dctds.length; dci++) if (dctds[dci].getElementsByTagName("span").length==10) specTd = dctds[dci];
  38. var specSpans = specTd.getElementsByTagName("span");
  39. var usedCpu = parseFloat(removeComma(specSpans[1].innerHTML));
  40. var totalCpu = parseFloat(removeComma(specSpans[2].innerHTML));
  41. var usedMem = parseFloat(removeComma(specSpans[4].innerHTML));
  42. var totalMem = parseFloat(removeComma(specSpans[5].innerHTML));
  43. var usedBand = parseFloat(removeComma(specSpans[7].innerHTML));
  44. var totalBand = parseFloat(removeComma(specSpans[8].innerHTML));
  45. var table = document.getElementsByName("frm_files")[0].getElementsByTagName("table")[0];
  46. table.getElementsByTagName("tbody")[0].appendChild(specTd);
  47. var itd = document.createElement("td");
  48. itd.innerHTML = "Executable";
  49. itd.width="100";
  50. table.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[2].appendChild(itd);
  51. for (var numberOfRows = table.rows.length, i = 1; i<numberOfRows-3; i++) {
  52. var itd2 = document.createElement("td");
  53. itd.width="100";
  54. var tr = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[i*3];
  55. var tds = tr.getElementsByTagName("td");
  56. var versionPoint = 11;
  57. if (tds[11].innerHTML=="Password Break") versionPoint = 13;
  58. var content = tds[versionPoint].getElementsByTagName("small")[0].innerHTML;
  59. var cpuNeed = parseFloat(content.substring(0, content.indexOf(" M")));
  60. var memNeed = parseFloat(content.substring(content.indexOf("U, ")+3, content.indexOf(" k")));
  61. var bandNeed = 0;
  62. if (content.indexOf("Band")>-1) bandNeed = parseFloat(content.substring(content.indexOf("M, ")+3, content.length));
  63. itd2.innerHTML = "<b><p style='color: red'>No</p></b>";
  64. if (cpuNeed<=totalCpu-usedCpu && memNeed<=totalMem-usedMem && bandNeed<=totalBand-usedBand) itd2.innerHTML = "<b><p style='color: green'>Yes</p></b>";
  65. tr.appendChild(itd2);
  66. }
  67. });
  68.  
  69. var table = document.getElementsByName("frm_files")[0].getElementsByTagName("table")[0];
  70. for (var numberOfRows = table.rows.length, i = 1; i<numberOfRows-3; i++) {
  71. var tr = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[i*3];
  72. var tds = tr.getElementsByTagName("td");
  73. var filename = tds[9].innerHTML;
  74. var versionPoint = 11;
  75. if (filename == "Password Break") versionPoint = 11;
  76. var version = parseFloat(tds[versionPoint].innerHTML);
  77.  
  78. // File type testing and calculations
  79. var hd, cpu, mem, band;
  80. switch (filename) {
  81. case "Firewall Protect":{ hd = 7.50; mem = 3000; cpu = 50; band = 0; break; }
  82. case "Firewall Bypass":{ hd = 37.50; mem = 7000; cpu = 80; band = 0; break; }
  83. case "Password Protect":{ hd = 8.50; mem = 5000; cpu = 100; band = 0; break; }
  84. case "Password Break":{ hd = 84.96; mem = 12500; cpu = 200; band = 0; break; }
  85. case "Hide Files":{ hd = 100.00; mem = 9000; cpu = 100; band = 0; break; }
  86. case "Unhide Files":{ hd = 200.00; mem = 9000; cpu = 100; band = 0; break; }
  87. case "Encryptor":{ hd = 341.80; mem = 30000; cpu = 600; band = 0; break; }
  88. case "Decryptor":{ hd = 439.45; mem = 40000; cpu = 900; band = 0; break; }
  89. case "SpyWare":{ hd = 50.00; mem = 900; cpu = 300; band = 0; break; }
  90. case "Anti-SpyWare":{ hd = 100.00; mem = 22500; cpu = 150; band = 0; break; }
  91. case "Malware Logic Bomb":{ hd = 585.94; mem = 5000; cpu = 300; band = 0; break; }
  92. case "Malware Overload Bomb":{ hd = 976.56; mem = 7000; cpu = 550; band = 0; break; }
  93. case "Malware Anti-Virus":{ hd = 200.00; mem = 1500; cpu = 300; band = 0; break; }
  94. case "Adware Spam Daemon":{ hd = 100.00; mem = 5000; cpu = 50; band = 3; break; }
  95. case "Adware Anti-Virus":{ hd = 174.22; mem = 10000; cpu = 250; band = 0; break; }
  96. case "File Share Virus":{ hd = 3200.00; mem = 10000; cpu = 250; band = 50; break; }
  97. case "File Share Anti-Virus":{ hd = 1000.00; mem = 20000; cpu = 500; band = 0; break; }
  98. case "Sniffer Daemon":{ hd = 151.17; mem = 3000; cpu = 50; band = 0; break; }
  99. case "IP Cloaker":{ hd = 151.17; mem = 6000; cpu = 100; band = 0; break; }
  100. case "IP Scanner":{ hd = 369.53; mem = 10000; cpu = 200; band = 0; break; }
  101. case "Scan Blocker":{ hd = 200.00; mem = 10000; cpu = 200; band = 0; break; }
  102. case "Data uplink hijack":{ hd = 395.31; mem = 20000; cpu = 300; band = 0; break; }
  103. case "Data hijack Anti-Virus":{ hd = 200.00; mem = 30000; cpu = 500; band = 0; break; }
  104. case "Log Deleter":{ hd = 5.00; mem = 1000; cpu = 30; band = 0; break; }
  105. case "Log UnDeleter":{ hd = 15.00; mem = 3000; cpu = 50; band = 0; break; }
  106. case "Virus break;er":{ hd = 174.21; mem = 11500; cpu = 300; band = 0; break; }
  107. case "Faith Anti-Virus":{ hd = 20000.00; mem = 1200000; cpu = 20000; band = 0; break; }
  108. case "Virus Identifier":{ hd = 17.42; mem = 1150; cpu = 30; band = 0; break; }
  109. case "Process Tracer":{ hd = 174.22; mem = 92000; cpu = 2400; band = 0; break; }
  110. case "Revelation Virus":{ hd = 20000.00; mem = 600000; cpu = 10000; band = 400; break; }
  111. case "Robber Baron Virus":{ hd = 96000.00; mem = 300000; cpu = 7500; band = 1500; break; }
  112. case "Robber Baron Anti-Virus":{ hd = 30000.00; mem = 600000; cpu = 15000; band = 0; break; }
  113. case "Remote Attack Disruptor":{ hd = 174.22; mem = 92000; cpu = 2400; band = 0; break; }
  114. case "IP Leech":{ hd = 75.00; mem = 1350; cpu = 450; band = 0; break; }
  115. case "IP Leech Anti-Virus":{ hd = 150.00; mem = 21600; cpu = 225; band = 0; break; }
  116. case "Remote Virus Injector":{ hd = 4000.00; mem = 125000; cpu = 2500; band = 2; break; }
  117. case "RV Injector Anti-Virus":{ hd = 4000.00; mem = 250000; cpu = 5000; band = 0; break; }
  118. case "Overload Signer":{ hd = 174.21; mem = 92000; cpu = 2400; band = 0; break; }
  119. case "Mutant Revelation Virus":{ hd = 96000.00; mem = 3000000; cpu = 50000; band = 2000; break; }
  120. case "MutantR Accelerator":{ hd = 174.21; mem = 92000; cpu = 2400; band = 100; break; }
  121. case "MutantR Decelerator":{ hd = 174.21; mem = 278000; cpu = 9600; band = 0; break; }
  122. case "MutantR Acc Stopper":{ hd = 174.21; mem = 46000; cpu = 1200; band = 0; break; }
  123. case "MutantR Dec Stopper":{ hd = 174.21; mem = 46000; cpu = 1200; band = 0; break; }
  124. }
  125. band = +band.toFixed(2);
  126. 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>");
  127. 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>");
  128.  
  129. if (filename == "Password Break") {
  130. var buttonBox = tds[0];
  131. var buttonBody = buttonBox.getElementsByTagName("tbody")[0];
  132. var tad1 = document.createElement("td");
  133. buttonBody.getElementsByTagName("tr")[0].appendChild(tad1);
  134. var tad2 = document.createElement("td");
  135. buttonBody.getElementsByTagName("tr")[1].appendChild(tad2);
  136. var bbutton = document.createElement("a");
  137. bbutton.innerHTML = "Batch";
  138. var bhref = buttonBody.getElementsByTagName("a")[0].getAttribute("href");
  139. var pid = bhref.substring(bhref.indexOf("pid=")+4);
  140. var rem = 0;
  141. if (bhref.indexOf("rem=1") > -1) rem = 1;
  142. var inputBox = document.createElement("input");
  143. inputBox.setAttribute("type", "number");
  144. inputBox.style.width = "50px";
  145. inputBox.id = "mpwb"+pid;
  146. tad1.appendChild(inputBox);
  147. bbutton.setAttribute("href", "javascript: runPWB("+pid+", document.getElementById('mpwb"+pid+"').value, "+rem+")");
  148. tad2.appendChild(bbutton);
  149. }
  150. }
  151. }
  152. }
  153. function removeComma(str) {
  154. while (str.indexOf(",") > -1) {
  155. var index = str.indexOf(",");
  156. var first = str.substring(0, index);
  157. var last = str.substring(index + 1, str.length);
  158. str = first + last;
  159. }
  160. return str;
  161. }
  162. setup();