Сейчас на форуме: -Sanchez- (+6 невидимых) |
eXeL@B —› Основной форум —› Использование IDA Pro |
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 50 . 51 . >> |
Посл.ответ | Сообщение |
|
Создано: 08 августа 2008 18:53 · Личное сообщение · #1 Здесь предлагаю обмениваться опытом использования, настройки этой тулзы. Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? ) ----- My love is very cool girl. |
|
Создано: 22 июля 2015 11:57 · Личное сообщение · #2 есть так себе плагин с контеста hexrays_tools by Milan Bohacek, Charles University in Prague на видео и в описании этого нет, но есть в примерах в архиве с отрицательными смещениями |
|
Создано: 22 июля 2015 12:19 · Личное сообщение · #3 |
|
Создано: 22 июля 2015 12:32 · Поправил: reversecode · Личное сообщение · #4 там соурсы есть, только пересобирать если что то еще найдете с отрицательными смещениями скажите, мне тоже интересно Добавлено спустя 3 минуты кстати есть еще CONTAINING_RECORD для hexrays но оно не для всех случаев, и в сложных выкрутиться им нельзя |
|
Создано: 25 июля 2015 23:25 · Личное сообщение · #5 Может кто знает, а может кому пригодится. Нашел описание, как использовать этот CONTAINING_RECORD для негативных смещений структур. В результате и в IDA и в Hex Rays отображает структуры корректно (а всего на всего надо было выбрать кусок кода и нажать T да чуток настроить в более полном диалоге) |
|
Создано: 25 июля 2015 23:47 · Личное сообщение · #6 |
|
Создано: 03 августа 2015 22:43 · Личное сообщение · #7 |
|
Создано: 03 августа 2015 22:59 · Личное сообщение · #8 |
|
Создано: 03 августа 2015 23:06 · Личное сообщение · #9 К отладке подхожу через аттач(есть на то причины). Файл запускается и выполняется нормально, поверх телепается упаковщик. Как заставить ИДА проименовать весь импорт в таком случае? Или хотя бы что б стоя на определённых функциях получать имя импортируемой функции. ----- все багрепорты - в личные сообщения |
|
Создано: 03 августа 2015 23:13 · Поправил: reversecode · Личное сообщение · #10 |
|
Создано: 03 августа 2015 23:26 · Личное сообщение · #11 |
|
Создано: 03 августа 2015 23:40 · Личное сообщение · #12 |
|
Создано: 14 августа 2015 19:12 · Поправил: plutos · Личное сообщение · #13 На hex-rays.com нашел статью "Debugging Windows kernel under VMWare using IDA's GDB debugger" В ней, в частности, говорится: "Preparing VM for debugging Let's assume that you already have a VM with Windows (32-bit) installed. Before starting the debugging, you can copy the kernel for symbol retrieval later. Copy ntoskrnl.exe or ntkrnlpa.exe (depending on the VM configuration) from Windows/sytem32." Я такую связку (VMWare + IDA's GDB debugger) никогда не пробовал, но звучит интересно. Помогите ответить на три вопроса: Откуда и куда нужно копировать kernel? Как определить какой именно файл нужно копировать: ntoskrnl.exe или ntkrnlpa.exe? Зачем это делать? Ведь мы для символов используем .pdb files, загружаемые автоматически с Microsoft symbol server. ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 14 августа 2015 20:14 · Поправил: reversecode · Личное сообщение · #14 из гуеста в хост, на хосте будет ида, и она уже вытянет pdb для кернеля, а иначе через гуест она не стянет если не знаете какой кернель винда подгрузит вытяните все, ида потом распознать в теории сама должна так же hal dll итд системные которые могут пригодится, в зависимости что хочется увидеть в отладке | Сообщение посчитали полезным: plutos |
|
Создано: 16 августа 2015 01:50 · Личное сообщение · #15 |
|
Создано: 16 августа 2015 11:21 · Поправил: VerGunSky · Личное сообщение · #16 igorca С паролем из утекшего письма с офф сайта можно скачать всё www login: idauser www password: vef03fescQCWyt02aoV | Сообщение посчитали полезным: igorca |
|
Создано: 17 августа 2015 16:59 · Личное сообщение · #17 |
|
Создано: 17 августа 2015 17:08 · Личное сообщение · #18 |
|
Создано: 17 августа 2015 17:29 · Поправил: DenCoder · Личное сообщение · #19 Скопировать кусок огромных массивов проблемно. Их свыше 5 тыс, и даже когда рядом встаёшь на массив поменьше, 200 объектов, зависает. Смотришь в диспетчер задач - загружает одно ядро, выделяется память по 500 кб в секунду. Через несколько минут отвисает. Но на какой-то раз доходит даже до такого: Такое и у 6.5, и у 6.6. ----- IZ.RU |
|
Создано: 17 августа 2015 20:26 · Личное сообщение · #20 |
|
Создано: 17 августа 2015 23:59 · Поправил: plutos · Личное сообщение · #21 В продолжение своего вопроса (номер 13 выше): Нахожу указатель на KPCR structure (fs:0x0000), чтобы потом через offset 0x034 перейти на FS:0x34 (KPCR!KdVersionBlock), а оттуда найти base of ntoskrnl.exe. Но по этому адресу (KPCR!KdVersionBlock) - null. Нашел кое-что по этому вопросу: "Interestingly, the structure we reference at FS:0x34 (KPCR!KdVersionBlock) is not guaranteed to exist in multiprocessor systems if you are not executing on the first processor" Пробовал на нескольких multiprocessor systems, результат один и тот же. На VMWare стоит Win2k (2195), но я так понимаю, что от OS это не зависит. Вот, на всякий случай winDbg output, хотя на IDА е тоже самое, тот же null по этому адресу. kd> !kpcr No export kpcr found kd> dt nt!_KPcr ffdff000 +0x000 NtTib : _NT_TIB +0x01c SelfPcr : 0xffdff000 _KPCR +0x020 Prcb : 0xffdff120 _KPRCB +0x024 Irql : 0 '' +0x028 IRR : 0 +0x02c IrrActive : 0 +0x030 IDR : 0xffffffff +0x034 Reserved2 : 0 +0x038 IDT : 0x80036400 _KIDTENTRY Сам адрес можно найти, используя вот такой код: Code:
Но для этого мне сперва нужно этот код run on VM Ware host, записать адрес, а потом вернутся обратно в IDA. Можно ли обойти такое неудобство? ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 19 августа 2015 10:25 · Поправил: DenCoder · Личное сообщение · #22 reversecode пишет: проверки баг не баг Это была проверка 6.5, 6.6 без дек.обновления. Проверил обновление - с ним работает шустрее, но в описанном плане такой же зависон(хотя может отличается - немного другие принципы зависания Ильфак заложил/улучшил их ). Немного поизучал проблему снятием снэпшотов с загруженного треда - QtGui4.dll, не вошедшая в дек.обновления, все тормоза в ней сосредоточены. Добавлено Кол-во строк в Output window типа "адрес: too many lines" не удалось подсчитать - при копипасте ида маякнула "Out of memory" и вылетела. plutos пишет в посте №13: Как определить какой именно файл нужно копировать: ntoskrnl.exe или ntkrnlpa.exe? По crc можно узнать. crcOf(LoadedNt) = crcOf(searchedNt) plutos пишет в посте №21: а оттуда найти base of ntoskrnl.exe не знаю, выведет тебя этот путь к цели или нет, я не ядерщик. Но проще - цепляемся к гуесту вындыбыгой, смотрим загруженные дровишки, дампим хидер, по хидеру сравниваем с предполагаемыми. Интересно, что есть ещё реверсеры, которые доверяют gdb внутри иды. Ведь будь он нормальным там, то консолька не хуже виндбг, должна выдать всю необходимую инфу. В теории есть исходники, вроде как есть IDA SDK, и есть урезанный gdb_user.plw... Добавлено в общем для справки Причины, по которым требуется собрать нормальный ида-плагин GDB для его нормальной работы: 1. Поиск исходников, в которых есть строчка "Warning: ignoring unknown GDB feature %s", ничего не дал. Но она присутствует в $IDA_PATH$/plugins/gdb_user.plw. Следует из этого, что собирали gdb для иды не из opensource. Своё! Плевать они хотели на opensource, есть же описание протокола. Но авторА иды не учитывают, что он достаточно часто меняется! 2. Заметим, что у ида-плагина GDB в списке GDB features для ARM следующие: Code:
Армы Cortex-A7 и выше архитектуры ARMv7A давно содержат в себе фичу org.gnu.gdb.arm.neon (с точки зрения нормального gdb). Но когда был выпущен первый A7, и когда плагины для ida6.6? Ида в 2014, может и так. A7? Его Architecture Reference Manual? Code:
Я сомневаюсь, что в редакции даже 2012 года было дополнено именно по расширению NEON для ARM. Смотреть надо, но 2011 год - вполне возможный, когда начали появляться арм-компиляторы с неоновской фичей. Умолчу о догадках, что там в hex-rays происходит, но печалька, что не успевают. 3. В плагине gdb для иды всё, что есть в консоли - каких-то жалких 3 команды для всех архитектур. Это весь функционал? У gdb управление именно отладочным функционалом гораздо шире! Никакие idc-скрипты и питоны его не заменят! Хотя возможно питоновский скрипт отсылки/приёма пакетов может служить каким-то костылём, но сомневаюсь... P.S. Возможно по GDB для IDA надо вынести в отдельную тему. Ведь ида остаётся во многом незаменимым пока дизассемблером, а отладка с помощью её плагинов, не переключаясь на другие дебаггеры - полезная фича, снижает утомляемость в процессе реверса. ----- IZ.RU | Сообщение посчитали полезным: plutos |
|
Создано: 26 августа 2015 21:03 · Личное сообщение · #23 Есть вот такой код на питоне в одном Ида плагине, он работает на Иде 6.8+ или даже 6.7. На 6.6 не работает. https://github.com/ynvb/DIE/blob/abda79c96719d28d9465e17547874b2796d49ec3/DIE/Lib/IDATypeWrapers.py self.funcInfo = idaapi.func_type_data_t() ... argNum = len(self.funcInfo) Видимо, почемуто стандартный len(object) успешно возврает кол.во аргументов в новых Идах. Хотя в доках https://www.hex-rays.com/products/ida/support/idapython_docs/idaapi.func_type_data_t-class.html ничего подобного нет. Есть https://www.hex-rays.com/products/ida/support/idapython_docs/idaapi.tinfo_t-class.html int get_nargs(self) Обясните почему len() работает? И можно ли его успешно заменит хотя бы в IDATypeWrapers.py, def getArguments(self)? |
|
Создано: 26 августа 2015 21:32 · Личное сообщение · #24 |
|
Создано: 26 августа 2015 22:00 · Личное сообщение · #25 |
|
Создано: 26 августа 2015 22:03 · Личное сообщение · #26 |
|
Создано: 26 августа 2015 22:22 · Личное сообщение · #27 |
|
Создано: 26 августа 2015 23:25 · Личное сообщение · #28 Ок. Понял как кол.во аргументов найти. Как и из каждого арга тинфо-т сделать. Дальше надо argType = self.funcInfo.at(argIndex).type argLoc = self.funcInfo.at(argIndex).argloc argName = self.funcInfo.at(argIndex).name Не подскажет кто, как вот это заполнить. https://www.hex-rays.com/products/ida/support/sdkdoc/structfuncarg__t.html Тут https://www.hex-rays.com/products/ida/support/sdkdoc/classtinfo__t.html есть bool tinfo_t::get_type_name ( qstring * name ) const но он питоновский стринг = "" за qstring* берёт. Добавлено спустя 1 минуту cracker888 пишет: Но когда файл загружается в отладчик(делаю аттач к процессу) всё это дело слетает. Можно ведь и после атача анализировать, не? Добавлено спустя 2 часа 51 минуту После ty = ti.get_nth_arg(index), type вроде работает. Теперь funcarg_t, argloc и nameе. Как к ним добраться... | Сообщение посчитали полезным: cracker888 |
|
Создано: 29 августа 2015 16:57 · Личное сообщение · #29 |
|
Создано: 29 августа 2015 20:57 · Личное сообщение · #30 |
|
Создано: 01 сентября 2015 22:04 · Личное сообщение · #31 reversecode пишет: --> Link <-- As for the new ida version nice to see they fixed most of the bugfixes. for fun i patched the 6.8 ida.wll to work with idag.exe (6.6), since ida.wll holds the new functions. I upgraded 6.6 exe to work with demo 6.8 and and all works like full ida thinking its a 6.8 version, so only bugfixes. Известно ли что патчиться? Потому что я смотрю, а ник у чела тот же шо и dynamicIDAenchancement plugin..."пачил" по клоунски. |
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 50 . 51 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |