программа не хочет писать в свой код

Тема в разделе "WASM.BEGINNERS", создана пользователем goga2007, 1 май 2007.

  1. goga2007

    goga2007 New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2007
    Сообщения:
    184
    всем здрасьте. написал(ставьте пожалуйста ударения правильно) в дельфях дополнение на асме ,вот оно:

    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;

    все компилируется но когда эта процедурка получает управление происходит ошибка
    объясните пожалуйста почему . спасибо
     
  2. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    goga2007
    Учите мат часть (расшифровывать правильно :)
    Писать в кодовый сегмент через cs нельзя в принцине, можно только через совпадающий с ним ds и пр., но только если сегмент определён как
    Код (Text):
    1. section '.text' code readable writeable executable
     
  3. goga2007

    goga2007 New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2007
    Сообщения:
    184
    подскажите ктонибудь пожалуйста как можно сделать код read/writeable/executable?
    OLLYDBG не хочет этого делать, Лордпе тоже
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    поставить такие атрибуты секции кода линкером
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    goga2007
    PE Tools -> PE Editor умеет править атрибуты секций.
     
  6. GMax

    GMax Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    218
    Смотри внимательней, все там есть. В секциях файла, пункт edit section header далее Flags
    Да и вообще почти все PE-editor-ы это могут например PE Tools.
     
  7. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    В рантайме - VirtualProtect
    В режиме отладки Оля позволяет изменять атрибуты страниц - в режиме View Memory правый клик на секции + set access
    Изменить атрибуты секции в exe Оля тоже позволяет - достаточно в режиме View File изменить Characteristics секции кода с 60000020h на E0000020h + Save file
     
  8. goga2007

    goga2007 New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2007
    Сообщения:
    184
    спасибо . поменял лордом. но писать все равно не хочет(cs поменял на ds) . ну и черт с ней, пошел "мат часть" учить
     
  9. Alexander77

    Alexander77 Alexander

    Публикаций:
    0
    Регистрация:
    1 авг 2006
    Сообщения:
    28
    Адрес:
    Ukraine, Kiev
    ТипТаво:
    Код (Text):
    1. link /RELEASE /SUBSYSTEM:WINDOWS /DLL /SECTION:.text,RWE MyProg.obj