seishun / node-steam

Interface directly with Steam servers from Node.js
MIT License
1k stars 181 forks source link

Can this module re-login with something like cookie, session? #426

Closed hong4rc closed 6 years ago

hong4rc commented 6 years ago

I login success, but i want just login (has steam guard) first time and save it (same real steam). Can i do it with this module ? Thank you.

seishun commented 6 years ago

Not really. "Remember password" in Steam client uses the login_key field in CMsgClientLogon AFAIK, but I don't see how it's better than using a password. If you want to use it, you'll have to use NetHook2 to figure out how it works.

hong4rc commented 6 years ago

Can you help me know how to use NetHook2 . I run : rundll32 path_of_NetHook2.dll , Inject and see it look like :

Wrote 89 bytes to 043_out_151_(null)
Wrote 43 bytes to 044_out_8503_(null)
Wrote 278 bytes to 045_out_832_(null)
Wrote 4514 bytes to 046_out_832_(null)
Wrote 188 bytes to 047_out_815_(null)
Wrote 281 bytes to 048_out_832_(null)
Wrote 4514 bytes to 049_out_832_(null)
Wrote 281 bytes to 050_out_832_(null)
Wrote 4514 bytes to 051_out_832_(null)
Wrote 281 bytes to 052_out_832_(null)
Wrote 4514 bytes to 053_out_832_(null)
Wrote 23 bytes to 054_out_703_(null)
Wrote 281 bytes to 055_out_832_(null)

How to get login_key. Thank you so much. (I just want not typing two_factor_code again)

seishun commented 6 years ago

You'll need NetHookAnalyzer2 to actually inspect the packets. I haven't used NetHook2 in a long time so I can't give more details.

hong4rc commented 6 years ago

I was add callback when login with SteamKit2

//steamUser.LogOn with ShouldRememberPassword = true
manager.Subscribe<SteamUser.LoginKeyCallback>(OnNewLoginKey);
//....
static void OnNewLoginKey(SteamUser.LoginKeyCallback cb)
{
    SaveLoginKey(cb.LoginKey);
    Console.WriteLine("Got new login key.");
    steamClient.GetHandler<SteamUser>().AcceptNewLoginKey(cb);
}

to save login_key to file and use it for my code. Thank you for help. I think you should create event LoginKey for this module.

seishun commented 6 years ago

I think you should create event LoginKey for this module.

That seems reasonable. If you still need it, feel free to create an issue.