![]() |
eXeL@B —› Вопросы новичков —› как в ida автоматически загружать .pdb из подключившейся .dll |
Посл.ответ | Сообщение |
|
Создано: 18 сентября 2016 16:12 · Личное сообщение · #1 Как в IDA 6.8 при загрузке DLL библиотеки автоматически загрузить PDB ( отладочные символы ) После загрузки DLL в память, адрес всегда разный например 0x6DЕ10000, при второй загрузки уже 0x69Е30000 Приходится вручную каждый раз выполнять загрузку PDB, это весьма утомительно. Загружаю через GUI Ida Load -> Load File -> PDB file... Варианты решения: 1) Указать напрямую куда в память грузить DLL, чтоб адрес входа был всегда статическим. 2) Загружать pdb автоматически в зависимости от динамической точки входа. Вопрос как это сделать на практике? Пункт 2 более предпочтительный, потому что адреса брекпоинтов в эту DLL сохраняются старыми в итоге ставить новые BP утомительно и медленно. PS: Ищу специалиста IDA 6.8 в Москве для того чтобы меня потренировал. Работу оплачу. ![]() |
|
Создано: 18 сентября 2016 16:19 · Поправил: reversecode · Личное сообщение · #2 |
|
Создано: 18 сентября 2016 18:21 · Личное сообщение · #3 1) Windows 7 x64 Pro SP1 Отключаю ASLR через реестр cmd - > regedit.exe В ветку HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ Добавляю параметр "MoveImages"=dword:00000000 После ребута, в Process Explorer метки ASLR у IDA -> отлаживаемого процесса нет. Но DLL все равно грузится по разным смещениям. Возможно, я неправильно отключил ASLR, но тогда как правильно отключить??? 2) К Ильфаку в бельгию не поеду, нужен человек в теме реверса, IDA 6.8, ассемблера, который желает со мной повозится(поучить меня), ну, а в качестве бонуса могу оплатить часы потраченные на меня. Работа подразумевает длительное сотрудничество, вероятно, дружеские отношения в последствии. Мне подойдет любой специалист в реверсе , готовый на контакт. Добавлено спустя 1 час 11 минут 1) IDA - > Debugger -> Debugger Options... 2) Включаю галочку AutoLoad PDB files... 3) Теперь загружает автоматом мою EXE и DLL, но при этом IDA предлагает вручную указать путь к 25 виндовым DLL , которых у меня нет. Приходится 28 раз нажимать Cancel PDB: could not process file C:\Windows\SysWOW64\sechost.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\CRYPTBASE.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\NSI.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\USERENV.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\SysWOW64\MPR.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\WS2_32.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\SysWOW64\WINSPOOL.DRV with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\SHLWAPI.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\SysWOW64\apphelp.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\USP10.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\OLEAUT32.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) Как исправить? ![]() |
|
Создано: 18 сентября 2016 19:38 · Личное сообщение · #4 |
|
Создано: 18 сентября 2016 21:33 · Поправил: Модератор · Личное сообщение · #5 |
|
Создано: 19 сентября 2016 09:50 · Поправил: olia64 · Личное сообщение · #6 plutos, эти разговоры нужно вести во флудильне, это отдаляет меня от всеобщего счастья, потому что тратит время и нервы. У тебя какая версия IDA установлена? Добавлено спустя 16 минут Alf пишет: для длл нужно хакать в РЕ хидере в опции DllCharacteristics фичу "DLL can move" - т.е. минус 40h от имеющейся суммы офич 1) У тебя какая версия IDA установлена? 2) Про DllCharacteristics спасибо за инфу. НО, предположим что программа далее будет детектить этот флаг и менять своё состояние из за этого? Такое может быть или нет? Хэш exe меняется или нет? Получается, что ты предлагаешь сделать патч. НО патч может изменить состояние программы и может привести к последствиям. Наверняка есть способы получше? Вот, например: 1) IDA - > Debugger -> Debugger Options... 2) Включаю галочку AutoLoad PDB files... Теперь PDB от DLL грузятся нормально автоматом на старте, внезависимости от адреса DLL в памяти, но есть фича, приходится 28 раз нажать Cancel, при загрузке виндовых DLL PDB: could not process file C:\Windows\SysWOW64\sechost.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\CRYPTBASE.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PDB: could not process file C:\Windows\syswow64\NSI.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) Тоесть IDA предлагает для каждой виндовой dll вручную указать путь к DLL Вопрос 1. Как не имея эти pdb, сказать IDA , что если этой PDB у меня нет, НЕ НАДО ПРОСИТЬ УКАЗАТЬ ПУТЬ ВРУЧНУЮ! Вопрос 2. Откуда скачать эти pdb под Win7 x64 SP1 ( ссылка ), как альтернативное кривое решение. Включать интернет на виртуалке где лежит IDA не хочется в целях безопасности. Неужели в настройках IDA нет параметра, CANCEL для всех ( галка - запомнить выбор ) в окне выбора PDB для DLL , которое всплывает при каждом событии PDB: could not process file C:\Windows\SysWOW64\sechost.dll with DIA: Failed to open the file, or the file has an invalid format (E_PDB_NOT_FOUND) PS^Получается чтоб работать в IDA нужно хакнуть саму IDA . Это патч размером в 1 байт ? ![]() |
![]() |
eXeL@B —› Вопросы новичков —› как в ida автоматически загружать .pdb из подключившейся .dll |
Эта тема закрыта. Ответы больше не принимаются. |