Сейчас на форуме: -Sanchez- (+8 невидимых) |
eXeL@B —› Основной форум —› Использование IDA Pro |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 50 . 51 . >> |
Посл.ответ | Сообщение |
|
Создано: 08 августа 2008 18:53 · Личное сообщение · #1 Здесь предлагаю обмениваться опытом использования, настройки этой тулзы. Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? ) ----- My love is very cool girl. |
|
Создано: 08 декабря 2009 17:57 · Личное сообщение · #2 _Immortal_ по умолчанию в TEMP\ida директорию виндовса но также просматривает и текущую директорию где лежит exe файл ut2004 самое забавное не это а то что после долгого изучения устройства самой IDA и hexrays удивляешься как оно вообще работает приблизительно как с файл менеджером Far пока он был закрыт мне нравился но когда открыли его сорусы .... туши свет |
|
Создано: 18 декабря 2009 17:05 · Поправил: Vintersorg · Личное сообщение · #3 |
|
Создано: 18 декабря 2009 17:31 · Личное сообщение · #4 Vintersorg пишет: Можно ли, находясь в теле функции, быстро перейти на ее начало и конец? Ctrl+P "Choose function to jump to", курсор будет на той функе в теле которой ты находишься - на начало, а на конец, аля на начало следующей (иниче по человечески никак) или поиском строки Alt+T "endp" ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 18 декабря 2009 17:58 · Поправил: sendersu · Личное сообщение · #5 Vintersorg пишет: 2. Можно ли, находясь в теле функции, быстро перейти на ее начало и конец? Задолбался отматывать километры кода. еще есть вариант - схлопнуть функу (минусом), стать чуть выше (курсором), и открыть ее назад (плюсом) - станет на начало. Если не ставать чуть выше а потом назад - возвратитесь на то же место в функе. Как быстро найти окончание - вот ето да, загадка (блин, такие что наз-ся повседневные движения - аннет, надо изголяться...... Жаль |
|
Создано: 18 декабря 2009 18:10 · Личное сообщение · #6 |
|
Создано: 19 декабря 2009 21:05 · Личное сообщение · #7 Vintersorg "1. Можно ли, стоя на switch jump, прыгнуть на нужный case, как в ольке?" а) Стоя на switch jump node переключится из текста в Graph mode (нажать пробел). б) Нажать Ctrl+ стрелка вниз, появится диалог "Please select a node", напр.: sub_403A00:loc_403B16 push offset aASharingViolat; jumptable 00403A3D case 26 sub_403A00:loc_403A44 push offset aTheOperatingSy; jumptable 00403A3D case 0 sub_403A00:loc_403A57 push offset aTheSpecifiedPa; jumptable 00403A3D case 3 sub_403A00:loc_403A6A push offset aTheSpecifiedFi; jumptable 00403A3D case 2 sub_403A00:loc_403A7D push offset aThe_exeFileIsI; jumptable 00403A3D case 11 sub_403A00:loc_403A90 push offset aTheOperating_0; jumptable 00403A3D case 5 sub_403A00:loc_403AA3 push offset aTheFilenameAss; jumptable 00403A3D case 27 sub_403A00:loc_403AB6 push offset aTheDdeTransact; jumptable 00403A3D case 30 sub_403A00:loc_403AC6 push offset aTheDdeTransa_0; jumptable 00403A3D case 29 sub_403A00:loc_403AD6 push offset aTheDdeTransa_1; jumptable 00403A3D case 28 sub_403A00:loc_403AE6 push offset aTheSpecifiedDy; jumptable 00403A3D case 32 sub_403A00:loc_403AF6 push offset aThereIsNoAppli; jumptable 00403A3D case 31 sub_403A00:loc_403B06 push offset aThereWasNotEno; jumptable 00403A3D case 8 sub_403A00:loc_403B24 push esi ; default в) Enter или двойной клик по нужному кейсу. А в текстовом режиме х.з. походу невозможно нет навигации по источникам перекрестных ссылок (XREFs from). |
|
Создано: 19 декабря 2009 22:25 · Поправил: yuB1 · Личное сообщение · #8 |
|
Создано: 19 декабря 2009 22:32 · Личное сообщение · #9 |
|
Создано: 19 декабря 2009 22:50 · Личное сообщение · #10 |
|
Создано: 19 декабря 2009 23:33 · Поправил: cppasm · Личное сообщение · #11 Привет. Есть вопрос по ARM. Для работы со стеком там в частности используются команды: // push R0 STR R0, [SP,-#4]! работает как [SP-4]=R0, SP=SP-4; // pop R0 LDR R0,[SP],#4 работает как R0=[SP], SP=SP+4 Суть в том что при push в команде отрицательные смещения, а при pop - положительные. IDA задолбала уже - она положительные считает за аргументы, а отрицательные - за локальные переменные. Напрягает при анализе. Лично мне проще чтоб просто была константа. Приходится в каждой функции править stack frame. Как её заставить не создавать локальные переменные? Или удалить из всех функций в уже готовой базе? В настройках снял галку 'create stack variables', нажал reanalize - ничего не изменилось. |
|
Создано: 20 декабря 2009 18:11 · Личное сообщение · #12 |
|
Создано: 21 декабря 2009 14:35 · Личное сообщение · #13 Neuch____ пишет: Вот 5.5 вроде полная появилась. Это правда или туфта? http://exelab.ru/f/action=vthread&forum=3&topic=15481 |
|
Создано: 21 декабря 2009 15:12 · Личное сообщение · #14 |
|
Создано: 21 декабря 2009 15:42 · Личное сообщение · #15 cppasm "IDA задолбала уже - она положительные считает за аргументы, а отрицательные - за локальные переменные. Напрягает при анализе. Лично мне проще чтоб просто была константа. Приходится в каждой функции править stack frame. Как её заставить не создавать локальные переменные? Или удалить из всех функций в уже готовой базе?" Можно попробовать удалить их скриптом. Что-то типа этого: auto ea, id, lastoffs, offs, name; for(ea = NextFunction(0);ea != BADADDR;ea = NextFunction(ea)) { id = GetFrame(ea); lastoffs = GetLastMember(id); offs = GetFirstMember(id); for(;offs <= lastoffs;offs = offs + 4) { name = GetMemberName(id, offs); if(name == "") continue; if(name == " r" || name == " s") continue; DelStrucMember(id, offs); } } Но конечно надо смотреть что есть что на АРМе (выравнивание стека, что есть там " r" - return address и " s" - saved registers и т.д.) И сначала потренироваться "на кошках"! |
|
Создано: 21 декабря 2009 17:14 · Личное сообщение · #16 Neuch____ пишет: Посмотрел на торрентсру: там пишут, что defs.h файла нет. Это правда? Как тогда компилить? Ну возьми из 5.2 если так надо. По моему мнению компилировать то что выдают Лучики смысла нету - оно всё равно собираться не очень-то хочет. svladim - да, со скриптом были идеи, тут понятно. Всё почти получилось. Единственное - теперь в командах константы красным подсвечиваются. Типа LDR R0,[SP,#0x40] - "#0x40" выделено красным как ошибочный операнд. Помогает если на каждом нажать К - пометить как Stack variable. Сейчас разбираюсь как в скрипте автоматизировать. |
|
Создано: 21 декабря 2009 17:19 · Поправил: Neuch____ · Личное сообщение · #17 |
|
Создано: 21 декабря 2009 19:29 · Личное сообщение · #18 |
|
Создано: 21 декабря 2009 21:05 · Поправил: cppasm · Личное сообщение · #19 Neuch____ пишет: это я к тому, что может быть там и еще чего нету более существенного, чего из 5.2 не выдрать: обсуждение 5.5 ведь прикрыли Обсуждение прикрыли потому что там срач начался. Я ничего такого не замечал чтобы что-то существенное выкинули. А вот анализатор ARM кода намного улучшили, особенно на чистых бинарниах видно. Завтра проверю насчёт листингов. А чем они отличаются? Сильно? И что за листинг такой по Ctrl+C - Copy/Past чтоли? В общем для удаления локальных переменных сделал такое: Code:
Единственное что ещё немного не нравится - это offs=offs+4; Но по другому не получается - GetMemberSize() возвращает -1, хотя GetMemberName() работает нормально. |
|
Создано: 21 декабря 2009 22:27 · Личное сообщение · #20 |
|
Создано: 21 декабря 2009 23:47 · Личное сообщение · #21 не понимаю, зачем удалять локальные переменные? по крайней мере в 5.5 ида правильно расставляет локальные переменные и с плюсом, и с минусом: .text:0005BBFC CC 30 4B E2 SUB R3, R11, #-var_CC .text:0005BC00 AC 00 1B E5 LDR R0, [R11,#var_AC] (R11 - в данном случае локальный SP). Такие переменные можно переименовать, а вот с цифрами гораздо сложнее анализировать |
|
Создано: 22 декабря 2009 11:49 · Поправил: cppasm · Личное сообщение · #22 [wl] пишет: не понимаю, зачем удалять локальные переменные? Вот зачем (IDA 5.2): Code:
В константах это выглядит так: Code:
Т.е. это одна и та же переменная в стеке, но один раз обозначенная как arg_4, другой как var_4 IDA 5.5 выдала такое, собственно тоже не фонтан, хотя лучше. Code:
С точки зрения ARM вот это "[SP+4+var_4],#4" вообще не является правильной адресацией. Мне с константами проще. |
|
Создано: 23 декабря 2009 18:36 · Личное сообщение · #23 Отладка в IDA через Bosh рулит несомненно. KERNEL32.dll:7C803062 kernel32_GetVersion: ; CODE XREF: GetVersionj KERNEL32.dll:7C803062 ; GetVersion_0j KERNEL32.dll:7C803062 ; DATA XREF: ... KERNEL32.dll:7C803062 mov eax, offset kernel32_GetVersion KERNEL32.dll:7C803067 call bochsys_BxUndefinedApiCall KERNEL32.dll:7C80306C mov eax, 0 KERNEL32.dll:7C803071 retn Прога валится в куске кода, даже до антиотладки. Не говоря уже об отладке сплайсов, где после фейкового VirtualProtect вылетает исключение при попытке записи в код. |
|
Создано: 05 января 2010 15:44 · Личное сообщение · #24 Кто-нибудь знает - можно ли как-нибудь сконвертить базу от IDA 5.0 чтобы её открыла IDA 4.9? Есть ли вообще какой-нибудь конвертер между разными версиями баз IDA? И вообще: можно ли открыть базу, созданную той же версией IDA, но зарегистрированной на другое имя? Короче можно ли базу другим пользователям передавать. |
|
Создано: 05 января 2010 17:52 · Личное сообщение · #25 |
|
Создано: 05 января 2010 19:47 · Личное сообщение · #26 cppasm пишет: конвертить базу от IDA 5.0 чтобы её открыла IDA 4.9 врядли, разве что попросить Ильфака за денюшку cppasm пишет: можно ли открыть базу, созданную той же версией IDA, но зарегистрированной на другое имя стопудово, если поискать в инете даже валяются разные базы, которые нормально открываются |
|
Создано: 05 января 2010 20:33 · Личное сообщение · #27 |
|
Создано: 05 января 2010 23:04 · Поправил: cppasm · Личное сообщение · #28 |
|
Создано: 18 января 2010 13:09 · Поправил: -=Hellsing=- · Личное сообщение · #29 Кто-нибудь знает, как в IDA Pro закинуть исходник (SDK) программы, а потом его просматривать в IDA Pro как в OllyDbg. Компилирую программу на masm32 с опциями создания PDB файла. Загружаю саму программу далее экспортирую PDB file но где потом можно посмотреть сам исходник в IDA Pro как в OllyDbg не найду. п.с Выбираю тип процессора pdp11 - DEC PDP/11 (PDP line) но это не прокатывает прога даже потом не грузиться O_o. Подскажите, как закинуть исходник а потом его там просматривать как в OllyDbg. Add: Исправил, я имел виду PDB, а не PDP ошибся. |
|
Создано: 18 января 2010 14:59 · Личное сообщение · #30 -=Hellsing=- пишет: с опциями создания PDP файла Ну наверное PDB файла Google: "Формат PDB (Program Database) используется для хранения отладочной информации" И каким это боком касается "PDP-11 — серия 16-разрядных мини-ЭВМ компании DEC, серийно производимых и продаваемых в 1970—80-х годах." ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 18 января 2010 15:14 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 50 . 51 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |