Форум: "WinAPI";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизИзменение кода при выполнении программы Найти похожие ветки
← →
programania © (2004-10-05 18:34) [0]Можно ли изменить код процедуры во время работы программы?
Если менять массив размещенный по адресу этой
процедуры происходит защита доступа хотя в массиве видно
что там тот же код что и в окне CPU у этой процедуры.
Или можно ли запустить выполнение кода из массива?
если переменной типа процедура присвоить адрес этого массива,
в массив записать код другой процедуры того же типа
и вызвать ее: опять защита доступа.
← →
Суслик © (2004-10-05 18:50) [1]Я такое не делал, но думаю можно.
Я бы стал рыть в сторону использования функции VirtualProtect и родественных ей.
Я не помню какие ограничения у этой функции. Думаю, что на данный вопрос может замечательно ответить книга Рихтера, windows для профи - глава про управление памятью. Или msdn можно посмотреть.
← →
Суслик © (2004-10-05 19:01) [2]Думаю, что можно попробовать взять адрес процедуры, используя VirtualQuery узнать базовый адрес блока, затем через VirtualProtect сменить уровень защиты, изменить код.
Я бы начал с этого...
← →
Sha © (2004-10-05 19:01) [3]> programania © (05.10.04 18:34)
VirtualProtect
PAGE_EXECUTE_READWRITE
FlushInstructionCache
← →
Digitman © (2004-10-06 08:59) [4]
> можно ли запустить выполнение кода из массива?
если массив разместить в стеке, то выполнить маш.инструкции, размещенные в массиве, можно и безо всяких доп.ухищрений, благо страницы стека имеют привелегии доступа PAGE_EXECUTE_READWRITE
← →
Sha © (2004-10-06 10:18) [5]Digitman © (06.10.04 08:59) [4]
Добавлю, что такой вариант работает иногда медленнее.
И добавляет проблем отладчику :)
← →
wicked © (2004-10-06 12:51) [6]> Digitman [4]
так и знал, что кто-то посоветует.... :)
остается сказать - читайте описание 2-го сервис пака для WinXP....
← →
Sha © (2004-10-06 13:21) [7]> wicked © (06.10.04 12:51) [6]
Неужели MS не даст исполнять код на стеке?
Много программ пострадает :(
← →
Anatoly Podgoretsky © (2004-10-06 13:25) [8]Sha © (06.10.04 13:21) [7]
Туда им и дорога.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c