Привет. Скажите как IDA подключает к exe`шнику DLL,при отладки DLL? И как во время выполнения получить HMODULE этой DLL?
В общем я хочу разобраться в чужой DLL. Я её дизассемблировал в IDA,поглядел и решил посмотрет на неё в деле! После в process options указываю Application:\myApp.exe ;моя программка использующая нужные мне функции. InputFile:\NoMyDll.dll ;чужая dll`ка Directory:\ Нажимаю Attache to process... Выдетает ошибка: The debugger could not find running processes coresponding to this database. Чё делать? Как по трассировать эту дллку?
в OllyDbg есть такая кнопка H - открытые хэндлы. При выолнении работы среди них и будет ваша. есть еще способ - process explorer - там выбираете выш процесс, делаем suspend и опять таки смотрим все подключенные модули и хэндлы. и там и там можно увидеть значения этих хэндлов. HMODULE ~ HANDLE ~ HFILE в некотором смысле...
Chikanok Если Ваша программка уже импортирует эту длл, то просто открываете IDA'ой свою программку (без всяких ), а потом в длл ставите брэйкпоинты на нужные функции.
в Olly еще кнопка E - View Executables - так вот среди них во время подгрузки и появится ваша DLL. двойной клик и вперед! В IDA чтото подобное вроде есть...
1. Создаем прогу (exe) где есть вызов LoadLibrary("путь к dll"); 2. Открываем идой DLL. 3. Ставим брейкпоинты где надо. 4. В иде process options: Application: полный путь к проге exe InputFile: здесь уже должен быть полный путь к открытой ДЛЛ Directory: здесь уже должен быть полный путь к директории ДЛЛ ВСЕ! жмем f9
Это DLL`ка для Windows Mobile,моя прога и дллка лежат в корне мобильного устройства. Открытая на жестком ПК,а рабочая и ехешник в КПК. IDA сам копирует ДЛЛку в КПК.