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

[Feature Suggestion] Nintendo switch "Official SDK" injection support #165

Open
baconwaifu opened this issue Feb 28, 2023 · 0 comments
Open

Comments

@baconwaifu
Copy link

baconwaifu commented Feb 28, 2023

With the removal of python 2 from distros, running it "standalone" is getting harder, so injection seems preferable. The switch is a fairly bog-standard renpy environment, just with a few "interesting" limitations:

Injection can't be done through file insertion, must be done either through replacement or pickle save-bombing (The latter being my preferred technique for dealing with their custom 'zng' image encoding, will attach my tools when I have time to get to the machine they're on). EDIT: can't be done through rpyc overwrite either, you have to overwrite bytecode.rpyb and probably update the ~INDEX file. Or you can just backup and clobber the persistent store pickle instead, it's loaded at around the same time, and isn't subject to the various index-hells.

Another limitation is a complete lack of arbitrary file writing; the interpreter blackholes file writes from python. There is however, a way to get files out: It has to be able to write to savegames somehow, and that happens to be done in pure-python. They also have a custom binary index for those as well, though, so you have to either figure out how to "create" savegames, or overwrite an existing one.

EDIT: more details on insertion points (debugging a mod, game does not like itself trying to update bytecode.rpyb)

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

No branches or pull requests

2 participants