ресурсы PE32+

Тема в разделе "WASM.X64", создана пользователем expert, 20 май 2010.

  1. expert

    expert New Member

    Публикаций:
    0
    Регистрация:
    19 янв 2009
    Сообщения:
    151
    не отображается иконка после перестройки ресурсов PE32+. скорей всего есть отличия в новом PE. в хидерах ничего не сказано, ms pe/coff тоже молчит. может кто-нибудь сталкивался?
     
  2. expert

    expert New Member

    Публикаций:
    0
    Регистрация:
    19 янв 2009
    Сообщения:
    151
    *точней, отличия в структуре ресурсов
     
  3. lhc645

    lhc645 New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    106
    expert
    Приведите ваш код работы с ресурсами.
     
  4. expert

    expert New Member

    Публикаций:
    0
    Регистрация:
    19 янв 2009
    Сообщения:
    151
    lhc645
    код слишком большой, да и не важно (там идёт сборка ресурсов из структур IMAGE_RESOURCE_DIRECTORY и проч.). на x86 работает, на x86-64 не отображается ни иконка, ни VersionInfo. проблема должна быть в самих структурах :)
     
  5. lhc645

    lhc645 New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    106
    expert
    Опциональный заголовок верный, IMAGE_OPTIONAL_HEADER64?

    Тогда делайте вывод директории ресурсов на консоль, сверяясь с чем-нибудь типа Restorator (/любой pe-редактор с возможностью просмотра ресурсов), - тогда будет ясно в каком месте ошибка.
     
  6. expert

    expert New Member

    Публикаций:
    0
    Регистрация:
    19 янв 2009
    Сообщения:
    151
    да, конечно.

    CCF Explrorer нормально показывает мои ресурсы + x86 винда видит VersionInfo, а x64 нихрена :dntknw:
     
  7. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.549
    Адрес:
    Russia
    expert
    Соберите x64 проект на VS с нужными вами ресурсами и веринфно. И сравните с вашим.
     
  8. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    Сори за никфрофилию, ошибка с корее всего в том что RVA на данные должны быть выравнены на 8 байтов, 64 битная же система.