всем здрасьте. написал(ставьте пожалуйста ударения правильно) в дельфях дополнение на асме ,вот оно: asm mov ebx,00453c60h push ebx ; сохраняю для последующего прыжка winproc: mov al,byte ptr[a] ; а - это переменная типа стринг mov byte ptr cs:[ebx],al ; здесь происходит ошибка access violating by reading [FFFFFFFF] в inc ebx ; олли дбг inc a cmp al,0 jnz winproc pop ebx jmp ebx end; все компилируется но когда эта процедурка получает управление происходит ошибка объясните пожалуйста почему . спасибо
goga2007 Учите мат часть (расшифровывать правильно Писать в кодовый сегмент через cs нельзя в принцине, можно только через совпадающий с ним ds и пр., но только если сегмент определён как Код (Text): section '.text' code readable writeable executable
подскажите ктонибудь пожалуйста как можно сделать код read/writeable/executable? OLLYDBG не хочет этого делать, Лордпе тоже
Смотри внимательней, все там есть. В секциях файла, пункт edit section header далее Flags Да и вообще почти все PE-editor-ы это могут например PE Tools.
В рантайме - VirtualProtect В режиме отладки Оля позволяет изменять атрибуты страниц - в режиме View Memory правый клик на секции + set access Изменить атрибуты секции в exe Оля тоже позволяет - достаточно в режиме View File изменить Characteristics секции кода с 60000020h на E0000020h + Save file
спасибо . поменял лордом. но писать все равно не хочет(cs поменял на ds) . ну и черт с ней, пошел "мат часть" учить