Jump to content
McKay Development

Ben

Member
  • Posts

    27
  • Joined

  • Last visited

Posts posted by Ben

  1. Hi, i am interested in your work and i am wondering how you reverse engineered the mobile login for steam. Did you used a network interception tool like burp or just looked at the source code? I am trying to reverse engineer another mobile app and I dont know if I set up my proxy interceptor right because i dont see any requests. And the source code isnt helper either. Are there some tricks you could share with me?

  2. [2021-03-07 14:33:44] Bot #2: Error: HTTP error 500
        at SteamCommunity._checkHttpError (/root/Bot_4.0/node_modules/steamcommunity/components/http.js:108:9)
        at Request._callback (/root/Bot_4.0/node_modules/steamcommunity/components/http.js:50:61)
        at Request.self.callback (/root/Bot_4.0/node_modules/request/request.js:185:22)
        at Request.emit (node:events:378:20)
        at Request.<anonymous> (/root/Bot_4.0/node_modules/request/request.js:1154:10)
        at Request.emit (node:events:378:20)
        at IncomingMessage.<anonymous> (/root/Bot_4.0/node_modules/request/request.js:1076:12)
        at Object.onceWrapper (node:events:484:28)
        at IncomingMessage.emit (node:events:390:22)
        at endReadableNT (node:internal/streams/readable:1307:12)
        at processTicksAndRejections (node:internal/process/task_queues:81:21) {
      code: 500
    }
     I get this Error sometimes when i try to log in. Is that normal and will the module retry automaticly?

  3. Hi i got this error:

    throw new Error("Cannot log onto steamcommunity.com without first being connected to Steam network");

    it caused my bot to crash. But i didnt came on startup it came after the bot was already running for multiple minutes, so it was already logged in. Maybe it tried to log in again since the session was expired or some thing like that. I hope you can help me

  4. Hi i need all cookies after i logged into steam for a third party login. But i am missing the steamRememberLogin Cookie. Is there a way to generate it since the first part is the steam id. Maybe the second part is something i can get too? Or are there condisions for it to be generated by steam? I hope you can help me thanks

  5. But the error must be there. I recreated the Browser requests using Postman and let everything the same exept of the password. This i encryted again with the new rsa key and than pasted this together with the new timestamp in the body of the dologin request. I know i am probably annoying you but i have been working on this for so long. Once it worked a little bit. I just used your code and added in the cookies that i had to sent with the rsa- and loginrequests. But i only got the steamLoginSecure and steamMachineAuth but not the steamRememberLogin Cookie. And i had another Question i never tried it but can you just use the cookies u got from the steam Login for the 3rd party login? Since they are also for every steamsite the same

  6.  

    Hi so finally found what i was looking for. I just need the Cookies you get from oAuthLogin() but for that i need steamguard and the oAuthToken but those i get from the login methode. But i dont login via Community. I log in via node steam user and than do the setCookies(). Is there a way to do it the other way? Login via Community and set Cookies in User? Or is there an other way to get the Cookies?

     

     

  7. It worked for a while but now i get the invalid pw error again. Am i doing something wrong? 

    function get_rsa_key(){
        return new Promise((resolve,reject)=>{
            fetch("https://steamcommunity.com/login/getrsakey/", {
                "headers": {
                "accept": "*/*",
                "accept-language": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7",
                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                "sec-fetch-dest": "empty",
                "sec-fetch-mode": "cors",
                "sec-fetch-site": "same-origin",
                "x-requested-with": "XMLHttpRequest",
                "cookie": sessionid+"; "+steamCountry+"; "+sessionidSecureOpenIDNonce
            },
            "referrer": "https://steamcommunity.com/openid/login?openid.ns=.......,
            "referrerPolicy": "strict-origin-when-cross-origin",
            "body": "donotcache="+Date.now()+"&username=****",
            "method": "POST",
            "mode": "cors"
            })
            .then(res => res.json())
            .then(json => {
                var key = new RSA();
                key.setPublic(json.publickey_modjson.publickey_exp);
                pwhex2b64(key.encrypt("*********"))
                resolve(pw)
            })
        })
    }
     
    function do_login(encryptedPassword,steamguard_code){
        return new Promise((resolve,reject)=>{
          var code = steamguard_code || ""
        fetch("https://steamcommunity.com/login/dologin/", {
            "headers": {
              "accept": "*/*",
              "accept-language": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7",
              "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
              "sec-fetch-dest": "empty",
              "sec-fetch-mode": "cors",
              "sec-fetch-site": "same-origin",
              "x-requested-with": "XMLHttpRequest",
              "cookie": sessionid+"; "+steamCountry+"; "+sessionidSecureOpenIDNonce+"; timezoneOffset=3600,0"
            },
            "referrer": "https://steamcommunity.com/openid/login?openid.ns=.........",
            "referrerPolicy": "strict-origin-when-cross-origin",
            "body": "donotcache="+Date.now()+"&password="+encryptedPassword+"&username=****&twofactorcode="+code+"&emailauth=&loginfriendlyname=&captchagid=-1&captcha_text=&emailsteamid=&rsatimestamp="+timestamp+"&remember_login=false",
            "method": "POST",
            "mode": "cors"
          })
          .then(res => res.json())
        .then(json => {
            timestamp=json.timestamp
            console.log(json)
            //steamLoginSecure = json.headers['set-cookie'][0].slice(0,json.headers['set-cookie'][0].indexOf(";"))
            //console.log("Do login : "+JSON.stringify(json))
            resolve()    
        })
          .catch(error=>{
              console.log(error)
              reject(error)
          })
        })
    }
     
  8. I guess it dosnt work that well xD. In the brwoser steam does these transver requests and i also found them in the java script i got from steam but i cant understand the functions. Can someone help me maybe you see somethink i didnt get. 

    these are the requests from the browser

    image.png.8ecb4223e1587470e789da8a32782596.png

    and here are the methodes 

    CLoginPromptManager.TransferLogin = functionrgURLsparametersfnOnComplete )
    {
        var bOnCompleteFired = false;
        var fnFireOnComplete = functionbSuccess )
        {
            if ( !bOnCompleteFired )
                fnOnCompletebSuccess );
            bOnCompleteFired = true;
        }
     
        var cResponsesExpected = rgURLs.length;
        $J(window).on'message'function() {
            if ( --cResponsesExpected == 0 )
                fnFireOnCompletetrue );
        });
     
        for ( var i = 0 ; i < rgURLs.lengthi++ )
        {
            var $IFrame = $J('<iframe>', {id: 'transfer_iframe' } ).hide();
            $J(document.body).append$IFrame );
     
            var doc = $IFrame[0].contentWindow.document;
            doc.open();
            doc.write'<form method="POST" action="' + rgURLs[i] + '" name="transfer_form">' );
            for ( var param in parameters )
            {
                doc.write'<input type="hidden" name="' + param + '" value="' + V_EscapeHTMLparameters[param] ) + '">' );
            }
            doc.write'</form>' );
            doc.write'<script>window.onload = function(){ document.forms["transfer_form"].submit(); }</script>' );
            doc.close();
        }
     
        // after 10 seconds, give up on waiting for transfer
        window.setTimeoutfunction() { fnFireOnCompletefalse ); }, 10000 );
    };
     
    CLoginPromptManager.prototype.OnTransferComplete = function()
    {
        if ( !this.m_bLoginTransferInProgress )
            return;
        this.m_bLoginTransferInProgress = false;
        if ( !this.m_bInEmailAuthProcess && !this.m_bInTwoFactorAuthProcess )
            this.LoginComplete();
        else if ( this.m_bEmailAuthSuccessfulWantToLeave || this.m_bTwoFactorAuthSuccessfulWantToLeave)
            this.LoginComplete();
    };

     

  9. I know this it not the rigth topic for this forum. But i thought you ,McKay or somebody else could help me. I try to login to steam via httprequest. For examlpe to emulate a login to a third party site to get the cookies for the site. I got everythink working so far but when i do the login i get invalid pw or username. I think the error is that I dont encrypt the password right. But i cant find a solution online. There are some topics in forums but nobody answers them. Here are some post that you know what i mean. 

    https://stackoverflow.com/questions/27090326/php-steam-bot-how-to-login-to-page-using-rsa 

     

  10. Okay thanks for your help. But the your first point, i have read this post 

    and i had the feeling that i had the same issues, because when websession ist emitted it should log "New cookies" or somethink like that but it never happened it logged "session expired" when session expired was emitted but never got the new cookies but i will take a look and try it again. Thank you so much for your help 

  11. when i call steamuser.logOff() will the disconnected event trigger? So if i wanna relog when steam user is on error or session expired i can just logoff and than write in the discconnected callback login?

    like this:

        this.client.on('error',(err=>{
          console.log("Client emitted Error: "+err,colors.FgRed,this.bot_number)
          this.client.logOff()
        })
     
        this.community.on("sessionExpired", ()=>{
          console.log("Session Expired",colors.FgRed,this.bot_number)
          if (this.client.steamID == null) {
              client.logOn(logOptions);
          } else {
            this.client.logOff()
        }
      })
     
        this.client.on("disconnected",(eresultmsg)=>{
          console.log("Client emitted disconnected: " + eresult +" msg: "+msg ,colors.FgWhite,this.bot_number)
          if (this.client.steamID == null) {
              client.logOn(logOptions);
          } else { 
            this.client.logOff()
            }

     

    So that if the bots loggs of it immediately loggs back in?

     

     

  12. C:\Users\benbo\Desktop\HH\reworked_Bot\node_modules\steamcommunity\index.js:296
            cookies.forEach((cookie) => {
                    ^

    TypeError: cookies.forEach is not a function
        at SteamCommunity.setCookies (C:\Users\benbo\Desktop\HH\reworked_Bot\node_modules\steamcommunity\index.js:296:10)
        at TradeOfferManager.setCookies (C:\Users\benbo\Desktop\HH\reworked_Bot\node_modules\steam-tradeoffer-manager\lib\index.js:124:18)
        at SteamUser.<anonymous> (C:\Users\benbo\Desktop\HH\reworked_Bot\steam_bot.js:72:22)
        at SteamUser.emit (events.js:315:20)
        at C:\Users\benbo\node_modules\steam-user\components\web.js:64:9
        at IncomingMessage.<anonymous> (C:\Users\benbo\node_modules\steam-user\components\webapi.js:82:4)
        at IncomingMessage.emit (events.js:327:22)
        at endReadableNT (_stream_readable.js:1221:12)
        at processTicksAndRejections (internal/process/task_queues.js:84:21)
    PS C:\Users\benbo\Desktop\HH\reworked_Bot> 

     

    I get this error after the steam login. Someone had this before? I have also realised, that (even before i got this error) the community.setcookies is not executed right. 

    this.client.on('webSession', (cookies=>{
            console.log(cookies,colors.FgWhite,this.bot_number)
            this.manager.setCookies(cookies, (err)=> {
              if (err) {
                console.log(err);
                process.exit(1); 
              }
            this.community.setCookies(cookies, (err)=> {
                console.log("This is never printed")
                if (err) {
                  console.log(err);
                  process.exit(1); 
                }else{
                    console.log("This is never printed")
                }
                console.log("Got API key: " + this.manager.apiKey,colors.FgWhite,this.bot_number);
            })
            })
          })

     

    The "This is never printed" does not get printed.

     

  13. Okay i am sorry to bother you again but just now i wasnt home and i came back to see that my bot was trying to sent an offer all the time. I have programmed to so that if it gets the error it isnt logged in that i waits 5 secs and than tries to sent the offer again. But it was stuck there and tried for 45 mins because it didnt logged back in. Are you sure that the not logged in error triggers the session expired event?

  14. Hi so i have the same error: 

    [2020-11-22 18:06:02] Bot #undefined Error: Not Logged In
        at SteamCommunity.<anonymous> (C:\Users\benbo\Desktop\HH\reworked_Bot\node_modules\steam-tradeoffer-manager\lib\classes\TradeOffer.js:345:25)
        at Request._callback (C:\Users\benbo\Desktop\HH\reworked_Bot\node_modules\steamcommunity\components\http.js:67:15)
        at Request.self.callback (C:\Users\benbo\Desktop\HH\reworked_Bot\node_modules\request\request.js:185:22)
        at Request.<anonymous> (C:\Users\benbo\Desktop\HH\reworked_Bot\node_modules\request\request.js:1154:10)
        at Request.emit (events.js:315:20)
        at Gunzip.<anonymous> (C:\Users\benbo\Desktop\HH\reworked_Bot\node_modules\request\request.js:1076:12)
        at Object.onceWrapper (events.js:421:28)
        at Gunzip.emit (events.js:327:22)
        at endReadableNT (_stream_readable.js:1221:12)
        at processTicksAndRejections (internal/process/task_queues.js:84:21)

    But i am reloggin when the session expires.

    this.client = new SteamUser();
            this.community = new SteamCommunity(),
            this.manager = new TradeOfferManager({
              "steam": this.client,
              //"community" : this.community,
              "domain": "localhost"
              "language": "en" 
            })
    this.community.on("sessionExpired", ()=>{
            console.log("Session Expired",FgRed,this.bot_number)
            this.client.webLogOn(this.logOnOptions);
          })

     

    Am i doing something wrong?

     

×
×
  • Create New...