как вручную поменять иконку у экзешника?

Тема в разделе "WASM.BEGINNERS", создана пользователем amvoz, 29 янв 2012.

  1. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Друзья! Значит, что я делаю:

    1) Беру экзешник X с понравившейся иконкой, и аккуратно копирую (HIEW) секцию ресурсов по RVA: PointerToRawData, размером SizeOfRawData в файл например fail_sekts

    2) Беру экзешник Y, у которого нет секции ресурсов (простенький messagebox) и аккуратно-аккуратно программно присоединяю к нему секцию, которая щас в файле fail_sekts, атрибуты устанавливаю r, имя .rsrc, правлю заголовки (этот пункт менее других подлежит сомнению, я давно написал специальную программу именно для прибавления секций к экзешнику, не раз прибавлял секции с кодом)

    3) правлю таблицу директорий, _IMAGE_DATA_DIRECTORY.Size подглядываю у X в OllyDbg, _IMAGE_DATA_DIRECTORY.VirtualAddress пишу фактический

    4) Запускаю модифицированный Y, ноль эмоций, обновлённый файл отрабатывает без ошибок, только иконки у него не прибавляется.

    Открываю Y в OllyDbg, там в памяти в графе Contain напротив прибавленной .rsrc гордо красуется "resources", то есть всё круто. А иконки не видно, как быть?

    Если я с этим справлюсь, этот процесс можно будет потом автоматизировать. Cпасибо, кто откликнется!
     
  2. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.198
    Адрес:
    подполье
    Мы должны попробовать угадать чтолe?
     
  3. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Чуть не забыл, TrashGen не беспокоиться.
     
  4. Incidence

    Incidence New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2011
    Сообщения:
    236
    Адрес:
    Kiev, UA
    Ээээ, зачем так сложно. Вроде ж API работы с ресурсами (BeginUpdateResource, UpdateResource и т.п.) позволяет менять ресурсы в модуле и так? Я делал самодельную цифровую подпись EXEшников таким образом.

    Да, ещё посмотри ResourceHacker'ом, может там больше одной иконки