Homebrew RAM editing glitch on any 3DS, might lead to an exploit?

  • Thread starter Thread starter Trinitro21
  • Start date Start date
  • Views Views 56,660
  • Replies Replies 445
  • Likes Likes 34
not possible because of memory mapping: you can sure read executable memory but not write into it
you need a rop or a way to be even able to use gspwn
fucking read this
this is a bit "more educated" than most of the things i've seen (like prohax/fateshaxx/this has qrcode pls exploit), but this won't lead to anything
the op doesn't even know what part of the ram is loaded, why, and how
and it's unlikely to be code, too; it could just be sprites, music or something
anyway, this won't lead to an exploit.
 
  • Like
Reactions: zoogie
fucking read this
this is a bit "more educated" than most of the things i've seen (like prohax/fateshaxx/this has qrcode pls exploit), but this won't lead to anything
the op doesn't even know what part of the ram is loaded, why, and how
and it's unlikely to be code, too; it could just be sprites, music or something
anyway, this won't lead to an exploit.
If you can edit memory, the only thing you need to know is what the memory *is*. It's very well possible that there's values out there which could be useful. It's also possible that it's just VRAM allocations and not exploitable at all.

Yeah. Shinyquagsire was doing something but I don't think that it is an exploit.
https://twitter.com/ShinyQuagsire/status/745627215006556160
When you can shove random data into a QR and it actually interprets it without crashing, it's probably not exploitable, and that was my point there.
 
Last edited by shinyquagsire23,
If you can edit memory, the only thing you need to know is what the memory *is*. It's very well possible that there's values out there which could be useful. It's also possible that it's just VRAM allocations and not exploitable at all.
however, if it's code, isn't code rx mapped ? i'm sure that some values could be edited and overflowed to lead to something, but these would still have to be exploitable
the issue here is that i doubt there is a way to edit that ram using smilebasic
 
however, if it's code, isn't code rx mapped ? i'm sure that some values could be edited and overflowed to lead to something, but these would still have to be exploitable
the issue here is that i doubt there is a way to edit that ram using smilebasic
Can't you edit RAM with NTR? I think I saw some plugin but I forget where.
 
however, if it's code, isn't code rx mapped ? i'm sure that some values could be edited and overflowed to lead to something, but these would still have to be exploitable
the issue here is that i doubt there is a way to edit that ram using smilebasic
BGGET can be used to get the two bytes at each tile and BGPUT can be used to write a new value.
RAM editors have already been made, but aren't on the SmileBASIC servers for secrecy. One can be downloaded here and injected into your extdata to be used.
I'm doubtful, but that was stated earlier, I do believe.
 
Using NTR Debugger, I found that the accessible memory with this glitch extends from 0x087E8CEC to 0x0CAF8D20 in process 0x29. Does that help in any way?
 
  • Like
Reactions: PF2M
Using NTR Debugger, I found that the accessible memory with this glitch extends from 0x087E8CEC to 0x0CAF8D20 in process 0x29. Does that help in any way?
If you can arbitrarily write on this region, you have to find what are the datas stored there. But that's a pretty big extension.
 
Last edited by ,
  • Like
Reactions: Mrrraou and Seedbon
The only interesting portion that I know of starts at 0x08812FEC. This is where all the functions, variables, labels, and string values seem to be stored, along with any information associated with them, like lengths and what I assume are pointers.
Both pointers and lengths are signed 32-bit integers that don't seem to be checked. Altering pointers or lengths and then using the variables they're associated with in a way that would try to alter the memory in a place where it can't be altered (like calling CLEAR after changing a pointer to 0xFFFFFFFF) crashes the game.
 
The only interesting portion that I know of starts at 0x08812FEC. This is where all the functions, variables, labels, and string values seem to be stored, along with any information associated with them, like lengths and what I assume are pointers.
Both pointers and lengths are signed 32-bit integers that don't seem to be checked. Altering pointers or lengths and then using the variables they're associated with in a way that would try to alter the memory in a place where it can't be altered (like calling CLEAR after changing a pointer to 0xFFFFFFFF) crashes the game.
You could try to edit a pointer and write on the stack.
 
If someone get do discover where PC points to when some basic function is called, the final thing to do is run arbitrary code from there. So we get homebrew launcher (or another thing) along with a fresh keksploit, since we can write in readonly portions of RAM.
 
If someone get do discover where PC points to when some basic function is called, the final thing to do is run arbitrary code from there. So we get homebrew launcher (or another thing) along with a fresh keksploit, since we can write in readonly portions of RAM.
You can't write to read only portions of RAM without already having a kernel exploit.
I can see this glitch being useful for ROP which could lead to another userland entrypoint, but we won't be able to directly overwrite code with it.
 
  • Like
Reactions: dark_samus3
The only interesting portion that I know of starts at 0x08812FEC. This is where all the functions, variables, labels, and string values seem to be stored, along with any information associated with them, like lengths and what I assume are pointers.
Both pointers and lengths are signed 32-bit integers that don't seem to be checked. Altering pointers or lengths and then using the variables they're associated with in a way that would try to alter the memory in a place where it can't be altered (like calling CLEAR after changing a pointer to 0xFFFFFFFF) crashes the game.
Oooh! What if we modified the function of some code in our program, then returned to it? But it's read only isn't it...
 

Site & Scene News

Popular threads in this forum