Giter VIP home page Giter VIP logo

Comments (7)

polaris- avatar polaris- commented on July 17, 2024

That is definitely a possibility. The reason I originally restricted how much data I sent to in the beginning with Tetris DS is also because of a crash.

Does this bug also apply to not being able to reconnect after disconnecting in Metroid Prime: Hunters?

from dwc_network_server_emulator.

ToadKing avatar ToadKing commented on July 17, 2024

From what I've tested, no. That bug is triggered by something else, probably not going through the entire gameserver sequence successfully, so the game assumes that the server is down.

from dwc_network_server_emulator.

polaris- avatar polaris- commented on July 17, 2024

Alright. I just tried with the updated gamestats stuff and it still doesn't work properly for me as far as relogging in goes. I'll compare some packets of a simple login and logout from both servers to see where it's different and go from there.

from dwc_network_server_emulator.

polaris- avatar polaris- commented on July 17, 2024

Alright, so I've gone over everything and I can't find any real differences. Everything is really small at this point. The biggest of the differences is that the userid seems to be wrong. The userid sent from the DS is not the same as the userid that GameSpy returns, but I tried fixing that (even returning exactly what the real servers returns for my DS) and it doesn't fix it.

The next thing after that is that the headers for conntest and NAS don't match exactly what the real server returns. I went over gamestats and all of the data is the same aside from some of the obvious non-static information stuff. The sequence of commands and the returns are all as expected when comparing packet dumps. Maybe it's something subtler?

from dwc_network_server_emulator.

ToadKing avatar ToadKing commented on July 17, 2024

I don't think that the HTTP headers on the NAS server would be causing it, since it appears those changed once the Wii was launched and there wasn't a problem then. It could be that some token we think is random really isn't and it fails some verification, but outside of ROM hacking there won't be much luck in finding out what token it is, and what it should be.

from dwc_network_server_emulator.

polaris- avatar polaris- commented on July 17, 2024

Yeah, I don't think changing the headers would have much effect really.

Ah yeah, that's the other possibility I was considering. The I've never seen the lt token actually checked, but I haven't checked Metroid Prime: Hunters to see if it happens to check it. Luckily, I do a lot of reverse engineering (including Nintendo DS), so I should be able to check that out myself (that's how I originally figured out how to generate the signatures and stuff before). If it's verifying one of the random tokens somewhere then it should be able to figure out how it generates what it's comparing with.

Looking at the server code again, it seems the only things besides session ids and the auth token that use a randomly generated string are the sig and used in getprofile and when you add a buddy, and then the lt token during login. I guess it doesn't hurt looking into it.

from dwc_network_server_emulator.

polaris- avatar polaris- commented on July 17, 2024

I think I'm out of ideas now. I believe it's somewhere in the profile server but I can't figure out where exactly. I disabled all of the servers besides NAS and the profile server which were redirected to the Nintendo servers, and those worked. Then I tried with mine and then it doesn't let you log in again.

I set a breakpoint on the data from \lt\ and it never gets hit, so I don't think that gets checked. I even tried with an \lt\ returned by the real server and it made no difference. If proof is wrong then the game will internally show an error saying the the server could not be authenticated, so the proof is correct. I tried using the userid and profile id returned by the real server and that didn't fix anything either.

I'm not sure when or if I'll be able to fix this problem. Someone else might have to debug it maybe. Or we might have to find more games affected by the bug, if there are any.

from dwc_network_server_emulator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.