0x1500 control code arbitrary code execution: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
>Torchickens
No edit summary
>Torchickens
No edit summary
Line 5: Line 5:
'''0x1500 control code arbitrary code execution''' is an [[arbitrary code execution]] method found in {{Crystal}}. It does not occur in {{GS}}.
'''0x1500 control code arbitrary code execution''' is an [[arbitrary code execution]] method found in {{Crystal}}. It does not occur in {{GS}}.


It was discovered by luckytyphlosion. The original method used for speedrunning purposes is not yet covered in this article.
It was discovered by Luckytyphlosion. The original method used for speedrunning purposes is not yet covered in this article.


This glitch involves the combination of the byte 0x15 ("Day" control character) followed by 0x00 in a text string, and will lead to arbitrary code execution at memory address 0xCD52. Once the code is terminated with a ret, the program counter by default will be at the location following where the 0x1500 sequence was in the RAM.
This glitch involves the combination of the byte 0x15 ("Day" control character) followed by 0x00 in a text string, and will lead to arbitrary code execution at memory address 0xCD52. Once the code is terminated with a ret, the program counter by default will be at the location following where the 0x1500 sequence was in the RAM.