Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Правка кода процедуры в runtime

578
09 января 2007 года
o_serg
93 / / 08.09.2003
Попытался править код процедуры:
asm
mov al, byte ptr cs:[@edit] //-прекрасно работает-
mov al, 32
mov byte ptr cs:[@edit], al //-при выполнении этой строки вылетает ошибка "access violetion at address..."-
jmp @link
@edit:
db 45
@link:
end
Возможно ли вообще исправить код процедуры, если да то каким образом?
497
09 января 2007 года
IL84
267 / / 24.04.2003
Кто ж Вам даст, товарищ, в защищенном режиме писать в сегмент кода??!! Матчасть Вас ждет, а пока решения проблемы два:

1) Использовать API-функции ReadProcessMemory/WriteProcessMemory и писать без применения ассемблера.

2) В скомпилированном exe'шнике поправить с помощью специальной утилиты атрибуты сегмента кода, разрешив запись в него.

P.S. Строго говоря регистр CS в защищенном режиме содержит селектор, а не адрес сегмента.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог