Jump to content

ASLR: Difference between revisions

360 bytes added ,  2 years ago
no edit summary
>Torchickens
(Created page with "{{Researchneeded|Research is needed into DMA in other games.}}<br> '''DMA''' or '''Dynamic Memory Allocation''' is the name given for a mechanic in Pokémon games including {{...")
 
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1:
'''DMAASLR''' or ('''DynamicAddress Memoryspace Allocationlayout randomization''') is the name given for a mechanic in Pokémon games includingsuch as {{FRLG}} and, {{Emerald}} and the [[bp:Generation IV|Generation IV]] games.
{{Researchneeded|Research is needed into DMA in other games.}}<br>
'''DMA''' or '''Dynamic Memory Allocation''' is the name given for a mechanic in Pokémon games including {{FRLG}} and {{Emerald}}.
 
==In Generation III==
In [[bp:Generation III|Generation III]], the DMA systemASLR will randomize the locations of specific cHunkschunks of memory addresses (such as party and stored Pokémon data) to one of 64 possible locations every time the player performs an action such as entering/leaving a building, opening a menu or entering battle.
 
This offers a form of memory protection, however a [[cheating device]] may be used to circumvent the protection, for example a Game Boy Advance GameShark may be used to make a temporary patch of the game's ROM (similar to the Game Genie) which disables the DMA system. Codes to circumvent the system are commonly known as '''Anti-DMA''' codes.
 
==In the [[Pomeg corruption glitch]]==
In {{FRLG}} and {{Emerald}}, the DMA systemASLR is abused in the [[Pomeg corruption glitch]] to randomly have a chance of setting bit 0 and 2 (+03h) or bit 6 (+40h) to a memory address which the player desires to corrupt, such as setting bit 6 of the most significant byte of DOTS or SEASOR's personality value (with the help of a [[corruption initiator]]) to convert it into another Pokémon based on its EVs.
 
Ironically, withoutWithout the DMA system the Pomeg corruption glitch could be less useful as the player would only be able to create the same corruptions each timeiteration of the scrolling.
 
==In Pokémon Diamond/Pearl ASE/ACE==
When performing ASE/ACE, the ASLR should be accounted for. Currently the Japanese community has made some advancements to avoid it.<ref>[https://twitter.com/RETIREglitch/status/1524328973714481152 RETIREglitch - Twitter]</ref>
==References==
<references/>
==See also==
*[[wikipedia:Address space layout randomization|Wikipedia article]]
{{stub}}
[[Category:Terminology]]
Cookies help us deliver our services. By using our services, you agree to our use of cookies.