#In-game memory editor
51 messages · Page 1 of 1 (latest)
How about no
I highly doubt
Anyone is going to attempt this
Let alone that it's going to work
Why the hell do you need this
I know what I could work
But it would be tremendous effort
you don’t even really need a hex editor to do funky stuff with java
just attach a debugger
that exist
it's called cheat engine
!!hacks
We do not support hacked clients, cheats, or modifications that are intended to give you the upper hand in a server, competitive or otherwise.
See rule 1 in #welcome and the Discord TOS: https://discordapp.com/terms
even if this request wasn't against the rules or very very sus, live-editing memory is a great way to crash or corrupt stuff. Important stuff like files, apps, java itself, and potentially anything that was running at the same time in the background.
Corruptions and crashes are fun
This could be for anarchists who want chaos to happen
It would be confined to the game only
To avoid cheating I have a plan
Make it accessible through /hex and let it only work on singleplayer
it would be confined to the cpu and gpu cores running the game that might also be processing other data. Overflowing even a single pointer can cause those cores to read and write things outside of the intended programs and files, even if it's only hex
What I originally imagined was editing the game’s running code
So things like the world routine, rendering and all of that
Definitely not CPU and GPU memory
you won't be able to access stuff outside as the jvm enforces strict memory bounds and is protected against c/c++ style buffer overflow attacks
So you can access the game memory itself
But not anything like other java processes
That’s great
Set up a development environment, launch the game in debugging mode
An in game memory editor though. Like manually entering memory addresses and overwriting the bytes at those addresses?
If you manage to create such a feature, good luck trying to use it
@oak glen the closest mod you'll probably get is https://modrinth.com/mod/gadget/ which does have some basic memory viewing of certain in-game objects (entities/blocks) (including the ability to edit values). And it lets you see all network traffic too. Client-side only ofc, so relog your game if you mess up anything
Beyond that mod, what you're asking for is basically how to use rather advanced debugging techniques. But it sounds like you might be interested in software like VisualVM (it's a free live java app debugging tool, mostly performance measuring and memory dumping https://visualvm.github.io/) and recaf (a free decompiler https://www.coley.software/Recaf/). That recaf site also has links to learn about how the JVM works, which you'd also probably be interested in
Isn't a object also randomly assigned?
So no object is after a relaunch in the same memory address?
So no saving those addresses?
I do not know the jvm good enough prob to say anything about dis
uh, last time I was debugging something in-dev, I noticed some nearby local variables storing objects with sequential id things. But that's probably an implementation detail with different JVMs and/or memory management strategies
oh, and also that was running in debug mode in the first place, which probably also changes (simplifies?) how the jvm behaves... for debugging
That's what I meant. If you had the ability to arbitrarily edit memory, it's going to be difficult just to find anything.
Difficult, yes. The only way you could get the address is by in game java shinanigans
To obtain it's adress
Which is also sometimes wronk
So fun having memory corruption
well uh, there's everyone's favorite: ✨ reflection ✨
Which more often than not
Gives me wrong addresses
Or I parse it wrong
Either way, it's not cool to work with
You would want to use Unsafe (haha) to do that
Unsafe is unsafe