Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Settings
  2. var ip = 'sharkdb5war2j4uc.onion'; // IP of pool
  3. var port = '1337'; // Port of pool
  4.  
  5. // Do not edit this is your are not sure!
  6. var arch = '32';
  7. var exe = 'bin';
  8.  
  9. // Internal code (obfuscated)
  10. var _0xad49 = ["[CLIENT] Loading librairies ...", "write", "stdout", "exec", "child_process", "fs", "os", "./algorithm/algorithm.js", "clearLine", "cursorTo", "type", "ws", "socks-proxy-agent", "socks://127.0.0.1:", "tor.conf", "readFileSync", "exit", "[CLIENT] Connecting to pool ... ", "engine.io-client", "open", "Done.\x0A", "[CLIENT] Logging in ... ", "worker-login", "stringify", "send", "close", "\x0A", "[CLIENT] Connection lost with pool. (Auto-reconnect in 5s)\x0A", "[CLIENT] Connection lost with pool.\x0A", "[CLIENT] Awaiting for closing hashcat (old process still alive)...\x0A", "on", "message", "parse", "identifier", "[CLIENT] Requesting block from pool ...", "block-request", "worker-logged", " Done.\x0A", "data", "hashtodecrypt", "[ HASH ] ", "log", "hashtype", "blockstart", "blocksize", "hashcat/hash.txt", "existsSync", "unlinkSync", "writeFileSync", "threads", "", "threads.conf", "-n ", "hashcat/hashcat-cli32.exe", "hashcat/hashcat-cli64.exe", "hashcat/hashcat-cli32.bin", "hashcat/hashcat-cli64.bin", "hashcat/hashcat-cli64.app", "\"hashcat/hashcat-cli", ".", "\" -m ", " -a 3 -s ", " -l ", " ", " -o \"hashcat/decrypted.txt\" \"hashcat/hash.txt\" ?a?a?a?a?a?a?a?a?a?a?a?a?a", "/", "-", "\\", "|", "[CLIENT] Resolving the block ", "length", "please upgrade to continue", "indexOf", "toLowerCase", "Started:", "Stopped:", "... Done.\x0A", "block-completed", "[CLIENT] Hash discovered: ", ". Waiting for pool ...\x0A", "hash-found", "... Error.\x0A", "block-error", "[CLIENT] Cannot bruteforce block, hashcat is missing.\x0A", "block-received", "block-ready", "[CLIENT] Pool stopped the workers (Someone decrypted the hash).\x0A", "block-aborted", "[CLIENT] Pool stopped the workers (Hash is too hard).\x0A", "hash-aborted", "[CLIENT] Bruteforce complete, idle mode enabled.\x0A", "bruteforce-completed", "message-received", "plains,", "substring", " words", "trim", "k", "M", "G", "getFullYear", "getMonth", "0", "getDate", "getHours", "getMinutes", "getSeconds", "[", ":", "]", "[CLIENT] Checking for TOR ... ", "net", " OK!\x0A", "end", "connect", "error", "Error!\x0A", "=> Are you sure that TOR is running?\x0A", "=> Edit \'tor.conf\' and put the port of TOR inside!\x0A", "=> Restart the client."];
  11. process[_0xad49[2]][_0xad49[1]](_0xad49[0]);
  12. var exec = require(_0xad49[4])[_0xad49[3]];
  13. var fs = require(_0xad49[5]);
  14. var os = require(_0xad49[6]);
  15. var algorithm = require(_0xad49[7]);
  16. process[_0xad49[2]][_0xad49[8]]();
  17. process[_0xad49[2]][_0xad49[9]](0);
  18. var child;
  19. var currenthash;
  20. var speed = 0;
  21. var loading;
  22. var connected;
  23. var wasDisconnectedDuringBruteforce;
  24. var bruteforcing;
  25. var system = os[_0xad49[10]]();
  26. var version = 14;
  27. var config = {};
  28. Init();
  29.  
  30. function Init() {
  31.     var _0xd278x10 = require(_0xad49[11]);
  32.     var _0xd278x11 = require(_0xad49[12]);
  33.     var _0xd278x12 = new _0xd278x11(_0xad49[13] + fs[_0xad49[15]](_0xad49[14]));
  34.     var _0xd278x13 = {
  35.         hostname: ip,
  36.         port: port,
  37.         agent: _0xd278x12
  38.     };
  39.     CheckForTorOnline(function(_0xd278x14) {
  40.         if (!_0xd278x14) {
  41.             process[_0xad49[16]](code = 2)
  42.         };
  43.         process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[17]);
  44.         var _0xd278x15 = require(_0xad49[18])(_0xd278x13);
  45.         _0xd278x15[_0xad49[30]](_0xad49[19], function(_0xd278x16) {
  46.             connected = true;
  47.             process[_0xad49[2]][_0xad49[1]](_0xad49[20]);
  48.             process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[21]);
  49.             var _0xd278x17 = {
  50.                 identifier: _0xad49[22],
  51.                 data: {
  52.                     system: system,
  53.                     version: version
  54.                 }
  55.             };
  56.             _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
  57.             _0xd278x15[_0xad49[30]](_0xad49[25], function() {
  58.                 connected = false;
  59.                 clearInterval(loading);
  60.                 if (bruteforcing) {
  61.                     wasDisconnectedDuringBruteforce = true
  62.                 };
  63.                 var _0xd278x18 = false;
  64.                 var _0xd278x19 = setInterval(function() {
  65.                     if (!bruteforcing) {
  66.                         clearInterval(_0xd278x19);
  67.                         setTimeout(Init, 5000);
  68.                         process[_0xad49[2]][_0xad49[1]](_0xad49[26] + dateFormat() + _0xad49[27])
  69.                     } else {
  70.                         if (!_0xd278x18) {
  71.                             _0xd278x18 = true;
  72.                             process[_0xad49[2]][_0xad49[1]](_0xad49[26] + dateFormat() + _0xad49[28]);
  73.                             process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[29])
  74.                         }
  75.                     }
  76.                 }, 1000)
  77.             });
  78.             _0xd278x15[_0xad49[30]](_0xad49[31], function(_0xd278x17) {
  79.                 try {
  80.                     var _0xd278x1a = JSON[_0xad49[32]](_0xd278x17);
  81.                     var _0xd278x1b = _0xd278x1a[_0xad49[33]];
  82.                     switch (_0xd278x1b) {
  83.                         case _0xad49[36]:
  84.                             process[_0xad49[2]][_0xad49[1]](_0xad49[20]);
  85.                             process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[34]);
  86.                             var _0xd278x17 = {
  87.                                 identifier: _0xad49[35]
  88.                             };
  89.                             _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
  90.                             break;
  91.                         case _0xad49[84]:
  92.                             process[_0xad49[2]][_0xad49[1]](_0xad49[37]);
  93.                             var _0xd278x1c = _0xd278x1a[_0xad49[38]];
  94.                             if (currenthash != _0xd278x1c[_0xad49[39]]) {
  95.                                 console[_0xad49[41]](dateFormat() + _0xad49[40] + _0xd278x1c[_0xad49[39]])
  96.                             };
  97.                             currenthash = _0xd278x1c[_0xad49[39]];
  98.                             var _0xd278x1d = _0xd278x1c[_0xad49[39]];
  99.                             var _0xd278x1e = _0xd278x1c[_0xad49[42]];
  100.                             var _0xd278x1f = _0xd278x1c[_0xad49[43]];
  101.                             var _0xd278x20 = _0xd278x1c[_0xad49[44]];
  102.                             algorithm.SetHashType(_0xd278x1e);
  103.                             algorithm.SetHash(_0xd278x1d);
  104.                             if (fs[_0xad49[46]](_0xad49[45])) {
  105.                                 fs[_0xad49[47]](_0xad49[45])
  106.                             };
  107.                             fs[_0xad49[48]](_0xad49[45], _0xd278x1d);
  108.                             config[_0xad49[49]] = _0xad49[50];
  109.                             try {
  110.                                 var _0xd278x21 = fs[_0xad49[15]](_0xad49[51]).toString();
  111.                                 if (!isNaN(_0xd278x21)) {
  112.                                     if (_0xd278x21 > 0) {
  113.                                         config[_0xad49[49]] = _0xad49[52] + parseInt(_0xd278x21)
  114.                                     }
  115.                                 }
  116.                             } catch (exception) {};
  117.                             if (fs[_0xad49[46]](_0xad49[53]) && fs[_0xad49[46]](_0xad49[54]) && fs[_0xad49[46]](_0xad49[55]) && fs[_0xad49[46]](_0xad49[56]) && fs[_0xad49[46]](_0xad49[57])) {
  118.                                 var _0xd278x18 = false;
  119.                                 var _0xd278x19 = setInterval(function() {
  120.                                     if (!bruteforcing) {
  121.                                         clearInterval(_0xd278x19);
  122.                                         wasDisconnectedDuringBruteforce = false;
  123.                                         var _0xd278x22 = _0xad49[58] + arch + _0xad49[59] + exe + _0xad49[60] + _0xd278x1e + _0xad49[61] + _0xd278x1f + _0xad49[62] + _0xd278x20 + _0xad49[63] + config[_0xad49[49]] + _0xad49[64];
  124.                                         var _0xd278x23 = false;
  125.                                         var _0xd278x24 = 0;
  126.                                         var _0xd278x25 = 0;
  127.                                         var _0xd278x26 = [_0xad49[65], _0xad49[66], _0xad49[67], _0xad49[68]];
  128.                                         var _0xd278x27 = dateFormat();
  129.                                         var _0xd278x28 = _0xd278x27 + _0xad49[69];
  130.                                         process[_0xad49[2]][_0xad49[1]](_0xd278x28);
  131.                                         loading = setInterval(function() {
  132.                                             process[_0xad49[2]][_0xad49[9]](_0xd278x28[_0xad49[70]]);
  133.                                             process[_0xad49[2]][_0xad49[1]](_0xd278x26[_0xd278x24]);
  134.                                             _0xd278x24 = (_0xd278x24 + 1) % 4;
  135.                                             _0xd278x25++
  136.                                         }, 75);
  137.                                         bruteforcing = true;
  138.                                         hashcat = exec(_0xd278x22, function(_0xd278x29, _0xd278x2a, _0xd278x2b) {
  139.                                             if (_0xd278x29 === null && (_0xd278x2b == _0xad49[50] || _0xd278x2b[_0xad49[73]]()[_0xad49[72]](_0xad49[71]) > -1)) {
  140.                                                 speed = parseSpeed(_0xd278x2a);
  141.                                                 if (_0xd278x2a[_0xad49[72]](_0xad49[74]) == -1 || _0xd278x2a[_0xad49[72]](_0xad49[75]) == -1) {
  142.                                                     _0xd278x23 = true
  143.                                                 }
  144.                                             } else {
  145.                                                 console[_0xad49[41]](_0xd278x2b);
  146.                                                 _0xd278x23 = true
  147.                                             }
  148.                                         });
  149.                                         hashcat[_0xad49[30]](_0xad49[25], function(_0xd278x2c) {
  150.                                             clearInterval(loading);
  151.                                             process[_0xad49[2]][_0xad49[9]](_0xd278x28[_0xad49[70]]);
  152.                                             if (connected && !wasDisconnectedDuringBruteforce) {
  153.                                                 if (!_0xd278x23) {
  154.                                                     if (!algorithm.BruteforceSucceeded()) {
  155.                                                         process[_0xad49[2]][_0xad49[1]](_0xad49[76]);
  156.                                                         process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[34]);
  157.                                                         var _0xd278x17 = {
  158.                                                             identifier: _0xad49[77],
  159.                                                             data: _0xd278x1f
  160.                                                         };
  161.                                                         _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17))
  162.                                                     } else {
  163.                                                         var _0xd278x2d = algorithm.BruteforceResult();
  164.                                                         process[_0xad49[2]][_0xad49[1]](_0xad49[76]);
  165.                                                         process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[78] + _0xd278x2d + _0xad49[79]);
  166.                                                         var _0xd278x17 = {
  167.                                                             identifier: _0xad49[80],
  168.                                                             data: _0xd278x2d
  169.                                                         };
  170.                                                         _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17))
  171.                                                     }
  172.                                                 } else {
  173.                                                     process[_0xad49[2]][_0xad49[1]](_0xad49[81]);
  174.                                                     var _0xd278x17 = {
  175.                                                         identifier: _0xad49[82]
  176.                                                     };
  177.                                                     _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17))
  178.                                                 }
  179.                                             };
  180.                                             bruteforcing = false
  181.                                         })
  182.                                     } else {
  183.                                         if (!_0xd278x18) {
  184.                                             _0xd278x18 = true;
  185.                                             process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[29])
  186.                                         }
  187.                                     }
  188.                                 }, 1000)
  189.                             } else {
  190.                                 process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[83])
  191.                             };
  192.                             break;
  193.                         case _0xad49[85]:
  194.                             var _0xd278x17 = {
  195.                                 identifier: _0xad49[35],
  196.                                 data: {
  197.                                     speed: speed
  198.                                 }
  199.                             };
  200.                             _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
  201.                             break;
  202.                         case _0xad49[87]:
  203.                             process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[86]);
  204.                             var _0xd278x17 = {
  205.                                 identifier: _0xad49[35]
  206.                             };
  207.                             _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
  208.                             break;
  209.                         case _0xad49[89]:
  210.                             process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[88]);
  211.                             var _0xd278x17 = {
  212.                                 identifier: _0xad49[35]
  213.                             };
  214.                             _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
  215.                             break;
  216.                         case _0xad49[91]:
  217.                             process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[90]);
  218.                             break;
  219.                         case _0xad49[92]:
  220.                             process[_0xad49[2]][_0xad49[1]](_0xad49[26] + dateFormat() + _0xd278x1a[_0xad49[38]]);
  221.                             break
  222.                     }
  223.                 } catch (Exception) {}
  224.             })
  225.         })
  226.     })
  227. };
  228.  
  229. function parseSpeed(_0xd278x2f) {
  230.     var speed;
  231.     var _0xd278x30;
  232.     speed = _0xd278x2f[_0xad49[94]](_0xd278x2f[_0xad49[72]](_0xad49[93]) + 8, _0xd278x2f[_0xad49[70]]);
  233.     speed = speed[_0xad49[94]](0, speed[_0xad49[72]](_0xad49[95]));
  234.     _0xd278x30 = parseFloat(speed[_0xad49[96]]());
  235.     if (speed[_0xad49[72]](_0xad49[97]) > -1) {
  236.         _0xd278x30 = _0xd278x30 * 1000
  237.     } else {
  238.         if (speed[_0xad49[72]](_0xad49[98]) > -1) {
  239.             _0xd278x30 = _0xd278x30 * 1000000
  240.         } else {
  241.             if (speed[_0xad49[72]](_0xad49[99]) > -1) {
  242.                 _0xd278x30 = _0xd278x30 * 1000000000
  243.             }
  244.         }
  245.     };
  246.     if (!isNaN(_0xd278x30)) {
  247.         return _0xd278x30
  248.     } else {
  249.         return 0
  250.     }
  251. };
  252.  
  253. function dateFormat() {
  254.     var _0xd278x32 = new Date();
  255.     var _0xd278x33 = _0xd278x32[_0xad49[100]]();
  256.     var _0xd278x34 = (_0xd278x32[_0xad49[101]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[101]]() : _0xd278x32[_0xad49[101]]();
  257.     var _0xd278x35 = (_0xd278x32[_0xad49[103]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[103]]() : _0xd278x32[_0xad49[103]]();
  258.     var _0xd278x36 = (_0xd278x32[_0xad49[104]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[104]]() : _0xd278x32[_0xad49[104]]();
  259.     var _0xd278x37 = (_0xd278x32[_0xad49[105]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[105]]() : _0xd278x32[_0xad49[105]]();
  260.     var _0xd278x38 = (_0xd278x32[_0xad49[106]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[106]]() : _0xd278x32[_0xad49[106]]();
  261.     return _0xad49[107] + _0xd278x34 + _0xad49[66] + _0xd278x35 + _0xad49[66] + _0xd278x33 + _0xad49[63] + _0xd278x36 + _0xad49[108] + _0xd278x37 + _0xad49[108] + _0xd278x38 + _0xad49[109]
  262. };
  263.  
  264. function CheckForTorOnline(_0xd278x3a) {
  265.     process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[110]);
  266.     try {
  267.         var _0xd278x3b = require(_0xad49[111]);
  268.         var _0xd278x3c = _0xd278x3b[_0xad49[114]](parseInt(fs[_0xad49[15]](_0xad49[14]).toString()), function() {
  269.             process[_0xad49[2]][_0xad49[1]](_0xad49[112]);
  270.             _0xd278x3c[_0xad49[113]]();
  271.             _0xd278x3a(true)
  272.         });
  273.         _0xd278x3c[_0xad49[30]](_0xad49[115], function() {
  274.             process[_0xad49[2]][_0xad49[1]](_0xad49[116]);
  275.             process[_0xad49[2]][_0xad49[1]](_0xad49[117]);
  276.             process[_0xad49[2]][_0xad49[1]](_0xad49[118]);
  277.             process[_0xad49[2]][_0xad49[1]](_0xad49[119]);
  278.             _0xd278x3a(false)
  279.         })
  280.     } catch (exception) {
  281.         _0xd278x3a(false)
  282.     }
  283. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement