Help me with PE

Тема в разделе "WASM.BEGINNERS", создана пользователем qwertyui, 26 фев 2009.

  1. qwertyui

    qwertyui New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2009
    Сообщения:
    28
    Блин во что ни как не воткну почему fasm ругается на assume edi:IMAGE_SECTION_HEADER описание структуры есть файл masm.inc подключен и если указать любую другую структуру то все работает норм а на этой структуре пишет invalid value/=
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    зачем тебе на фасме вообще assume сдался
     
  3. qwertyui

    qwertyui New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2009
    Сообщения:
    28
    а как мне сделать чтобы регистр указывал на структуру? и вообще есть чтото конкретно по теме?
     
  4. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    А разве в FASM ввели "assume"? Просто объявляешь структуру (в твоем случае она уже объявлена в заголовочном файле) и пишешь 'mov eax, [edi + IMAGE_SECTION_HEADER.name]', например. В edi надо положить адрес структуры.
     
  5. qwertyui

    qwertyui New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2009
    Сообщения:
    28
    ох олололололололо в папке с мокросами есть файл masm.inc где описан макрос assume вот его я и использую. Кто может помочь мне по сабжу?
     
  6. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    qwertyui
    напиши свой assume чтоб работал как надо
    и ник смени %)
     
  7. qwertyui

    qwertyui New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2009
    Сообщения:
    28
    вот интересно зачем мне менять ник?ребят ну пожалуйста ребят отзовитесь кто знает///=
     
  8. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    Код (Text):
    1. macro   assume  reg, struct
    2. {
    3.     virtual at reg
    4.     local ..foo
    5.     reg equ ..foo
    6.     reg struct
    7.     restore reg
    8.     end virtual
    9. }
    10.  
    11. assume edi, IMAGE_SECTION_HEADER
     
  9. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    struct qwertyui
    name dd ?
    surname dd ?
    ends

    mov eax, [edi + qwertyui.surname]

    Прекрасно работает.
     
  10. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    аналогично как и mov eax, [edi + 4] )))))))))))))))
     
  11. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    предпочитаю типа
    Код (Text):
    1. struct qwertyui
    2. name dd ?
    3. surname dd ?
    4. ends
    5. ..
    6. local asd qwertyui ?
    7. ...
    8. lea edi,asd
    9. virtual at edi
    10. qwertyui1 qwertyui
    11. end virtual
    12. mov eax,[qwertyui1.surname]
     
  12. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    litrovith
    Ну, по сути от структур больше и не надо :).
     
  13. qwertyui

    qwertyui New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2009
    Сообщения:
    28
    litrovith
    теперь когда пытаюсь вывести элемент структуры в messagebox: invoke MessageBox,0,0,[edi.Name1],0 пишет invalid size of operand
     
  14. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    Mika0x65, реплика была адресована тс ;)
     
  15. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    qwertyui, масмовские *.inc фасм не кушает

    код в студию
     
  16. qwertyui

    qwertyui New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2009
    Сообщения:
    28
    litrovith
    ояебу..... не масмовские .inc а фасмовские люди зайдите в папку с макросами фасма пожалуйста тогда все поймете.........
    а что там кода ? у меня в edi адрес IMAGE_NT_HEADERS затем прибавляю к нему 78h в результате у меня должен буть указательна таблицу секций я указываю компилятору что edi указывает на IMAGE_SECTION_HEADER и пытаюсь вывести имя секции....
     
  17. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    qwertyui, ияебу что такое [edi.Name1]? Иди кури msdn.

    Ну, пытаешься, и чё трудно в оле посмотреть что ты суёшь в MessageBox?
    тфу, онож не компилится )))

    тс код давай или ето секретнся разработка?)
     
  18. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    на фасме ты никому ничего не указываешь. фасм не позволяет с собой так поступать, тем более ему указывать!
    а edi у тебя просто указатель. ты сам решаешь, что в это памяти находится.
     
  19. qwertyui

    qwertyui New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2009
    Сообщения:
    28
    лан кароче.... догадаца видимо сложно edi.Name1 имя секции.... Хотя если структуру IMAGE_SECTION_HEADER в глаза не видеть ни разу в жизни то да.... Если еще кто что знает по существу отпишите пожалуйста
     
  20. qwertyui

    qwertyui New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2009
    Сообщения:
    28
    олололоо и как посматрю в олле если файл не компилится?