Параметры dll

Тема в разделе "WASM.BEGINNERS", создана пользователем Fugitive, 11 фев 2008.

  1. Fugitive

    Fugitive New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    1
    Здравстуйте !
    Есть dll написаная на С.
    Каким инструментом можно узнать входные параметры (в том числе и типы) для процедур в этой dll.
    Спасибо !
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Интеллектом.
     
  3. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Была бы на cpp было бы можно по названию ф-ций, а так... дизассемблер в руки и вперед, то бишь
     
  4. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    Fugitive
    Такого инструмента не существует. Только IDA, но она не решает эту задачу напрямую. Т.е. о типах можно догадываться по логике исполнения кода.
     
  5. Yashin

    Yashin New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2008
    Сообщения:
    19
    если dll была скомпилирована С++ то может быть функции экспортируются как ?MyFunc@AAB короче тип данных указан, а для Делфи может будет работать DeDe. В любом случае надо дизассемблировать и смотреть формат.
     
  6. zoooool

    zoooool New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    18
    А как можно узнать число параметров?
    Есть ли какие-то определенные признаки?

    Например, если нужно сделать фейковый вызов в декрипторе рандомной АПИ...
     
  7. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    zoooool
    Только в дизассемблере или отладчике. Признаки есть. Например, для stdcall функций в конце нее можно найти инструкцию retn X. X - есть число параметров, умноженное на 4 (не всегда, но в основном это так). Для fastcall число_параметров=(0~3)+X/4 - зависит от компилятора и от... числа передаваемых параметров. Для сишных ф-ций еще сложнее, лучше этими себя не заморачивать. Лучший способ все это дело узнать - использовать дизассемблер. IDA Pro здесь уже упомянута.

    [add]
    ...декриптор рандомной АПИ..., фейковый вызов в декрипторе рандомной АПИ,... непоняятно...
     
  8. zoooool

    zoooool New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    18
    KeSqueer
    спс
    ответ на вопрос я получил
    при чем довольно точный и граммотный
    я даже за retn x не подумал сперва....