OneTallor

Untitled

Mar 24th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var fs = require("fs"),
  2.     Steam = require("steam"),
  3.     SteamID = require("steamid"),
  4.     IntervalIntArray = {},
  5.     readlineSync = require("readline-sync"),
  6.     Protos = require("./protos/protos.js"),
  7.     CountReports = 0,
  8.     Long = require("long"),
  9.     SteamClients = {},
  10.     SteamUsers = {},
  11.     SteamGCs = {},
  12.     SteamFriends = {},
  13.     process = require("process"),
  14.     steamID = readlineSync.question("SteamID64 which will be reported: "),
  15.     ClientHello = 4006,
  16.     ClientWelcome = 4004;
  17.  
  18. var accounts = [];
  19.  
  20. var arrayAccountsTxt = fs.readFileSync("accounts.txt").toString().split("\n");
  21. for (i in arrayAccountsTxt) {
  22.     var accInfo = arrayAccountsTxt[i].toString().trim().split(":");
  23.     var username = accInfo[0];
  24.     var password = accInfo[1];
  25.     accounts[i] = [];
  26.     accounts[i].push({
  27.         username: username,
  28.         password: password
  29.     });
  30. }
  31.  
  32. arrayAccountsTxt.forEach(processSteamReport);
  33.  
  34. function processSteamReport(element, indexElement, array) {
  35.     if (element != "") {
  36.         var account = element.toString().trim().split(":");
  37.         var account_name = account[0];
  38.         var password = account[1];
  39.         SteamClients[indexElement] = new Steam.SteamClient();
  40.         SteamUsers[indexElement] = new Steam.SteamUser(SteamClients[indexElement]);
  41.         SteamGCs[indexElement] = new Steam.SteamGameCoordinator(SteamClients[indexElement], 730);
  42.         SteamFriends[indexElement] = new Steam.SteamFriends(SteamClients[indexElement]);
  43.  
  44.         SteamClients[indexElement].connect();
  45.  
  46.         SteamClients[indexElement].on("connected", function() {
  47.             SteamUsers[indexElement].logOn({
  48.                 account_name: account_name,
  49.                 password: password
  50.             });
  51.         });
  52.  
  53.         SteamClients[indexElement].on("logOnResponse", function(res) {
  54.             if (res.eresult !== Steam.EResult.OK) {
  55.                 if (res.eresult == Steam.EResult.ServiceUnavailable) {
  56.                     console.log("\n[STEAM CLIENT - " + account_name + "] Login failed - STEAM IS DOWN!");
  57.                     console.log(res);
  58.                     SteamClients[indexElement].disconnect();
  59.                     process.exit();
  60.                 } else {
  61.                     console.log("\n[STEAM CLIENT - " + account_name + "] Login failed!");
  62.                     console.log(res);
  63.                     SteamClients[indexElement].disconnect();
  64.                     SteamClients.splice(indexElement, 1);
  65.                     SteamFriends.splice(indexElement, 1);
  66.                     SteamGCs.splice(indexElement, 1);
  67.                     SteamUsers.splice(indexElement, 1);
  68.                     IntervalIntArray.splice(indexElement, 1);
  69.                 }
  70.             } else {
  71.                 SteamFriends[indexElement].setPersonaState(Steam.EPersonaState.Offline);
  72.  
  73.                 SteamUsers[indexElement].gamesPlayed({
  74.                     games_played: [{
  75.                         game_id: 730
  76.                     }]
  77.                 });
  78.  
  79.                 if (SteamGCs[indexElement]) {
  80.                     IntervalIntArray[indexElement] = setInterval(function() {
  81.                         SteamGCs[indexElement].send({
  82.                             msg: ClientHello,
  83.                             proto: {}
  84.                         }, new Protos.CMsgClientHello({}).toBuffer());
  85.                     }, 2000);
  86.                 } else {
  87.                     SteamClients[indexElement].disconnect();
  88.                     SteamClients.splice(indexElement, 1);
  89.                     SteamFriends.splice(indexElement, 1);
  90.                     SteamGCs.splice(indexElement, 1);
  91.                     SteamUsers.splice(indexElement, 1);
  92.                     IntervalIntArray.splice(indexElement, 1);
  93.                 }
  94.             }
  95.         });
  96.  
  97.         SteamClients[indexElement].on("error", function(err) {
  98.             console.log("[STEAM CLIENT - " + account_name + "] Account is probably ingame! Logged out!");
  99.             SteamClients[indexElement].disconnect();
  100.             SteamClients.splice(indexElement, 1);
  101.             SteamFriends.splice(indexElement, 1);
  102.             SteamGCs.splice(indexElement, 1);
  103.             SteamUsers.splice(indexElement, 1);
  104.             IntervalIntArray.splice(indexElement, 1);
  105.         });
  106.  
  107.         SteamGCs[indexElement].on("message", function(header, buffer, callback) {
  108.             switch (header.msg) {
  109.                 case ClientWelcome:
  110.                     clearInterval(IntervalIntArray[indexElement]);
  111.                     sendReport(SteamGCs[indexElement], SteamClients[indexElement], account_name, steamID);
  112.                     break;
  113.                 case Protos.ECsgoGCMsg.k_EMsgGCCStrike15_v2_MatchmakingGC2ClientHello:
  114.                     break;
  115.                 case Protos.ECsgoGCMsg.k_EMsgGCCStrike15_v2_ClientReportResponse:
  116.                     CountReports++;
  117.                     console.log("[GC - " + account_name + "] (" + CountReports + ") Report with confirmation ID: " + Protos.CMsgGCCStrike15_v2_ClientReportResponse.decode(buffer).confirmationId.toString() + " sent!");
  118.                     SteamClients[indexElement].disconnect();
  119.                     SteamClients.splice(indexElement, 1);
  120.                     SteamFriends.splice(indexElement, 1);
  121.                     SteamGCs.splice(indexElement, 1);
  122.                     SteamUsers.splice(indexElement, 1);
  123.                     IntervalIntArray.splice(indexElement, 1);
  124.                     break;
  125.                 default:
  126.                     console.log(header);
  127.                     break;
  128.             }
  129.         });
  130.     }
  131. }
  132.  
  133. function sendReport(GC, Client, account_name) {
  134.     var account_id = new SteamID(steamID).accountid;
  135.     GC.send({
  136.         msg: Protos.ECsgoGCMsg.k_EMsgGCCStrike15_v2_ClientReportPlayer,
  137.         proto: {}
  138.     }, new Protos.CMsgGCCStrike15_v2_ClientReportPlayer({
  139.         accountId: account_id,
  140.         matchId: 8,
  141.         rptAimbot: 2,
  142.         rptWallhack: 3,
  143.         rptSpeedhack: 4,
  144.         rptTeamharm: 5,
  145.         rptTextabuse: 6,
  146.         rptVoiceabuse: 7
  147.     }).toBuffer());
  148. }
  149.  
  150. process.on("uncaughtException", function(err) {});
  151.  
  152. console.log("Initializing....");
Add Comment
Please, Sign In to add comment