Сейчас на форуме: -Sanchez- (+6 невидимых) |
eXeL@B —› Основной форум —› Использование IDA Pro |
<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 50 . 51 . >> |
Посл.ответ | Сообщение |
|
Создано: 08 августа 2008 18:53 · Личное сообщение · #1 Здесь предлагаю обмениваться опытом использования, настройки этой тулзы. Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? ) ----- My love is very cool girl. |
|
Создано: 21 июля 2014 18:17 · Личное сообщение · #2 смысл есть - автоматический анализ переданных аргументов в ф-ию. И в зависимости от типа и/или значений этих самых аргументов деобфуцировать так или иначе. Это хорошо, когда ф-ий 2 - 200 - 1000, а когда их больше 9000, да еще от билда к билду меняется логика ... Посмотрел funcap Ну ... тут Debug api используется. Так можно договориться до того, что нафига тогда вобще нужен дизассемблер, когда есть отладчик. |
|
Создано: 21 июля 2014 18:26 · Личное сообщение · #3 деобфускатор есть только один под ида, он на питоне http://code.google.com/p/optimice/ пилите-фиксите, говорят автор чето там даже хочет обновить, но за два года воз и ныне там, автор занят все остальные деобфускаторы должны работать под отладчиком (я считаю) соответственно для этого в новую иду был добавлен PIN который умеет и трейсить и которым гугл говорит можно деобфускировать - анпакать |
|
Создано: 21 июля 2014 20:19 · Личное сообщение · #4 |
|
Создано: 21 июля 2014 20:21 · Личное сообщение · #5 |
|
Создано: 21 июля 2014 21:34 · Личное сообщение · #6 Сам спрашиваю - сам отвечаю цитата из sdk // Emulate instruction, create cross-references, plan to analyze // subsequent instructions, modify flags etc. Upon entrance to this function // all information about the instruction is in 'cmd' structure. // If zero is returned, the kernel will delete the instruction. int (idaapi* u_emu) (void); Вот похоже "она" и расставляет каменты к аргументам на стеке. Может у кого завалялись сырцы pc / pc64 процессорного модуля? |
|
Создано: 21 июля 2014 22:47 · Личное сообщение · #7 |
|
Создано: 31 июля 2014 00:16 · Поправил: carver · Личное сообщение · #8 подскажите, есть ли какой плагин/скрипт, автоматически делающий в IDA ссылки ? помнится раньше для llvm+ios - был похожий плагин, но там было попроще и потом IDA сама научилась. а тут посложнее и ида - пока не умеет. сам файл с интернет-рутера: Linux mifi 3.0.21+ #1 PREEMPT Thu Dec 12 13:02:50 PST 2013 armv7l GNU/Linux Code:
хотелось бы в последнем "LDR R2, [R0,R3]" - что-бы автоматически расчиталось смещение |
|
Создано: 31 июля 2014 00:35 · Личное сообщение · #9 |
|
Создано: 31 июля 2014 02:49 · Личное сообщение · #10 |
|
Создано: 31 июля 2014 12:38 · Поправил: DenCoder · Личное сообщение · #11 carver Пробовали перед автоанализом убирать галочку explicit RIP-addressing? Оно (эта опция) на последней странице мастера настроек перед анализом Не важно, что там в заголовке MAC OS, главное - принцип. Я любил раньше эту галочку всегда ставить. Можно изменить файл конфига иды, чтобы она всегда там стояла. Но вот при реверсе именно ARM v6 - v7 эта галочка оказалась лишней. И без неё появляется больше ссылок ----- IZ.RU | Сообщение посчитали полезным: carver |
|
Создано: 01 августа 2014 00:25 · Поправил: carver · Личное сообщение · #12 в арме такой опции нет, но спасибо. запомню для интелов. у меня, скореее в *.so линукса, оказалось что все упрошается до Code:
тут я и сам наверное какой-то простой скрипт напишу, шоб по нахжтию кнопки, поправить ссылки, и руками в нескоких процедурах нажму кнопку. |
|
Создано: 01 августа 2014 11:50 · Поправил: BoRoV · Личное сообщение · #13 HexRaysCodeXplorer v1.2 - Bug fixes - Added support for IDA v6.6 and Hex-Rays Decompiler (x86) v2.0 Версию 2.0 выпустят в октябре и презентуют на конференции H2HC ----- Лучше быть одиноким, но свободным © $me |
|
Создано: 01 августа 2014 13:22 · Личное сообщение · #14 |
|
Создано: 01 августа 2014 16:38 · Поправил: awlost · Личное сообщение · #15 хм хм нашел "баг", точнее не нашел вот что: в lines.hpp есть: Code:
а в lib эти функции отсутствуют. в 6.1 и в 6.5 сдк Может называются как-то иначе. Кто-нибудь в курсе? add: Сам спрошу и сам отвечу: ф-ии не экспортируемые (нету спецификатора ida_export) add2: может понадобится кому .text:10073A60 - int gen_lname_line(ea_t ea, bool make_null) в ida.wll от .6.1.110315 |
|
Создано: 02 августа 2014 14:58 · Личное сообщение · #16 |
|
Создано: 07 августа 2014 03:09 · Личное сообщение · #17 как с помощью idaapi во время дебага получить unicode строку, указатель на которую находится в регистре? Пробую что-то вроде этого getString(GetRegValue("EAX"), -1, ASCSTR_UNICODE) TypeError: getString() takes exactly 2 arguments (3 given) # в манах 3! getString(GetRegValue("EAX"), -1) TypeError: in method 'get_max_ascii_length', argument 2 of type 'int32' |
|
Создано: 07 августа 2014 04:57 · Личное сообщение · #18 |
|
Создано: 07 августа 2014 12:41 · Личное сообщение · #19 |
|
Создано: 09 августа 2014 12:49 · Поправил: awlost · Личное сообщение · #20 awlost пишет: Уважаемые гуру скиптов и плагинов, подскажите вот что.Когда у функции есть (указан) тип, т.е. задан в виде Code: BOOL __cdecl Function(void *arg0, void *arg1, int arg2) то автоанализ, встречая вызов такой функции, помечает ее аргументы на стеке в виде коментариев: Code: .text:13028F7C jnz short loc_13028F97.text:13028F7E push 0 ; arg2 .text:13028F80 push 0; arg1.text:13028F82 push esi; arg0 .text:13028F83 call Function.text:13028F88 test eax, eax Возвращаясь к вопросу. За расстановку комментариев отвечает ф-ия set_cmt А непосредственно анализ "ГДЕ" - apply_callee_type(...) PS. Ничего магического в apply_callee_type нет. Анализ изменения стека и/или анализ аргументов в регистрах |
|
Создано: 14 августа 2014 16:19 · Личное сообщение · #21 Ковыряю экзешник древней досовской игрушки, написанной на Turbo C. Модель памяти - Compact, т.е. множество сегментов кода, но один сегмент данных. Ида, выстраивая стек в функциях, принимающих указатели на данные, ближние указатели трактует как дальние, получается фигня. Выбор соответствующей модели памяти в Options -> Compiler ни на что не влияет. В Ида 6.1 выкручивался, жмакая Y, указывая в прототипе функции указатели как near и правя стек руками. В 6.5 правка прототипа вообще не приводит ни к каким изменениям в стеке функции. Может я что-то не так делаю? |
|
Создано: 14 августа 2014 17:13 · Поправил: awlost · Личное сообщение · #22 Глюкалово какое-то с этой 6.5 1 экспортируем inc: Writing include file D:\ida.inc Assembler include file has been created, total 0 lines. 2 в "заголовок" листинга не добавляется include ida.inc (возможно как раз из-за 0 lines) 3 экспортируем asm все структуры, что должны быть в inc, все прям с начала файла, еще "до шапки" Решается конечно скриптом (или плагином) но как-то все равно осадочек есть |
|
Создано: 16 августа 2014 21:12 · Поправил: microxa · Личное сообщение · #23 ребят, и всетоке больной вопрос чем всетоки сгребать ASMъ c иды обратно таки в бинарь? а то ток две тулзы после некоторых правок собирают tasm32, и ML ехе (в опции совместимости с masm5.1), ток они оба глючат если файлики больше метра. воткомовским wasm- еще мог собирать но чет всё глючно. в принципе как попривык, с иды на тасм, обджик потом вконпилировать в дельфу. и уж потом если все хорошо отработает по частям на дельфеассемблер оформлять. К примеру диелелка от секретного драйверка реалтек ASIO, что для рилтаймового ввода вывода звука. кому если интересно |
|
Создано: 19 августа 2014 14:52 · Поправил: maximrouf · Личное сообщение · #24 Вопрос снят. *удалил библиотеку, нашел точку по ошибке доступа* Вопрос новичка. Я присоединяюсь к процессу с помощью IDA 6.5 (т.е. к запущенному приложению) и работаю с ним. В некоторый момент времени загружается dll которой не было на момент присоединения. Мне надо установить точку остановки в самом начале загрузки этой библиотеки. Какие у меня сложности – Условий для вызова этой библиотеки сотни. Я не могу повесить остановку на каждое такое условие. Что у меня есть – имя этой библиотеки и возможность ее редактирования в отдельном окне Иды. Есть ли у Иды инструмент или настройка, которая может сделать остановку или паузу во время загрузки dll? Спасибо. |
|
Создано: 19 августа 2014 16:46 · Личное сообщение · #25 |
|
Создано: 20 августа 2014 12:34 · Поправил: microxa · Личное сообщение · #26 Еще раз перечитал труды комрада Erfaren, но не могу сказать что такой путь "пиления гирь, ножовочным полотном" мне подходит... добавлю пять копеек относительно быстрой сборки библ для MS-линкера (для не тяжелых случаев сборки MASM-ом): главная фишка состоит в использовании Intel C++ Compiler, с опциями Code:
сишный фейк на kernel32.c (и прочих/прочих по мере надобности), у меня примерно такого содержания Code:
ну и более/менее автоматически создаеться либа импорта, с достаточным минимумом телодвижений.. Хоть ML и уделывает TASM32, в корректной пересборке 2.5 метрового tasm32.asm, но что-то "obj" несмотря на опци "-omf" дельфикомпилером не принимаеться ( эх.. а этоже тааакой бубльгум... п.сЫЫЫ! JWASM32 (JWasm v2.12pre, Nov 27 2013, Masm-compatible assembler), после незначительных правок по соурсу (в основном переправкой "repe" на "rep" ), и с опцией "-Zm" (совместимость с масмом) пересобрал тасм32.asm, причем 230кб обьектник был легко прожеван DCC32-ым ... Будем тестить на более сложных тематиках.. з.зы Сборки средней тяжести (те что с приплюснутым рунтаймом), вроде как полет нормальный, единственное что MS-link не хочет конвертать инвалидный OMF формат, но благо у него выхлоп в COFF имееться... JWASM, в релизе v2.11a, доступен с сорцах, на ура пересобираеться CL/ICL (причем быстрее чем он сам компилирует). Хотя больше интересовала сборка BCB6-ого (опятьже таки из за его бубльгумистости с дельфой), но чето увы какието лаги (идет из parser.c) на собирании: Code:
Такбы вот пофиксить траблу с "repe", и был бы достаточно "IDA/DCC совместимый" инстрюмент.. ... добалено: в принципе сорцы довольно логично устроены, за исключением некоторых моментов, но благо хоть на сишке, поддержка x64/SSE4, за одно это можно всё простить и поиграть в пазл/расследование - "собери это на борланде в миксе с визуалом си"... (цель - конечно захватить парсер/анализатор, и хендлить на несколько более простом и туповатом дельфе, на котором можно и подумать) а так в "instruct.h" конец строки 287, пилится до AP_REP) //xx) и... пилите шура пилите, да компелируйте... Code:
|
|
Создано: 22 августа 2014 17:57 · Поправил: microxa · Личное сообщение · #27 хм.. по крайней мере до 2.0х версий, а именно форк 1.96, борделяндом /компилировался/и компилировал, но движок там еще старый и больной -_- (как раз с ужосом вспомнил про косяки от (с)ваткома)... А допиленый энтузиастом квэйка2 в досе, движок 2.12 таки осилил сборку 7метров DCC32 от 7рки..Ну в качестве теста... и мда.. , в источнике зла, конкретно 6.1 -ой иде пришлось вырубить тилы и сиги, чтоб был этакий RAW - ASM. и мда.. всетаки ждать чтото там овер 10секунд сборки (хоть и первый проход довольно быстрый), както муторно,. за это время пропадает смысл в творимой алхимии. Но в принципе хоть чтото чем.. хрен его знает чего. Такто вот разборок хватает и с миниатюрами, где во истену познаецо суть того, что нет такой программы (или участка участка кода на асме), которую нельзя былобы сократить, оптимизировать, или занопить. p.s в ходе увлекательного, эротического приключения в поисках баги: а именно - обьектник "parser.c" с VC7 конвертился ida6.1 -> далее некоторые поправки (в основном это .code/.data и bla-bla по мелочи)->сборка тасм32-ым, далее скормление уже "omf" обьектника BCB6 ,была установлена аццкая глючность версии 6.1 котороая прохлопала торчащие из COFF-а имена и обьявы, (а именно - "check_size"), соответствено был нагорожен глюканат в по асму. Ну и.. отстрелом с подменой кучки функций с asm образца и обратно... выявился достаточно тривиальный корень зла в inttype.h, "long" у буилдера мутный это решилось: Code:
получено достаточно ясное представление и о парсере, и о bcb6 который чутли не в полтора/два раза сливает по скорости cl/icl с мега-оптимайзами, и о том что.. вот нафига оно было надо.. ммм... разбор полетов: В целом-то, результат оценивался как сомнительный - ведь parser.c имеет обьем кода аж 137кил, (~260кил в асме), даже то что всё срослось с буилдером, на стадии линковки, можно было считать разве что "финтом ушами" - первый блин вышел комом, однако после установки размера вырванивания данных на 8 байт (дефолтная у VC), всё пришло в полнофункциональную норму... А причина "глюка в 6.1" больше была связана, как с "улучшеной" оптимизацией (arch:SSE) vc71 компилятора, так и с тем как он создает coff-обьектники (которые к примеру, ламповый VC98 считает инвалидными), так что абсолютно некритичный глюк, скорей недооценка других вариантов сборок, с которыми всё вполне приемлимо. (куда неприемлемей менять олдскульный vcl-шный, ынтерфейс, (в силу привычки, предвзятости, и кой каких наработок еще под 5.2-ую) ) |
|
Создано: 25 августа 2014 06:37 · Поправил: microxa · Личное сообщение · #28 ндэ.. а плагинчик CodeXplorer v1.1 (по крайней мере, совпадающий с импортом на ida.wll (v6.3)) чтото не хочет запускацо, странно.. по крайней мере, каких то особых requires нету. да версия IDP_INTERFACE_VERSION = 4С (76) (трабла периодически решаецо, так как.. ну как так? )... максимум что можно было сделать - внести магическую поправочку под hexrays_sdk6.1 (вместо обьявленого 0xBE39BABE, по всей видимости рейза1.8/c 6.4 релиза да) const int HEXRAYS_API_MAGIC1 = 0xC001C0DE; const int HEXRAYS_API_MAGIC2 = 0xBE36BABE; // xxNNxxxx ну и таки оно завелось, по крайней мере в Output window Hex-rays version 1.5.0.110408 has been detected, HexRaysCodeXplorer ready to use HexRaysCodeXplorer plugin by @REhints loaded. правда, на вызов контекста правой кнопкой мыши - IDA has encountered a problem, и вылет с плиз репорт, да... /me промолчит про попытку сборки bcb6/vc7/и какбы линупсовым, mingw32, собиравшим помницо куда более крутые тематики (он обарал хидеры) ./sdk63/kernwin.hpp:2885: error: ISO C++ forbids casting between pointer-to-func tion and pointer-to-object Однако!!!: после того как cpp файлы и заголовочники были переформатированы с юниксного конца строки на виндовый... cl -c -I".\sdk63" -D__NT__ -D__IDP__ -DWIN32 -DNDEBUG /EHsc CodeXplorer.cpp по крайней мере с этим - компиль даже не пискнул... Остальное связано с нововведенными типами данных в sdk6.4 нормально... и bcb6 тоже комплит (хоть и через шквал варнингов) #if defined(DONT_DEPRECATE) || defined(__BORLANDC__) #undef NORETURN <- если впихнуть это #define NORETURN ...мож пригодицо ехехе: собралось то оно конечно собралось (просто надо было откопать версию 1.1), и даже есть добавка в всплывающее контектст-меню, хоткеев и прочих действ, но путем некоторых исправлений, весьма вызывающей манеры написания плюсов "под VS2010-ый шизуал"... Результат - вылет, да и ладно. В качестве примера пойдет, однако невменяемый уровень кодинга, не позволяет рассматривать даную свистоперделку в качестве подспорья в надежных инструментальных средствах для профессионального реверсинжиниринга. |
|
Создано: 30 августа 2014 17:31 · Личное сообщение · #29 |
|
Создано: 30 августа 2014 17:48 · Личное сообщение · #30 |
|
Создано: 30 августа 2014 19:23 · Поправил: DumaZik · Личное сообщение · #31 Как думаю ошибка заключается в том, что само приложение 32 бита, а почему то ее библиотека 16 бит и вовремя дебага выходит нестыковка. может ida плохо работает с Thumb или Thumb-2 использую ida 6.5, android 4.4.2 samsung galaxy s4. кидаю в /data/local/tmp/ два файла android_server и gdbserver. adb push gdbserver /data/local/tmp adb push android_server /data/local/tmp пробрасываю на них порты adb forward tcp:5039 tcp:5039 adb forward tcp:23946 tcp:23946 выставляю нужные права adb shell su chmod 755 /data/local/tmp/gdbserver chmod 755 /data/local/tmp/android_server запускаю нужное приложение на телефоне, затем запускаю андроид сервер adb shell su /data/local/tmp/andoid_server Через Debugger > Attach to > Remote ARM/Android Debugger ищу приложение. Потом ищу нужное мне смещение библиотеки, запоминаю. (к примеру 739FC000) Отключаюсь от процесса (Debugger > Detach from process). Процесс на устройстве остается жив. Далее скопировав с apk этого приложения нужную мне библиотеку открываю в ida. Тут выбираю, то что на скрине (уже начал метод перебора разных архитектур, но пока бестолку), затем указываю ранее найденное смещение выбираю, жду как ida проанализирует. После дебагинг через gdbserver и связываю через порт 5039 (ранее открытый), затем attach to process и все кирдык ошибка. 7faf_30.08.2014_EXELAB.rU.tgz - 111.jpg |
<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 50 . 51 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |