Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Game corruption #12

Open
fluofoxxo opened this issue Aug 25, 2019 · 2 comments
Open

Game corruption #12

fluofoxxo opened this issue Aug 25, 2019 · 2 comments
Labels
documentation Improvements or additions to documentation

Comments

@fluofoxxo
Copy link
Owner

fluofoxxo commented Aug 25, 2019

After about an hour of idling in the 'Your Characters' menu, I attempted to change character using the newly pushed handler in rewrite-1, and the game flipped the button text to Japanese and seized up. This may have been the lack of a valid session ID (needing to request a new one) combined with the lack of a /Chao/equipChao handler.

Alternatively, this may have been the work of the native library's DegradeAppInSubtleWays exported method. More research must be done to conclude this.

@fluofoxxo fluofoxxo added the documentation Improvements or additions to documentation label Aug 25, 2019
@fluofoxxo
Copy link
Owner Author

fluofoxxo commented Aug 26, 2019

Strongly tied to session expiration. Issue occurred when clicking on the timed mode button from the primary menu. Server showed that the game called LoginCharlie and LoginDelta in order to get a new session ID. The game then requested getFreeItemList, getPlayerState, getDailyChallengeData, and loginBonus.

Last logcat output:

DailyBattle not start !!!!!!!

Is this caused by a lack of /Battle/* handlers?

Edit: Game appears to come out of the freeze after completing my last edit...
Edit 2: ...Froze again.
Notable process: Clicking on the timed mode button causes a temporary freeze (1 minute) and stays on the menu. Clicking timed mode once more works just fine. Exiting timed mode calls getPlayerState, getDailyChallengeData, and loginBonus. At the top right, the energy counter show 5 followed by a 15 minute timer. After the time unfreezes, the energy counter jumps back up to 8675309. This is a known in-code constant for energy, but this is rarely mirrored in game, instead increasing one energy every few minutes with the given timer. This may be caused by a combination of a mismatch of the two given energies and the battle handlers being absent, as the battle timer shows 00:00:00.

Edit 3: Credence is given to the battle timer being part of the problem knowing that the sent battle timer is one hour.

@FairPlay137
Copy link

FairPlay137 commented Jan 13, 2020

The language switching and the game seizing up seems to be heavily linked to the DegradeGameInSubtleWays routine and has nothing to do with the daily battle, as none of those weird behaviors have ever been encountered in my experience.

EDIT: UnmanagedProcess routines are still a complete mystery; it's most likely the energy value is being manipulated by UnmanagedProcess, considering the Outrun constant for the maximum energy was 17171, which is reflected in-game on non-degradation-tripped 2.0.3 instances.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants