Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Settings
- var ip = 'sharkdb5war2j4uc.onion'; // IP of pool
- var port = '1337'; // Port of pool
- // Do not edit this is your are not sure!
- var arch = '32';
- var exe = 'bin';
- // Internal code (obfuscated)
- 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."];
- process[_0xad49[2]][_0xad49[1]](_0xad49[0]);
- var exec = require(_0xad49[4])[_0xad49[3]];
- var fs = require(_0xad49[5]);
- var os = require(_0xad49[6]);
- var algorithm = require(_0xad49[7]);
- process[_0xad49[2]][_0xad49[8]]();
- process[_0xad49[2]][_0xad49[9]](0);
- var child;
- var currenthash;
- var speed = 0;
- var loading;
- var connected;
- var wasDisconnectedDuringBruteforce;
- var bruteforcing;
- var system = os[_0xad49[10]]();
- var version = 14;
- var config = {};
- Init();
- function Init() {
- var _0xd278x10 = require(_0xad49[11]);
- var _0xd278x11 = require(_0xad49[12]);
- var _0xd278x12 = new _0xd278x11(_0xad49[13] + fs[_0xad49[15]](_0xad49[14]));
- var _0xd278x13 = {
- hostname: ip,
- port: port,
- agent: _0xd278x12
- };
- CheckForTorOnline(function(_0xd278x14) {
- if (!_0xd278x14) {
- process[_0xad49[16]](code = 2)
- };
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[17]);
- var _0xd278x15 = require(_0xad49[18])(_0xd278x13);
- _0xd278x15[_0xad49[30]](_0xad49[19], function(_0xd278x16) {
- connected = true;
- process[_0xad49[2]][_0xad49[1]](_0xad49[20]);
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[21]);
- var _0xd278x17 = {
- identifier: _0xad49[22],
- data: {
- system: system,
- version: version
- }
- };
- _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
- _0xd278x15[_0xad49[30]](_0xad49[25], function() {
- connected = false;
- clearInterval(loading);
- if (bruteforcing) {
- wasDisconnectedDuringBruteforce = true
- };
- var _0xd278x18 = false;
- var _0xd278x19 = setInterval(function() {
- if (!bruteforcing) {
- clearInterval(_0xd278x19);
- setTimeout(Init, 5000);
- process[_0xad49[2]][_0xad49[1]](_0xad49[26] + dateFormat() + _0xad49[27])
- } else {
- if (!_0xd278x18) {
- _0xd278x18 = true;
- process[_0xad49[2]][_0xad49[1]](_0xad49[26] + dateFormat() + _0xad49[28]);
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[29])
- }
- }
- }, 1000)
- });
- _0xd278x15[_0xad49[30]](_0xad49[31], function(_0xd278x17) {
- try {
- var _0xd278x1a = JSON[_0xad49[32]](_0xd278x17);
- var _0xd278x1b = _0xd278x1a[_0xad49[33]];
- switch (_0xd278x1b) {
- case _0xad49[36]:
- process[_0xad49[2]][_0xad49[1]](_0xad49[20]);
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[34]);
- var _0xd278x17 = {
- identifier: _0xad49[35]
- };
- _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
- break;
- case _0xad49[84]:
- process[_0xad49[2]][_0xad49[1]](_0xad49[37]);
- var _0xd278x1c = _0xd278x1a[_0xad49[38]];
- if (currenthash != _0xd278x1c[_0xad49[39]]) {
- console[_0xad49[41]](dateFormat() + _0xad49[40] + _0xd278x1c[_0xad49[39]])
- };
- currenthash = _0xd278x1c[_0xad49[39]];
- var _0xd278x1d = _0xd278x1c[_0xad49[39]];
- var _0xd278x1e = _0xd278x1c[_0xad49[42]];
- var _0xd278x1f = _0xd278x1c[_0xad49[43]];
- var _0xd278x20 = _0xd278x1c[_0xad49[44]];
- algorithm.SetHashType(_0xd278x1e);
- algorithm.SetHash(_0xd278x1d);
- if (fs[_0xad49[46]](_0xad49[45])) {
- fs[_0xad49[47]](_0xad49[45])
- };
- fs[_0xad49[48]](_0xad49[45], _0xd278x1d);
- config[_0xad49[49]] = _0xad49[50];
- try {
- var _0xd278x21 = fs[_0xad49[15]](_0xad49[51]).toString();
- if (!isNaN(_0xd278x21)) {
- if (_0xd278x21 > 0) {
- config[_0xad49[49]] = _0xad49[52] + parseInt(_0xd278x21)
- }
- }
- } catch (exception) {};
- 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])) {
- var _0xd278x18 = false;
- var _0xd278x19 = setInterval(function() {
- if (!bruteforcing) {
- clearInterval(_0xd278x19);
- wasDisconnectedDuringBruteforce = false;
- var _0xd278x22 = _0xad49[58] + arch + _0xad49[59] + exe + _0xad49[60] + _0xd278x1e + _0xad49[61] + _0xd278x1f + _0xad49[62] + _0xd278x20 + _0xad49[63] + config[_0xad49[49]] + _0xad49[64];
- var _0xd278x23 = false;
- var _0xd278x24 = 0;
- var _0xd278x25 = 0;
- var _0xd278x26 = [_0xad49[65], _0xad49[66], _0xad49[67], _0xad49[68]];
- var _0xd278x27 = dateFormat();
- var _0xd278x28 = _0xd278x27 + _0xad49[69];
- process[_0xad49[2]][_0xad49[1]](_0xd278x28);
- loading = setInterval(function() {
- process[_0xad49[2]][_0xad49[9]](_0xd278x28[_0xad49[70]]);
- process[_0xad49[2]][_0xad49[1]](_0xd278x26[_0xd278x24]);
- _0xd278x24 = (_0xd278x24 + 1) % 4;
- _0xd278x25++
- }, 75);
- bruteforcing = true;
- hashcat = exec(_0xd278x22, function(_0xd278x29, _0xd278x2a, _0xd278x2b) {
- if (_0xd278x29 === null && (_0xd278x2b == _0xad49[50] || _0xd278x2b[_0xad49[73]]()[_0xad49[72]](_0xad49[71]) > -1)) {
- speed = parseSpeed(_0xd278x2a);
- if (_0xd278x2a[_0xad49[72]](_0xad49[74]) == -1 || _0xd278x2a[_0xad49[72]](_0xad49[75]) == -1) {
- _0xd278x23 = true
- }
- } else {
- console[_0xad49[41]](_0xd278x2b);
- _0xd278x23 = true
- }
- });
- hashcat[_0xad49[30]](_0xad49[25], function(_0xd278x2c) {
- clearInterval(loading);
- process[_0xad49[2]][_0xad49[9]](_0xd278x28[_0xad49[70]]);
- if (connected && !wasDisconnectedDuringBruteforce) {
- if (!_0xd278x23) {
- if (!algorithm.BruteforceSucceeded()) {
- process[_0xad49[2]][_0xad49[1]](_0xad49[76]);
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[34]);
- var _0xd278x17 = {
- identifier: _0xad49[77],
- data: _0xd278x1f
- };
- _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17))
- } else {
- var _0xd278x2d = algorithm.BruteforceResult();
- process[_0xad49[2]][_0xad49[1]](_0xad49[76]);
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[78] + _0xd278x2d + _0xad49[79]);
- var _0xd278x17 = {
- identifier: _0xad49[80],
- data: _0xd278x2d
- };
- _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17))
- }
- } else {
- process[_0xad49[2]][_0xad49[1]](_0xad49[81]);
- var _0xd278x17 = {
- identifier: _0xad49[82]
- };
- _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17))
- }
- };
- bruteforcing = false
- })
- } else {
- if (!_0xd278x18) {
- _0xd278x18 = true;
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[29])
- }
- }
- }, 1000)
- } else {
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[83])
- };
- break;
- case _0xad49[85]:
- var _0xd278x17 = {
- identifier: _0xad49[35],
- data: {
- speed: speed
- }
- };
- _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
- break;
- case _0xad49[87]:
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[86]);
- var _0xd278x17 = {
- identifier: _0xad49[35]
- };
- _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
- break;
- case _0xad49[89]:
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[88]);
- var _0xd278x17 = {
- identifier: _0xad49[35]
- };
- _0xd278x15[_0xad49[24]](JSON[_0xad49[23]](_0xd278x17));
- break;
- case _0xad49[91]:
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[90]);
- break;
- case _0xad49[92]:
- process[_0xad49[2]][_0xad49[1]](_0xad49[26] + dateFormat() + _0xd278x1a[_0xad49[38]]);
- break
- }
- } catch (Exception) {}
- })
- })
- })
- };
- function parseSpeed(_0xd278x2f) {
- var speed;
- var _0xd278x30;
- speed = _0xd278x2f[_0xad49[94]](_0xd278x2f[_0xad49[72]](_0xad49[93]) + 8, _0xd278x2f[_0xad49[70]]);
- speed = speed[_0xad49[94]](0, speed[_0xad49[72]](_0xad49[95]));
- _0xd278x30 = parseFloat(speed[_0xad49[96]]());
- if (speed[_0xad49[72]](_0xad49[97]) > -1) {
- _0xd278x30 = _0xd278x30 * 1000
- } else {
- if (speed[_0xad49[72]](_0xad49[98]) > -1) {
- _0xd278x30 = _0xd278x30 * 1000000
- } else {
- if (speed[_0xad49[72]](_0xad49[99]) > -1) {
- _0xd278x30 = _0xd278x30 * 1000000000
- }
- }
- };
- if (!isNaN(_0xd278x30)) {
- return _0xd278x30
- } else {
- return 0
- }
- };
- function dateFormat() {
- var _0xd278x32 = new Date();
- var _0xd278x33 = _0xd278x32[_0xad49[100]]();
- var _0xd278x34 = (_0xd278x32[_0xad49[101]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[101]]() : _0xd278x32[_0xad49[101]]();
- var _0xd278x35 = (_0xd278x32[_0xad49[103]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[103]]() : _0xd278x32[_0xad49[103]]();
- var _0xd278x36 = (_0xd278x32[_0xad49[104]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[104]]() : _0xd278x32[_0xad49[104]]();
- var _0xd278x37 = (_0xd278x32[_0xad49[105]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[105]]() : _0xd278x32[_0xad49[105]]();
- var _0xd278x38 = (_0xd278x32[_0xad49[106]]() < 10) ? _0xad49[102] + _0xd278x32[_0xad49[106]]() : _0xd278x32[_0xad49[106]]();
- return _0xad49[107] + _0xd278x34 + _0xad49[66] + _0xd278x35 + _0xad49[66] + _0xd278x33 + _0xad49[63] + _0xd278x36 + _0xad49[108] + _0xd278x37 + _0xad49[108] + _0xd278x38 + _0xad49[109]
- };
- function CheckForTorOnline(_0xd278x3a) {
- process[_0xad49[2]][_0xad49[1]](dateFormat() + _0xad49[110]);
- try {
- var _0xd278x3b = require(_0xad49[111]);
- var _0xd278x3c = _0xd278x3b[_0xad49[114]](parseInt(fs[_0xad49[15]](_0xad49[14]).toString()), function() {
- process[_0xad49[2]][_0xad49[1]](_0xad49[112]);
- _0xd278x3c[_0xad49[113]]();
- _0xd278x3a(true)
- });
- _0xd278x3c[_0xad49[30]](_0xad49[115], function() {
- process[_0xad49[2]][_0xad49[1]](_0xad49[116]);
- process[_0xad49[2]][_0xad49[1]](_0xad49[117]);
- process[_0xad49[2]][_0xad49[1]](_0xad49[118]);
- process[_0xad49[2]][_0xad49[1]](_0xad49[119]);
- _0xd278x3a(false)
- })
- } catch (exception) {
- _0xd278x3a(false)
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement