Возможно ли указать в исходнике(!!!) на MASM атрибуты секции .CODE (Нужны права на запись) и если да то как
Йа новерное норкоман, я пытаюсь объединить секции .CODE и .DATA в одну, причём не используя импорта ))))
Что-то я не врубаюсь в чем проблема... Ищи фукнцию в ручную, запускай на выполнение и дальше юзай свои данные на запись
MrMiXeR Только, я не понял зачем тебе это нужно, если при компиляции можно указать атрибуты секции, либо поправить в хекс-редаторе. Если эти варианты не катят (по какой-то причине), то на масме придется делать как написано выше. (немножко лишнего кода). На фасме можно в исходнике написать атрибуты.
Когда будешь собирать EXE укажи следующий ключ: /section:.text,ERW Теперь можно и читать и писать в код.
S_Alex Может, вопрос сначала прочтешь? Не в обиду, конечно, но для кого человек три восклицательных знака ставил?
Я возможно что-то нетак делаю, укажите правильный путь пишу так: push 60000020 (READONLY SECTION) (Старые права), пробовал и PAGE_READONLY push E0000020 (Добавил Врайтабельность) (Новые права), пробовал и PAGE_EXECUTE_READWRITE push 00401000h (VOffset секции кода) push 200h (RawSize секции кода) Call VirtualProtect И всё время FALSE сволочь возвращает В чём неправ?
MrMiXeR Четвертым параметром этой функции ты должен передать указатель на переменную (dword), в которую функция вернет старое значение протекции. Соответсвенно, эта переменная у тебя должна валяться в стеке, т.к. запись в секцию кода у тебя еще не разрешена. Первый параметр - указатель, а второй - размер. А у тебя наоборот. Короче, у тебя секция кода начинается с метки (напр., start Код (Text): invoke VirtualProtect, offset start, 200h, PAGE_EXECUTE_READWRITE, addr Perem
Блин огромнейшее спасибо! Всё получилось как надо *жмёт руку Aspire* Вот она моя невнимательность ))) Ведб про эту функцию в справочнике раз 5 прочитал )))