Сейчас на форуме: -Sanchez- (+8 невидимых) |
![]() |
eXeL@B —› Основной форум —› Использование IDA Pro |
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 50 . 51 . >> |
Посл.ответ | Сообщение |
|
Создано: 08 августа 2008 18:53 · Личное сообщение · #1 Здесь предлагаю обмениваться опытом использования, настройки этой тулзы. Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? ) ----- My love is very cool girl. ![]() |
|
Создано: 21 февраля 2012 11:36 · Личное сообщение · #2 |
|
Создано: 25 февраля 2012 02:26 · Поправил: carver · Личное сообщение · #3 не могу "открыть" в IDA прошивку для модема. IDA 6.1 не хотит переводить байты в опкоды для Thumb (популярный режим процессоров ARM). тоесть "все работает", но опкоды на перехода(те что начинаются на Fххх) не распознаются. например на такие байты Code:
тупо пишет Command "MakeCode" failed, хотя по гуглу - это должен быть переход. понятное дело, последующий кусок опкодов за нераспознаным - тоже уходит в данные - и вместо кода выходит реальный мусор. возможно кто подскажет, как-бы заставить IDA понимать опкоды или шо делать, опкоды же с первой ссылки гугла по "arm opcode manual", а ида не понимает. ![]() |
|
Создано: 25 февраля 2012 02:40 · Личное сообщение · #4 |
|
Создано: 25 февраля 2012 03:07 · Поправил: carver · Личное сообщение · #5 2 r_e наверно я некоректно задал вопрос, поправил пост. до этого я открывал нескоко ARM прошивок в IDA - все нормально, нада токо CODE32/CODE16 - раставять когда микс. эта прошивка как и все - распознается(прошивка вообше в ELF - там все указанно же вроде), но на опкодах начинающихся на F - (переходы, компилятор наверно особенный) - ida их шото не понимает. я даже проверил что другие дисасемблеры(simarm) понимают, но мне бы в IDA какой-то подход найти. ...странно, IDA 6.1 предлагает токо arm и armb а IDA 5.2 - предлагает arm, armb, arm710a, xscale и xscaleb, но роли это не меняет,шото никак не понимает Fххх опкоды переходов. ...хотя токошо вижу что такой опкод понимает LOAD:001FB7BE FF F7 7F FF BL sub_1FB6C0 а ниже LOAD:001FB7D6 1C FF F7 33 DCD 0x33F7FF1C уже опять не понимает. косяки. ![]() |
|
Создано: 25 февраля 2012 12:06 · Личное сообщение · #6 |
|
Создано: 25 февраля 2012 13:23 · Поправил: Veliant · Личное сообщение · #7 |
|
Создано: 25 февраля 2012 13:23 · Поправил: carver · Личное сообщение · #8 да, там просто пишем 4 байта " FF F7 7F FF " в новый файл, открываем как ARM (CODE16), ида показывает ROM:00000000 FF F7 7F FF BL 0xFFFFFF02 жмем I, меняем байты на "1C FF F7 33" и уже "Command "MakeCode" failed" хотя simarm эти 4 байта "1C FF F7 33" - в thumb распознает так: ST:00000000 FF1C bl_l 0xE3A ST:00000002 33F7 add r3,#0xF7 прошивку тоже могу куда залить если актуально, токо чуть позже, там просто 7 метров в архиве, с телефона на даче - это пол часа если не оборвет, до города доехать легче. Veliant пишет: У ARM все адреса выровнены на 4, в thumb на 2. Откуда у вас такие получились? думаю все верно, в "переходах" часто 4 байта на "опкод". может это IDA сама преобразует. (может какая опция типа Simplify instructions). канешно ARM/THUMB - я переключать умею. тут именно "1C FF F7 33" в ида d thumb шото не понимает, счас еще попробую, нашел в настройках анализа - что там не только ARM/ARMN - а и ARMv5, ARMv6 и много других есть. ![]() |
|
Создано: 25 февраля 2012 13:35 · Поправил: Veliant · Личное сообщение · #9 |
|
Создано: 25 февраля 2012 14:15 · Поправил: carver · Личное сообщение · #10 да тут именно какой-то странный косяк в моем непонимании, настройках или arm.w32 от ида. код распознается нормально, значит порядок байт LE/TE и ARM/THUMB - должны быть верными. но в IDA это выглядит примерно так, тоесть некоторые байты не распознаются: Code:
пробовал выбирать разные процессоры, но шото ничего не меняется. ...не знаю, может там в модеме какой-то левый китайский ARM процесор, попрошу разобрать посмотреть. но ведь в мануале написанно шо это обычные опкоды. ![]() |
|
Создано: 25 февраля 2012 15:05 · Личное сообщение · #11 |
|
Создано: 25 февраля 2012 16:43 · Поправил: carver · Личное сообщение · #12 ну да, шото простые байты а ида - косячит и в опкоды не переводит(шо текущая, но пятая). вот и спрашивал, может кто решал. может все-таки это мой косяк в "ARM architecture options" ? хотя вроде все менял уже. или кому станет интересно и кто пропатчит arm.w32. если глючат опкоды на F - то это наверяка где-то уловие косячит. сам я канешно даже алгоритм для питона не напишу, и на arm.w32 - зубы сломаю ![]() а может есть еще какой-то путь шоб все было "нормально" ? ![]() |
|
Создано: 26 февраля 2012 02:03 · Личное сообщение · #13 Имхо или дамп кривой, или какие-то особые опкоды в проце. Вот что objdump кажет: Code:
![]() |
|
Создано: 26 февраля 2012 03:04 · Личное сообщение · #14 |
|
Создано: 26 февраля 2012 03:55 · Поправил: carver · Личное сообщение · #15 не, байты вроде стандартные, я же пишу, в первых ссылках гугла, в самом низу например http://imrannazar.com/ARM-Opcode-Map FFxx - вполне нормальный опкод, да и в других PDF ках еще лучше описанно. http://bear.ces.cwru.edu/eecs_382/ARM7-TDMI-manual-pt3.pdf F это - (1 1 1 1 H Offset Long branch with link ) хотя дело ведь не в мануалах, а шоб показывало нормально. подскажите тогда еще, можно где нарыть процессорный модуль для ARM ? ну шоб для чайников глянуть-поправить тут упоминатся шо сами собирают http://itsme.home.xs4all.nl/projects/ida/downloads/idp-Makefile (хотя обидно канешно за державу) скачал 4.6 - но внутри исходников ARM - модуля - нету. p.s. за objdump - спасибо. юникс - это мега, позырю для другого. жаль шо objdump мой старенький 3b21d проц с холодильника не понимает. ![]() |
|
Создано: 26 февраля 2012 13:52 · Личное сообщение · #16 |
|
Создано: 27 февраля 2012 00:48 · Личное сообщение · #17 |
|
Создано: 27 февраля 2012 00:50 · Личное сообщение · #18 может это вообще банальная обфускация для ARM? и в ту вилку после cmp оно никогда и не попадает ![]() |
|
Создано: 27 февраля 2012 16:47 · Поправил: Hexxx · Личное сообщение · #19 carver пишет: хотя дело ведь не в мануалах, а шоб показывало нормально. Скрипт пишите для замены внешнего вида таких байтов. Manual Instruction это называется. carver пишет: тут упоминатся шо сами собирают когда-то ильфак давал пример того как пишутся процессорные модули на примере ARM'a. 5-6 "уроков". Там был зачаточный вариант процессорного модуля для ARM. Сорцы утеряны во времени. ----- Реверсивная инженерия - написание кода идентичного натуральному ![]() |
|
Создано: 01 марта 2012 15:25 · Личное сообщение · #20 carver Code:
Пересмотрите значения которые возвращает функция sub_1FB684, вернее какие изменения происходят в регистре R1, по факту код битый. reversecode за несколько лет реверсинга прошивок не встречал обфускации в арме, реализация защиты на таком уровне бессмысленна на этих процах, все попытки сделать что-то подобное снимаются эмулятором или джитагом - не то пальто как в х86 как не печально, максимум "хитрый" ксор. carver Код может быть банально упакован архиватором или сдамплен криво или ЕЦЦ мешается или просто битый если стянут из кучи, как вариант если дампить по юсб может оставаться часть контрольной суммы пакета. Вариантов много, полный бинарник или эльф больше скажет. ![]() |
|
Создано: 03 марта 2012 20:35 · Личное сообщение · #21 да, извините с вопросом про arm-опкоды и ida. это модем у товарища, он просил глянуть прошивку,и прислал elf. счас прислал все, оказалось в каждом блоке байт из spare - попалал в средину данных, и остатальные данные сдвигались в spare. выяснилось это уже когда прислали полный дамп. блин, стоко времени потратил своего и чужого. еще раз извините. ....я видео JTAG кннектор на какой-то платке пентиума, и на атомах шото про jtag пишут, для арма - читал шо и трейсить можно в реалтайме, ну или понизив частоту, а вот для x86 кажется нету. ![]() |
|
Создано: 27 марта 2012 13:51 · Личное сообщение · #22 Господа, вопрос такого характера: кто-то строил уже IDA плагин под x64? взял самый простой пример под VC (vcsample), сконвертил (авто) в проект VC2010, сменил пути (С++ includes, Linder path), добавил __X64__ дефайн , линкер ругается что не видит функций самой Ida Pro (например unhook_from_notification_point) Делал в 6.1 + СДК Вроде децкая проблема. но пока как в стену башкой....... ![]() ![]() |
|
Создано: 27 марта 2012 14:11 · Личное сообщение · #23 |
|
Создано: 27 марта 2012 17:13 · Поправил: sendersu · Личное сообщение · #24 |
|
Создано: 28 марта 2012 06:00 · Личное сообщение · #25 |
|
Создано: 28 марта 2012 11:03 · Поправил: sendersu · Личное сообщение · #26 reverser без __X64__ preprocessor symbol = вообще не строится (какойто ассерт падает на фазе компиляции) либу конечно что нужну прописал! на глаз в ней все ети функи есть, тут или декорирование или еще что-то..... __EA64__ пробовал. без него тоже, особо разницу не увидел Еще идеи? upd надо будет dumpbin -ом заглянуть вовнутрь 64ой либы, может что-то проясниться ![]() |
|
Создано: 28 марта 2012 13:57 · Личное сообщение · #27 |
|
Создано: 31 марта 2012 15:10 · Личное сообщение · #28 |
|
Создано: 01 апреля 2012 23:29 · Личное сообщение · #29 |
|
Создано: 02 апреля 2012 14:28 · Поправил: vden · Личное сообщение · #30 |
|
Создано: 05 апреля 2012 01:32 · Личное сообщение · #31 |
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 50 . 51 . >> |
![]() |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |