восстановление импорта

Тема в разделе "WASM.RESEARCH", создана пользователем ozzman, 10 сен 2004.

  1. ozzman

    ozzman New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2004
    Сообщения:
    56
    Есть программа, вернее секция с кодом. Все winapi функции

    в ней заменены на call [мусор]. Есть также смещения на эти функции(rva) и имена функций. Проблема в том, что имена функций хранятся в порядке их вызова в программе.

    Как восстановить таблицу импорта.

    (подозреваю, что вопрос элементарный, но до меня что-то не доходит :dntknw:)
     
  2. Funbit

    Funbit Member

    Публикаций:
    0
    Регистрация:
    13 апр 2003
    Сообщения:
    92
    Адрес:
    Russia
    что-то я плохо понял вопрос..

    [мусор] это что такое ? совсем мусор ? 0xABCDEFGH :) ?

    и имена ф-ций и rva - это про API ?
     
  3. ozzman

    ozzman New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2004
    Сообщения:
    56
    мусор - абсолютно произвольные байты.

    протектор по смещениям забивает их переходниками.

    Т. е. было call [D15B1213], стало call [00B61234],

    на 00B61234 лежит частично эмулируемая winapi функция.

    Собственно вопрос - как, зная смещения на call [мусор] и

    имена winapi функций восстановить IAT, чтобы потом скормить её imprek'у.
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    ozzman



    Лучше попросить протектор забивать корректные адреса API функций вместо "мусора" :derisive:



    ЗЫ: О каком протекторе идёт речь?
     
  5. Mario555

    Mario555 New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2004
    Сообщения:
    21
    наверно он про арму и её иат илиминатион...
     
  6. ozzman

    ozzman New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2004
    Сообщения:
    56
    Asterix

    толку то от этого, прога будет работать только на моей машине. Протектор - aspr 1.31.
     
  7. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    ozzman

    > толку то от этого, прога будет работать только на моей машине.



    Толк в этом определенно есть :derisive:

    ImpRec'у приятней кушать целую таблицу импорта, без мусора, ну там не определятся лишь нескольких функций, их тебе придётся указать ImpRec'у вручную.
     
  8. Mario555

    Mario555 New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2004
    Сообщения:
    21
    > толку то от этого, прога будет работать только на моей машине



    Почему ? там же нужно заставить аспр создавать иат и записывать jmp/call [iat]. потом скормить эту иат импреку и всё будет работать на любом компе...
     
  9. ozzman

    ozzman New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2004
    Сообщения:
    56
    Asterix

    >Лучше попросить протектор забивать корректные адреса API функций вместо "мусора" :derisive:

    То есть было call [01234567] станет call [77b31234] - это будет работать только на моей машине(или на другой с winxp sp2).

    >Толк в этом определенно есть :derisive:

    ImpRec'у приятней кушать целую таблицу импорта, без мусора, ну там не определятся лишь нескольких функций, их тебе придётся указать ImpRec'у вручную.



    Последовательность действий мне известна.

    Вопрос именно в создании IAT.



    Повторяю вопрос: как, зная смещения на call [мусор] и

    имена winapi функций восстановить IAT, чтобы потом скормить её imprek'у.

    Вобщем, в IAT вроде итак адреса функций идут в порядке их вызова в проге, а в зааспротекченной проге нескольно адресов идут в порядке их вызова, а следующий адрес оказывается совсем не там, где должен быть.

    Вобщем, объяснение довольно нутаное получилось.

    Неплохо было бы, если бы ответил человек, работавший с восстановлением импорта в аспре 1.31
     
  10. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    Используй Софтайс, бумагу и ручку. Если прога небольшая за пару часов восстановиш.
     
  11. ozzman

    ozzman New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2004
    Сообщения:
    56
    zzzyab

    этот путь мне также известен, но это как-то не по дзенски :dntknw: