Сейчас на форуме: -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. |
|
Создано: 21 июня 2015 18:07 · Личное сообщение · #2 |
|
Создано: 22 июня 2015 19:31 · Личное сообщение · #3 |
|
Создано: 26 июня 2015 06:40 · Личное сообщение · #4 |
|
Создано: 26 июня 2015 10:57 · Личное сообщение · #5 Apokrif пишет: если бы MyStruct поля имела, еще лучше бы смотрелось! Фигня всё это, не умеет ИДА работать с перегружаемыми регистрами внутри функи (о одном блоке esi одна структура, в другом уже другая, причем границы блоков могут быть размыты), так и с перегружаемыми локальными данными. Поэтому проще всё это делается руками, чем такими инструментами как предложенный. ----- Everything is relative... |
|
Создано: 26 июня 2015 11:30 · Личное сообщение · #6 |
|
Создано: 26 июня 2015 11:41 · Личное сообщение · #7 |
|
Создано: 03 июля 2015 22:44 · Личное сообщение · #8 Создал плагин для Ida Pro 6.6 с использованием SDK 6.6. В процессе его работы вывожу лог того, что он делает в "output window". Для этого, как будто, предназначена функция msg( ... ), но после старта плагина ( а он работает довольно долго ) окно иды висит и ничего никуда не выводится. Потом, через несколько минут, когда плагин заканчивает работу ( т.е. выходит из метода run ), ида "развешивается" и в окно оптом выводится пачка моих сообщений. Это так задумано, или я делаю что то неправильно? |
|
Создано: 03 июля 2015 22:56 · Личное сообщение · #9 |
|
Создано: 03 июля 2015 23:11 · Поправил: ion · Личное сообщение · #10 |
|
Создано: 03 июля 2015 23:16 · Личное сообщение · #11 если хотите в процессе то выводите не в ида окно, а в отдельное window окно как это выводит ida при загрузке dwarf debug info, думаю IDA тяжело одновременно крутить run и писать обновлять gui output window тоже самое можно наблюдать если сделать все в idc скрипте, пока он не отработает, ида зависает, и только потом показывает все в логе |
|
Создано: 03 июля 2015 23:23 · Личное сообщение · #12 reversecode пишет: если хотите в процессе то выводите не в ида окно, а в отдельное window окно Есть ли у вас на примете хоть один рабочий пример такого плагина? Примеры создания окон, которые есть в SDK работают точно так же, как и сама ида - пока работает плагин, ничего в это новое окно не выводится и потом по окончании работы в нем оптом появляется пачка сообщений. |
|
Создано: 03 июля 2015 23:36 · Поправил: reversecode · Личное сообщение · #13 |
|
Создано: 03 июля 2015 23:41 · Личное сообщение · #14 Попробую, отпишусь. Создал в методе run отдельный поток, чтобы не держать иду в этом методе и позволить ей обрабатывать оконные сообщения, а в этом потоке делал основную "плагиновую" работу. Ида при этом крэшится с совершенно разными сообщениями. Видимо, многие методы SDK не являются потокобезопасными... Но если в новом потоке выводить только сообщения msg и больше ничего не делать, они выводятся немедленно и без проблем. |
|
Создано: 03 июля 2015 23:47 · Личное сообщение · #15 |
|
Создано: 04 июля 2015 00:02 · Поправил: ion · Личное сообщение · #16 |
|
Создано: 04 июля 2015 00:03 · Личное сообщение · #17 ion Добавьте в цикл своего обработчика вот такую штуку и усё - wasBreak() ----- Everything is relative... | Сообщение посчитали полезным: ion |
|
Создано: 04 июля 2015 00:10 · Личное сообщение · #18 |
|
Создано: 04 июля 2015 00:19 · Личное сообщение · #19 |
|
Создано: 04 июля 2015 00:24 · Поправил: reversecode · Личное сообщение · #20 |
|
Создано: 04 июля 2015 00:25 · Личное сообщение · #21 |
|
Создано: 04 июля 2015 00:43 · Поправил: reversecode · Личное сообщение · #22 replace_wait_box кстати тоже используется в dwarf.plw плагине Добавлено спустя 5 минут сначала первый вызов show_wait_box а потом replace_wait_box столько сколько нужно в конце закрытия окна hide_wait_box вроде так | Сообщение посчитали полезным: ion |
|
Создано: 04 июля 2015 01:04 · Личное сообщение · #23 reversecode пишет: сначала первый вызов show_wait_box а потом replace_wait_box столько сколько нужно в конце закрытия окна hide_wait_box вроде так Спасибо, помогло! Действительно, сначала show_wait_box, а затем в цикле своего обработчика msg и сразу после него wasBreak. Т.ч. совет wasBreak от Vamit не совсем усё Получается, что show_wait_box запускает цикл обработки оконных сообщений, а wasBreak действительно проталкивает очередное сообщение в очереди и таким образом msg проходят в "output window". |
|
Создано: 04 июля 2015 09:33 · Поправил: Vamit · Личное сообщение · #24 show_wait_box я не делал, он предназначен для вывода своих сообщений в отдельное окно ожидания. wasBreak() же прерывает процесс вашего обработчика и дает отработать идашной ГУИ, возможно обновление окна сообщений как-то завязано с обработчиками новых окон или окном дизасма. У меня в основном рабочем цикле перед вызовом wasBreak() ещё иногда вызывается callui(ui_showauto, addr, AU_NONE);, но и одного wasBreak() должно быть достаточно, по крайней мере в ИДА 5.2 у меня всё работало, на более поздних не проверял... Но у меня Ида поставлена в режим ожидания такими строками show_wait_box("Decompiling..."); callui(ui_setstate, st_Work); но, они вызываются однократно перед началом обработки, в цикле же только wasBreak()... ----- Everything is relative... | Сообщение посчитали полезным: ion |
|
Создано: 05 июля 2015 02:45 · Личное сообщение · #25 Vamit пишет: но, они вызываются однократно перед началом обработки, в цикле же только wasBreak() Я об этом и писал: ... сначала show_wait_box, а затем в цикле своего обработчика msg и сразу после него wasBreak ... Можно и без msg, тогда вместо него любое сообщение в окно иды должно перерисовываться, например ваше callui(ui_showauto, addr, AU_NONE) |
|
Создано: 06 июля 2015 20:38 · Поправил: ion · Личное сообщение · #26 Ида после анализа из некоторых данных сформировала структуры. Например: .text:004132D5 dd offset off_417B90 ; PropType .text:004132D5 dd 0FF0001F8h ; GetProc .text:004132D5 dd 0FF0001F8h ; SetProc .text:004132D5 dd 1 ; StoredProc .text:004132D5 dd 80000000h ; Index .text:004132D5 dd 1 ; Default .text:004132D5 dw 0Bh ; NameIndex .text:004132D5 db 10,'AutoSelect' ; Name Как в иде выяснить, что это за структура? ______________________________________________________________ Нашел. Нужно правой кнопкой мыши по адресу и выбрать "List cross references from...", или на клавиатуре "Ctrl+J" и в открывшемся окне будет искомая структура. |
|
Создано: 08 июля 2015 17:05 · Поправил: ion · Личное сообщение · #27 Подскажите, пожалуйста, как средствами ида SDK назначить тип какому нибудь полю вновь созданной структуры в "C notation" ( как это делается с помощью клавиши "Y - Set type..." в оболочке )? Скажем, void** ______________________________________________________________________________ И снова отвечаю сам... 1. Получаем тип поля структуры в "C notation": Code:
2. Задаем тип полю структуры в "C notation": Code:
| Сообщение посчитали полезным: Vintersorg |
|
Создано: 14 июля 2015 06:41 · Поправил: Apokrif · Личное сообщение · #28 |
|
Создано: 19 июля 2015 10:40 · Личное сообщение · #29 |
|
Создано: 19 июля 2015 11:35 · Личное сообщение · #30 |
|
Создано: 22 июля 2015 11:47 · Личное сообщение · #31 |
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 50 . 51 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |