import - какой настоящий?

Тема в разделе "WASM.RESEARCH", создана пользователем skifi, 26 авг 2005.

  1. skifi

    skifi New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    10
    суть: прога в конверте envelop. раздеваю ее. дамп работает, но естественно токо на моей машине. взял imprec. не работает. в ходе мучений было найденно 4 таблицы.

    1 - по OEP imprec нашел. msvb... короче реальная

    2 - по EP imprec нашел также... GetModuleHandle, GetProcAddr и LoadLibrary - классика =)

    3 - секция idata, похоже на правду.

    4 - в заголовке PE табл. импорта ссылается на секцию .protect, и тоже реальные таблици. Сомнение вызывает размер =413h... Вроде бы она должна быть кратна 20? Но в реале уже после 380 байт идет 20 нулей.

    8/ Пробовал все по отдельности - не работает.

    Может их надо объединить? Или ни туда смотрю?
     
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    если прога на VB то настоящий импорт будет из msvbvm60.dll

    ну или из msvbvm50.dll
     
  3. skifi

    skifi New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    10
    там много прог, они написаны в основном на VC++, есть и VB. Но вот восстановление 1-го импорта приводит в неработоспособное состояние дамп. Причем в первом случаи все функции берутся из ms____.dll (непомню vb или нет, но от MS VStudio 6), и они находятся все imprec идеально. а с другими есть траблы - unresolved куча. trace2-3 выбивают прогу из памяти. как результат нен аходят. лоадер же приводит к нерабочести проги.
     
  4. Solo

    Solo New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2003
    Сообщения:
    131
    не хардлока ли конверт?
     
  5. skifi

    skifi New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    10
    Все, ответ нашел. Прадва геморно, но работает.

    А гемор вот в чем: ImpRec грабит только одну таблицу из файла. в моем же случаи их было 24. может я что-то не понимаю.

    По порядку: секция idata. в ней первой идет таблица с модулями (длл то бишь, сорри за странные название, у меня книжки буржуйские). размеср записи 20 байт, после последней идет 20 нулей.

    каждая запись содержит указатель на стоку с именем библиотеки, и два указателя на две таблицы. одна из них ссылается на имена функций, а другая на адреса в памяти (после загрузки). ImpRec кушает адрес второй таблице (можно и первую, если она цела). Как заставить его обрабатывать таблицу модулей, а потом уже на основе ее дергать таблици с указателями?
     
  6. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    если таблицы идут одна за другой

    укажи просто размер таблицы побольше



    а потом лишние ( мусорные ) удали