Прежде всего, в реверсинге я ноль от слова полный. Допустим, есть довольно древняя DLL-библиотека, которая не имеет какой-то особенной защиты, т.е. никто специально не запотился о том, чтобы в ней никто не мог ковыряться; более того, фактически, эта библиотека является SDK, т.е. она создана, чтобы сторонние приложения ее вызывали. Задача - установить не только имена функций (это я могу сделать с помощью dumpbin lib.dll /exports), но и параметры. Можно ли повесить какой-то хук на эту либу и отловить вызов к ней и оттуда получить нужную информацию? По ходу, написана библиотека на Visual C++ какой-то древней версии типа 6.0.
http://reverseengineering.stackexch...t-the-function-prototypes-from-an-unknown-dll /ADD by KIR@PRO Проще говоря, ручками смотреть, в отладчике, сколько и какие аргументы передаются каждой функции. =(
По количеству аргументов еще не проблема, а вот их интерпретация - дело мутное. Вот высните, есть есть параметр, и в нем записано что-то вроде 0x7381012371234. Что это: указатель, какие-то флаги, дескриптор объекта ОС, и т. д.? Задача восстановить интерфейс DLL будет не намного легче, чем взлом софта. По сути, надо не только посмотреть, как обрабатывается стек (для 32 бит) или регистры + стек (для 64 бит), а в принципе пройти всю функцию пошагово и не раз.
IDA же скрипты поддерживает. И вроде как вполне достойно определяет параметры (не без косяков конечно). Назначение параметров конечно самому придется определять, но кое-что скрипты все-таки умеют. Можно поработать напильником и экспортировать все что нашел в .h - файл, можно поискать. Кто-то такое уже делал скорее всего