Gateway3DS dynamic addresses

Discussion in '3DS - Flashcards & Custom Firmwares' started by onepiecefreak, Feb 9, 2016.

  1. onepiecefreak
    OP

    onepiecefreak The Special One

    Member
    391
    136
    Aug 12, 2015
    Germany
    Hey there,

    I only wanted to ask if there is something that we can do about the dynamic addresses in many games?
    If we can figure them out now without having official support through gateways cheat function or if any news came out on how gateway is doing work on this thing?
    Anything?

    Thx for any replies.
     
  2. iCEQB

    iCEQB GBAtemp Advanced Fan

    Member
    682
    447
    Nov 2, 2013
    United States
    What you want is the ability to search for pointers.
    Yes, thats something gateway is currently lacking.
     
    Ruby Gloom likes this.
  3. Jungle_Jon

    Jungle_Jon Member

    Newcomer
    25
    1
    Dec 26, 2015
    Why is there such a lack of action replay style (aka memory value changing ) cheat functionality on the 3DS ?, on my DSI it was built in on my r4i card. What extra protection has been added to the 3DS that makes it so difficult ?, is it just DMA, PC games have had that since the word dot.
     
  4. ground

    ground GBAtemp Advanced Fan

    Member
    909
    281
    Mar 22, 2007
    Netherlands
    i think it is just the way the system works. A ds runs games bare metal (straight from the card). While the 3ds loads the game first into memory. Because the game is far from the only thing that wants memory on the 3ds, it could be located at different addresses ( because the address itused last time is already occupied by another program). so now your cheataddress has changed, as the whole game address in memory has changed.Please correct me if i am wrong, but i think that is the issue here. (Alhough i never saw a game loading on a different address)
     
  5. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    12,512
    5,473
    Mar 17, 2010
    Norway
    Alola
    I believe each part of the system has its own reserved piece of memory. I think the issue is how games allocate memory at runtime, in other words, how the game is programmed. It's not just the 3DS, you see the same thing on PCs, some games/applications' memory addresses don't change while others do, some games/applications have both addresses that change and addresses that don't.
     
    ground likes this.
  6. Jungle_Jon

    Jungle_Jon Member

    Newcomer
    25
    1
    Dec 26, 2015
    On a PC most games have trainers ( memory editing cheats) and as you quite rightly said a large percentage of those games have DMA ( this is probably due to the easier nature to identify memory ranges for running process and the almost trivial nature of being able to attach a debugger to the said process make this easier to a 3DS) .

    I also take the point that the 3DS is the first handled from Nintendo to have a kernel loaded in memory as well, instead of running on bare metal.

    My question is, in Emunand mode whilst running on a CFW, do we not have direct memory access?

    Would it be possible to compare memory from before a game loads, to after the game loads and use the area that suddenly has a large amount of data in it to start your search for pointers ?.

    I'm sure there is a technical reason why it's not possible to get action replay style cheats on a 3DS and i would love to be enlightened why.
     
    Last edited by Jungle_Jon, Feb 9, 2016
  7. gamer4lif3

    gamer4lif3 GBAtemp Regular

    Member
    273
    89
    Dec 31, 2015
    United States
    what u mean by action replay cheats? don't we have them now NTR, gateway, arcode, cheat.plg or do all of these cheats they use depend on static address?
     
  8. Jungle_Jon

    Jungle_Jon Member

    Newcomer
    25
    1
    Dec 26, 2015
  9. gamer4lif3

    gamer4lif3 GBAtemp Regular

    Member
    273
    89
    Dec 31, 2015
    United States
  10. MichiS97

    MichiS97 "Leftist snowflake milennial"

    Member
    GBAtemp Patron
    MichiS97 is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    1,376
    777
    Jun 14, 2011
    Germany
    Munich
    If you want to use something similar to AR Codes on the 3DS you have the following options:

    NTR: This CFW actually uses the cheat.plg files you already mentioned. Those are, in my opinion, the closest you can get to AR codes, the plugins run alongside the game so codes that permanently write to the RAM are possible (e. g. Infinite Health codes). It supports pointers and pretty much everything there is. The only problem is that there's no big respositories to get those plugins like the usrcheat.dat database we had in the DS era, the only website that shares many cheat plugins is completely in Chinese and most of the plugins there only support the Japanese version of the games. For me personally, that's not a huge issue since I'm familiar with programming and I like fiddling around with things like this so I actually enjoy making my own plugins, but for people without programming skills and an affinity for such efforts these could be pretty difficult to make by themselves.

    ARCode: This was already patched, like you said. I never had much use for it anyways, since this doesn't run alongside the games so the codes have to be executed manually everytime you want to use them, which means that a code which gives you infinite health would not be possible, you could only make a code which fills your health, that you'd have to run the browser exploit for everytime you'd want to use it

    Gateway: Contrary to what you said, it actually does support the New 3DS. The advantage of this system is that it's the only one to date which supports finding cheat codes right on the 3DS itself, similar to what you could do with a DSTWO and the DS. However, it has many disadvantages like the already mentioned fact that it doesn't support pointers. It also still has many bugs in the cheat engine which often result into your cheat list not saving correctly etc.

    So all in all, I'd recommend cheating with NTR CFW.
     
  11. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    12,512
    5,473
    Mar 17, 2010
    Norway
    Alola
    Infinite health would still be possible, you would just have to patch code so that health is never decremented, or patch out the health=0 check so that when you run out you don't die.
     
  12. MichiS97

    MichiS97 "Leftist snowflake milennial"

    Member
    GBAtemp Patron
    MichiS97 is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    1,376
    777
    Jun 14, 2011
    Germany
    Munich
    If you wanted to do it the assembler way, yeah, though I've never found a guide or something about how to do that.
     
  13. Rohul1997

    Rohul1997 GBAtemp Fan

    Member
    349
    351
    Dec 7, 2015
    Giant Chasm
    Only way is to find pointer values. Which is only done by dumping the ram 2-3 times after resetting the game every time while keeping in mind the changed address and then find the pointer value using the ram dumps on your PC
     
  14. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    12,512
    5,473
    Mar 17, 2010
    Norway
    Alola
    On a PC I would just use a debugger to find the code, but that's not possible on the 3DS, unless the NTR-CFW debugger lets us set breakpoints (I don't think it does)
    I played around with the debugger in VBA once and managed to create a Blink Godmode cheat (the game thinks you have just been hit by an enemy so nothing can hit you, it's pretty fun)
     
  15. MichiS97

    MichiS97 "Leftist snowflake milennial"

    Member
    GBAtemp Patron
    MichiS97 is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    1,376
    777
    Jun 14, 2011
    Germany
    Munich
    Yeah I know that it would work that way if there was a debugger capable of setting breakpoints but sadly, there isn't :D Well, the NTR Debugger actually would support it but that feature is completely undocumented and everytime I try it, it just spits out an error message and my game crashes.
     
  16. dsrules

    dsrules GBAtemp Psycho!

    Member
    3,800
    535
    Sep 20, 2005
    dunno, what's with all those BS replies
    you could go to maxconsoles gateway section and download the gw ram tool and pointer search tool
     
  17. onepiecefreak
    OP

    onepiecefreak The Special One

    Member
    391
    136
    Aug 12, 2015
    Germany
    Yup, I found it in the meantime after I got the name pointer. It looks very well explained. I will try it. But a built-in method to find pointer addresses would be very nice.
     
  18. dsrules

    dsrules GBAtemp Psycho!

    Member
    3,800
    535
    Sep 20, 2005
    don't think that will ever happen, at least I don't see that happens on any game system