Здравстуйте ! Есть dll написаная на С. Каким инструментом можно узнать входные параметры (в том числе и типы) для процедур в этой dll. Спасибо !
Fugitive Такого инструмента не существует. Только IDA, но она не решает эту задачу напрямую. Т.е. о типах можно догадываться по логике исполнения кода.
если dll была скомпилирована С++ то может быть функции экспортируются как ?MyFunc@AAB короче тип данных указан, а для Делфи может будет работать DeDe. В любом случае надо дизассемблировать и смотреть формат.
А как можно узнать число параметров? Есть ли какие-то определенные признаки? Например, если нужно сделать фейковый вызов в декрипторе рандомной АПИ...
zoooool Только в дизассемблере или отладчике. Признаки есть. Например, для stdcall функций в конце нее можно найти инструкцию retn X. X - есть число параметров, умноженное на 4 (не всегда, но в основном это так). Для fastcall число_параметров=(0~3)+X/4 - зависит от компилятора и от... числа передаваемых параметров. Для сишных ф-ций еще сложнее, лучше этими себя не заморачивать. Лучший способ все это дело узнать - использовать дизассемблер. IDA Pro здесь уже упомянута. [add] ...декриптор рандомной АПИ..., фейковый вызов в декрипторе рандомной АПИ,... непоняятно...
KeSqueer спс ответ на вопрос я получил при чем довольно точный и граммотный я даже за retn x не подумал сперва....