Arbitrary Code Execution in Pokemon
Все, кто занимался компьютерной безопасностью, сталкивался с уязвимостями, связанными с переполнениями буфера. Это основа из основ. Но одно дело, переполнить буфер, написав злобный апплет на Джаве или Флеше, а другое - вбить и запустить ассемблерный код, пройдя правильным образом Pokemon. То есть, здесь купить столько-то зелья, тут поменять местами 8го и 10го поекмонов, в правильный момент записаться итп. Это требует особого характера. Это 31337
Общая идея состоит в том, что в игре переполняется буфер, в котором содержится список предметов, которыми владеет игрок. Сразу за буфером начинается область памяти, где, кроме прочего, содержится указатель на функцию, выполняющую периодическое обновление значений здоровья покемонов, проверку на действие ядовитого зелья итп. Перезаписав в этот указатель адрес подготовленного буфера, можно запустить свой код. Гораздо более полное и подробное описание находится здесь:
http://tasvideos.org/forum/viewtopic.php?t=13489
Общая идея состоит в том, что в игре переполняется буфер, в котором содержится список предметов, которыми владеет игрок. Сразу за буфером начинается область памяти, где, кроме прочего, содержится указатель на функцию, выполняющую периодическое обновление значений здоровья покемонов, проверку на действие ядовитого зелья итп. Перезаписав в этот указатель адрес подготовленного буфера, можно запустить свой код. Гораздо более полное и подробное описание находится здесь:
http://tasvideos.org/forum/viewtopic.php?t=13489