Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать вызываемую фу-ию из DLL [D6, WinXP]


17Landgraf ©   (2006-10-26 14:44:00) 

Добрый день уважаемые участники форума!
Подскажите пожалуйста:

Есть программа которая ставит ЭЦП подписи на документах, она использует свой DLL. Я хотел бы подключить этот dll к своей программе, дабы автоматизировать рутинную работу. Скачал программку, которая просматривает dll и показывает какие в ней лежат функции. Программа называется Dependency Walker. Правда я немогу найти какие параметры используются в тех или иных функциях.
А как мне узнать какая функция вызывается из dll, при определенных действиях? Например, в этой программе есть пункт меню "Установить "ЭЦП", какая при этом вызывается фун-ия из dll. Может быть есть программа наподобие RegMon, толька для dll? Запустил программу и смотришь к каким функциям из dll она обращается.


Ketmar   (2006-10-26 15:37:00) [1]

>[10] Сергей М.(c) 26-Oct-2006, 15:30
>"Тяжела и неказиста жизнь дебагериста")
ой, не напоминай... %-)


Сергей М.   (2006-10-26 15:30:00) [2]


> может он автору поможет понять что смысла в таком решении
> проблемы не много


Хотелось бы в этот верить.

"Тяжела и неказиста жизнь дебагериста")


Elen   (2006-10-26 15:28:00) [3]


> Сергей М.

Эт верно. Но может он автору поможет понять что смысла в таком решении проблемы не много 8), тем более что кстати, для него есть огромная куча плугинов


Ketmar   (2006-10-26 15:25:00) [4]

>[7] Сергей М.(c) 26-Oct-2006, 15:21
а Olly и не для этого делался. для "хитропопых" -- SoftIce есть. %-) а Olly -- очень удобный user-mode отладчик.
кстати, для него есть огромная куча плугинов, которые сносят многие защиты. %-)


Сергей М.   (2006-10-26 15:21:00) [5]


> Рекомендую OllyDebug


OllyDbg довольно неплох, но как и многие другие дебагеры из этой функциональной "ниши", бессилен перед некоторыми "хирозадыми" PE-модулями


Elen   (2006-10-26 15:18:00) [6]


> А про параметры - см. про дизассемблер+отладчик.
> To 17Landgraf

Кстати Рекомендую OllyDebug. Он хорошо показывает параметры. и там ты сможеш поставьть бряки на функции и узнать какая в какой момент вызывается, хотя не обязательно что это будет какая -то одна функция. Может твою рутину обрабатывают несколько функций...


Сергей М.   (2006-10-26 15:05:00) [7]


> К сожалению, такой возможности нет


Сожалею.


> так я смогу узнать какие параметры передаются и какая функция
> вызывается?


Какая ф-ция вызывается - да, сможешь.

А про параметры - см. про дизассемблер+отладчик.


17Landgraf   (2006-10-26 15:03:00) [8]


> Узнать у разработчика DLL


К сожалению, такой возможности нет!


> см. все касаемое перехвата вызовов API


А так я смогу узнать какие параметры передаются и какая функция вызывается?


Ketmar   (2006-10-26 15:01:00) [9]

>[2] Джо(c) 26-Oct-2006, 14:51
или (совсем маловероятный случай) из DLL забыли вырезать отладочную информацию. %-)


Джо   (2006-10-26 14:51:00) [10]

> Правда я немогу найти какие параметры используются в тех
> или иных функциях.

Такая информация в DLL не хранится. Есть частный случай, когда компилятор C++ приделывает к имени функции всякие свои обозначения, чтобы можно было эти параметры узнать (C++ name mangling), но делается это редко и зависит от компилятора.


Сергей М.   (2006-10-26 14:49:00) [11]


> как мне узнать какая функция вызывается из dll


см. все касаемое перехвата вызовов API.


> какие параметры используются в тех или иных функциях


1. Узнать у разработчика DLL.
2. Воспользоваться подходящим дизассемблером+отладчиком.


Наверх

Титульная страница Поиск, карта сайта Написать письмо