Размер секции

Тема в разделе "WASM.BEGINNERS", создана пользователем GeNeZiS, 30 янв 2009.

  1. GeNeZiS

    GeNeZiS New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    135
    Доброго времени суток.
    Вопрос такой: как программно правильно получить количество байт N-ной секции PE-файла?
    хочется проделать некоторые операции с одной из секций некоторого файла начиная с <начало_секции> + n байт до конца этой секции. Нужный мне размер получаю из SizeOfRawData этой секции - n байт, но видимо этого не достаточно т.к. не доходя и до половины цикла прога вылетает с ошибкой.
    В чем может быть беда?

    Спасибо за внимание.
     
  2. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    очевидно беда в самом цикле
     
  3. GeNeZiS

    GeNeZiS New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    135
    цикл такой:
    Код (Text):
    1. mov  esi, <начало секции>
    2. add  esi, <n байт>
    3. mov   ecx, <размер секции>
    4. sub   ecx, <n байт>
    5. shr   ecx, 2
    6. mov   ebx, <какое-то число>
    7. @@:
    8. xor   dword ptr [esi], ebx
    9. add   esi, 4
    10. dec  ecx
    11. test   ecx, ecx
    12. jnz   @B
    <n байт> кратно 4
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    в проге.
     
  5. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    а что отладчик показывает? на какой именно инструкции падает и что в этот момент содержиться в других регистрах?
     
  6. GeNeZiS

    GeNeZiS New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    135
    падает на xore. говорит что мол данные записываются по несуществующему адресу. причем в ecx даже до половины еще далековато
     
  7. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    хм... выкладывай наверна свой софт и как его тестить - может кто под олькой глянет. Так имхо гадать долго можно