Сейчас на форуме: -Sanchez- (+6 невидимых) |
eXeL@B —› Основной форум —› Использование IDA Pro |
<< 1 ... 45 . 46 . 47 . 48 . 49 . 50 . 51 . >> |
Посл.ответ | Сообщение |
|
Создано: 08 августа 2008 18:53 · Личное сообщение · #1 Здесь предлагаю обмениваться опытом использования, настройки этой тулзы. Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? ) ----- My love is very cool girl. |
|
Создано: 21 февраля 2017 23:02 · Поправил: varenik · Личное сообщение · #2 При копировании copy value переменной из watch view - копируется только 1024 символа, а остальное обрезается. Как сделать так, чтобы копировалось полностью? И второй вопрос: Вот код, который делает некую операцию и результат засовывает в переменную v0 Code:
Каким образом можно наблюдать за содержимым переменной v0 при работе с приложением? Интересует не текущее значение в watch view, а история всех значений которые записывались в эту переменную |
|
Создано: 25 февраля 2017 18:43 · Личное сообщение · #3 |
|
Создано: 26 февраля 2017 21:56 · Поправил: Apokrif · Личное сообщение · #4 varenik пишет: Каким образом можно наблюдать за содержимым переменной v0 при работе с приложением? Интересует не текущее значение в watch view, а история всех значений которые записывались в эту переменную v0 это грубо говоря ax и история всех значений вряд ли будет полезна. Вроде можно прикрутить код на точки останова, чтобы не останавливаться, а печатать переменную. Уже и не помню точно... |
|
Создано: 27 февраля 2017 00:07 · Личное сообщение · #5 Apokrif пишет: v0 это грубо говоря ax и история всех значений вряд ли будет полезна. Вроде можно прикрутить код на точки останова, чтобы не останавливаться, а печатать переменную. Уже и не помню точно... это не двухбайтовый регистр в привычном виде. далвике насколько я понял вообще нет регистров. v* это локальные переменные которые содержат java объекты. Надеялся, что можно залогировать все, что проходит через эту переменную, т.к. останавливаться и вручную копировать каждый раз сильно напрягает |
|
Создано: 27 февраля 2017 12:21 · Личное сообщение · #6 varenik Логировать значения можно так попробовать: 1) На точке останова ПКМ -> Edit breakpoint 2) В поле Condition ввести Message("%x\n", v0), 0 последнее значение говорит, продолжать дальше выполнение или нет. 0, который стоит, означает - продолжить, можно ввести 1 - будет останавливаться каждый раз и логировать значение, а можно заменить на (v0 == some_value) Добавлено спустя -59 минут Если по каким-то причинам нельзя использовать прямо v0, можно воспользоваться idc-функцией GetRegValue("v0") Добавлено спустя 47 минут Теория опроверглась. Существуют различия в представлении объектов отладки при нативной отладке и при отладке смали. Из idc не вытащить переменные. Можно ли это сделать из питона? И как? Какой-нибудь пример бы ----- IZ.RU |
|
Создано: 27 февраля 2017 22:34 · Поправил: Apokrif · Личное сообщение · #7 varenik пишет: это не двухбайтовый регистр в привычном виде. далвике насколько я понял вообще нет регистров. v* это локальные переменные которые содержат java объекты. Не совсем так, хотя в данном случае это не важно: Это все лучше в |
|
Создано: 28 февраля 2017 01:12 · Личное сообщение · #8 |
|
Создано: 28 февраля 2017 10:30 · Личное сообщение · #9 sendersu пишет: мож кто подскажет - в проге все строки юникод У меня тоже все юникод, но только примерно половина utf32 и остальное utf8 (практически анси), а utf16 нету. sendersu пишет: ида по умолчанию делает их анси (нечитабельно, потом меняю руками Во, а как руками-то менять? Может питона можно научить? А искать потом можно нормально? |
|
Создано: 28 февраля 2017 12:37 · Поправил: DenCoder · Личное сообщение · #10 Apokrif По ссылкам ничего про отладку в иде и получение объектов Apokrif пишет: Во, а как руками-то менять? Alt-A. Если нужно Utf-8, то кнопка Change Encoding Добавлено спустя 3 часа 49 минут Периодически просматривая список из 600 встроенных в иду idc-функций, как всегда сам спросил и сам ответил - для задачи получения значения регистра v0 и других под далвик-дебаггером есть ----- IZ.RU | Сообщение посчитали полезным: varenik, Apokrif |
|
Создано: 28 февраля 2017 20:19 · Поправил: =TS= · Личное сообщение · #11 sendersu пишет: есть ли метода как ее обучить с начала анализа сразу на юинкод строки? Можешь попробовать выставить в меню: "Options" -> "General" -> "Strings" -> "String type" Apokrif пишет: А искать потом можно нормально? Подобно содержимому "Strings window" из питона работать со стоками можно через класс-надстройку "Strings" ----- DREAMS CALL US |
|
Создано: 28 февраля 2017 23:17 · Личное сообщение · #12 =TS= пишет: Можешь попробовать выставить в меню: "Options" -> "General" -> "Strings" -> "String type" Ему хорошо, у него все строки в одной кодировке. А если все UTF, но разные 8/16(LE-BE)/32? =TS= пишет: Подобно содержимому "Strings window" из питона работать со стоками можно через класс-надстройку "Strings" Типа пройти по всем Strings, попытаться определить кодировку и поменять? |
|
Создано: 01 марта 2017 18:46 · Личное сообщение · #13 |
|
Создано: 01 марта 2017 21:55 · Личное сообщение · #14 DenCoder пишет: Может, кто-нибудь сравнивал работу скриптов на idc и на питоне? Скрипт на питоне выполняется быстрее, чем на idc? Я не сравнивал. По идее, и то и другое просто вызывают IDA API выполнить что-то, так что должно быть одинаково. Если конечно не делать какой-нибудь bubble-sort на них, без IDA. Но питон гораздо удобнее, IMHO. |
|
Создано: 02 марта 2017 12:22 · Поправил: DrVB_5_6 · Личное сообщение · #15 DenCoder пишет: Скрипт на питоне выполняется быстрее, чем на idc? смотря что будешь делать. Задачи-то разные бывают. У питона есть доступ к IDA SDK, нет необходимости дорисовывать плагины на с++. Есть возможность подключать/использовать внешние библиотеки, которые и самой Иде не снились. На операциях с базой типа "Make..." - вряд ли ощутишь разницу. Apokrif пишет:Если конечно не делать какой-нибудь bubble-sort на них Ну вот попользовать SQLite на IDC замучаешься, на питоне - левой ногой...! |
|
Создано: 03 марта 2017 04:45 · Личное сообщение · #16 DenCoder пишет: Скрипт на питоне выполняется быстрее, чем на idc? Скорость упирается в обновление UI, элементарные вещи будут работать примерно с одной скоростью, а в целом python быстрее и это не альтернатива IDC, а альтернатива C++ plugins api. Написал скрипт плагин, закинул его в плагины и работает так же, как любой другой плагин написанный на плюсах, узкие места решаются написанием этих самых мест на C\C++ или любом другом языке умеющем собирать dll. Оптимизация по скорости это отдельная и долгая тема, от пересборки самого python, до настройки кэширования, менеджера памяти или дерева ast, но для подобных задач подобное не требуется. |
|
Создано: 03 марта 2017 08:27 · Поправил: Apokrif · Личное сообщение · #17 |
|
Создано: 03 марта 2017 13:23 · Личное сообщение · #18 DrVB_5_6 пишет: На операциях с базой типа "Make..." - вряд ли ощутишь разницу. В основном функции Rfirst(), Rnext(), RfirstB(), RnextB(), strstr(), substr(), GetArrayElement(), SetArrayString(), SetArrayLong(). При переходе на питон 3 последние можно заменить... Я почему спрашиваю - хочу узнать, стоит ли перекладывать код в 1к+ строк с idc на питон. Видимо, стоит попробовать ----- IZ.RU |
|
Создано: 03 марта 2017 13:48 · Личное сообщение · #19 |
|
Создано: 03 марта 2017 14:55 · Личное сообщение · #20 |
|
Создано: 03 марта 2017 20:58 · Личное сообщение · #21 DenCoder пишет: хочу узнать, стоит ли перекладывать код в 1к+ строк с idc на питон Если данный код универсален и возможно использование в подобных задачах, однозначно стоит, завести свою собственную библиотеку вспомогательных функций, это избавит от постоянного написания тысяч строк, это выгодней в плане архитектурного решения с заделом на будущие, а если перевести ради того, чтобы перевести, нет, не стоит. |
|
Создано: 08 марта 2017 19:40 · Поправил: parfetka · Личное сообщение · #22 Хочу допилить этот плагин: http://rmadair.github.io/windbg2ida/ (здесь же описание и устаревший исходник) Требуется помощь в его допиливании под иду 6.8. Имхо, он очень поможет в исследовании программ, которые требуют ввода ключа - сразу видно, какая ветка неактивна при вводе неправильных данных и где надо свернуть.. Описание: трейсим файл в wdg, записываем файл в лог и с помощью плагина красиво расскрашиваем трассу выполнения. В архиве по ссылке ниже "своя работа" - файл плагина немного перепилен, под апи иды6.8 (но продолжает ругаться на питон!), а также мой exe'шник и снятый лог трассы - просто открываете exe в иде, запускаете плагин и открываете mylog.txt. http://www113.zippyshare.com/v/fhQe1BrN/file.html |
|
Создано: 08 марта 2017 19:52 · Личное сообщение · #23 так хочу допилить или допилили ? если допилии свяжитесь с автором пусть пульнет изменения, а то нет на гитхабе свой форк создайте Добавлено спустя -56 минут |
|
Создано: 08 марта 2017 20:41 · Личное сообщение · #24 не допилил (что, не там тему создал?) - питон ругается! Возможно, профи посмотрят Этот rmadair на почту не отвечает - где-то находил его ящик. Похоже, этот плагин писался для версии <5.5, к которой как-то прикручивался питон, т.е. давно дело было. п.с. вообще, очень не хватает мануалов по питоновким функциям иды и примеров.. |
|
Создано: 08 марта 2017 21:16 · Поправил: DrVB_5_6 · Личное сообщение · #25 |
|
Создано: 09 марта 2017 20:29 · Личное сообщение · #26 parfetka пишет: Требуется помощь в его допиливании использовать отладочное ядро для покрытия - плохая идея. возьмите dbi или эмулятор, тем более уже есть плагины в разной степени работоспособности и как раз под эту версию IDA, и для решения такой же задачи. | Сообщение посчитали полезным: parfetka |
|
Создано: 10 марта 2017 10:45 · Личное сообщение · #27 |
|
Создано: 10 марта 2017 21:24 · Поправил: Boostyq · Личное сообщение · #28 Возможно ли получить текущую декомпилированную строку из псевдокода? Нужно для IDAPython, IDA 6.8: Для полного декомпила decompile(), но нужно как get_curline() только декомпилированную Спасибо Отменяется, кому нужно: get_custom_viewer_curline(get_current_viewer(),False) Только она декорирована, так что нужно парсить. ----- В облачке многоточия |
|
Создано: 10 марта 2017 23:11 · Поправил: parfetka · Личное сообщение · #29 |
|
Создано: 19 марта 2017 15:44 · Поправил: morkovni · Личное сообщение · #30 Подскажите пожалуйста, как отключить dll rebasing при использовании IDA? Перерыл весь интернет, но эффективного решения так и не нашел: отключение флага "DLL can move" не помогает, изменение ImageBase у dll не помогает, а при установке системной переменной IDA_NO_REBASE становится невозможным отлаживать программу, так как dll все равно перемещается, и лишь в IDA Debugger адреса остаются прежними, при этом теряется связь между debugger-ом и программой в памяти. Может я неправильно выбираю метод отладки?: в IDA загружаю файл dll, может можно избежать rebasing загружая файл exe и зафиксировав необходимый модуль каким-то образом? PS: rebasing запускается каждый раз при начале отладки, и занимает много времени. Base address каждый раз новый |
|
Создано: 19 марта 2017 18:29 · Личное сообщение · #31 |
<< 1 ... 45 . 46 . 47 . 48 . 49 . 50 . 51 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |