Структуры и указатели

Тема в разделе "WASM.BEGINNERS", создана пользователем mrcrown, 22 янв 2008.

  1. mrcrown

    mrcrown Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    227
    Всем йо!
    Такая вот проблемка, описал я значит структуру:
    Код (Text):
    1. _IMAGE_DOS_HEADER STRUC
    2.     e_magic     WORD    0000h;
    3.     e_cblp      WORD    0000h;
    4.     e_cp    WORD    0000h;
    5.     e_crlc  WORD    0000h;
    6.     e_cparhdr   WORD    0000h;
    7.     e_minalloc  WORD    0000h;
    8.     e_maxalloc  WORD    0000h;
    9.     e_ss    WORD    0000h;
    10.     e_sp    WORD    0000h;
    11.     e_csum  WORD    0000h;
    12.     e_ip    WORD    0000h;
    13.     e_cs    WORD    0000h;
    14.     e_lfarlc    WORD    0000h;
    15.     e_ovno  WORD    0000h;
    16.     e_res   WORD    0004h   DUP(0);
    17.     e_oemid WORD    0000h;
    18.     e_oeminfo   WORD    0000h;
    19.     e_res2  WORD    000Ah   DUP(0);
    20.     e_lfanew    DWORD   0000h;
    21. ENDS
    Как ее заполнить?
    Я отобразил ПЕ-файло в память и теперь мне нужно связать эту память со структурами.
    Никак не врублю как! Хелп ми плиз!
     
  2. mrcrown

    mrcrown Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    227
    Сорь! Дубляж!
     
  3. xh4ck

    xh4ck New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2005
    Сообщения:
    60
    Адрес:
    Russia
    на форуме уже возникала подобная тема, где было приведено дофига методов как это сделать
     
  4. AshBone

    AshBone New Member

    Публикаций:
    0
    Регистрация:
    12 дек 2007
    Сообщения:
    101
    Допустим так:

    mov EBP,<Адрес структуры в памяти>

    assume EBP: PTR IMAGE_DOS_HEADER

    mov EAX,[EBP].e_lfanew
    add EAX,EBP ;

    assume EAX : PTR IMAGE_NT_HEADERS

    и т.д.
     
  5. mrcrown

    mrcrown Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    227
    Благодарствую! :)