Сейчас на форуме: -Sanchez- (+9 невидимых) |
eXeL@B —› Основной форум —› Использование IDA Pro (part 2) |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 21 . 22 . >> |
Посл.ответ | Сообщение |
|
Создано: 27 марта 2017 11:54 · Личное сообщение · #1 Обмен опытом использования и настройки интерактивного дизассемблера и отладчика IDA Pro. Прошлый топик | Сообщение посчитали полезным: oxfemale, gent0o0 |
|
Создано: 05 ноября 2018 21:03 · Личное сообщение · #2 |
|
Создано: 05 ноября 2018 21:10 · Поправил: reversecode · Личное сообщение · #3 пока рано судить, у меня только аес распознала пару фунок была бы там база с миллионом функций тогда можно было бы оценить на что оно способно хотя в целом удобно, только не приятно имена фунок кому то отправлять, я за локальный люма сервер, но таких пока не раздают а так для пентестеров наверняка будет не заменимо загрузил какой то файл, спросил у люмы какие функции она уже знает люма применила 99% фунок в именах и работа сделана |
|
Создано: 05 ноября 2018 21:39 · Личное сообщение · #4 |
|
Создано: 05 ноября 2018 21:49 · Поправил: reversecode · Личное сообщение · #5 в окне иды где функции слева можно отметить функции одну или выборочно и отправить эти данные на сервер за это ида пишет в консоль благодарочки а судя по инфо ильфак таких пользователей контрибюторов в дальнейшем будет как то поощрять тоже самое и для получения, можно спросить сервер и он скажет какие имена функций он видит на сервере на основе файла и потом выбрать что понравиться и применить мета инфо(имя функи и еще что то там) можно настроить что все автоматически применялось после окончания распознавания файла судя по инфо, на сервере хранятся только хеши+имена(+ некая мета инфо мелочная) но все равно не приятно для тех кто работает постоянно чем то кастомным да еще и приватным а не опен ссл кадый день распознает |
|
Создано: 05 ноября 2018 22:35 · Личное сообщение · #6 |
|
Создано: 05 ноября 2018 22:41 · Поправил: reversecode · Личное сообщение · #7 |
|
Создано: 18 ноября 2018 11:17 · Личное сообщение · #8 |
|
Создано: 18 ноября 2018 13:14 · Личное сообщение · #9 |
|
Создано: 18 ноября 2018 13:21 · Поправил: reversecode · Личное сообщение · #10 смотря что именно 1) все инструкции перерабатываются в микрокод 2) а потом по микрокоду матчатся шаблоны в свертку микрокода 3) микрокод в СИ листинг если матчить сразу по асму, сложно трекать регистры и можно напортачить по асму матчится когда есть большая статистика шаблонов поэтому 1) уделяется больше внимания, 2) меньше и по мере каких то настроений улучшается |
|
Создано: 19 ноября 2018 01:58 · Личное сообщение · #11 Jupiter пишет: Когда смотришь эти примеры, то офигеваешь от такого кол-ва вранья, ибо: >Better recognition of inlined standard functions Почему тогда сложно распознать банальный memset или strcpy в начале функции? Причем в функции, в которой по асм коду видно, что тут явно оно - блок последовательных инструкций, которые даже не перемешаны другим кодом (что иногда может быть следствием оптимизаций компиляторов). Ну почему? Ну т.е. через раз оно работает, согласен. Но в принципе и раньше "как-то" работало. Явное указание типа переменной-приемника работает 50/50. >Added support for RRX addressing mode in ARM Добавьте лучше поддержку обработки ситуации, когда в ARM коде функция возвращает - регистр флагов! Попытка прописать это явно обламывается (например, через __usercall или смена типа возвращаемого значения с void на что-то еще), генерируемый псевдокод получается невалидным полностью. >Added support for virtual calls Пожалуйста, хоть один пример когда это работает? Вот прямо дайте мне файл, и чтобы я это увидел. Ну хоть раз. Проверял: 16 бит код, 32 и 64 бит код - винда, линь, мак, армы - андроид, айос. Ни разу не видел этой заявленной фишки. ЧЯДНТ? Я продолжаю выделять vtable мышкой, как и делал это раньше и правым кликом "Create struct from data". А потом еще базовую структуру класса создавать. Для clang кода с символами (в мире UNIX реверсинга без strip) это все делается скриптами автоматически, в винде - довольно сложно не перепутать vtable с чем-то еще. Почему я это пишу сюда? Чтобы люди без лицензии не строили иллюзии по красивым маркетинговым "vs" и прочим штукам. Недавно я запостил баг Ильфаку на почту, он попытался исправить, потом сказал, что исправлять не будет, но может быть когда-нибудь в будущем... В целом IDA развивается, и очень неплохо, переход 7.0 -> 7.1 был каким-то вялым, 7.1 -> 7.2 выглядит более оптимистично. Но IDA остается тем, чем всегда и являлась - интерактивным инструментом, больше половины работы все равно делать руками и глазами. Jupiter пишет: Лучи иногда настолько хитро интерпретируют код, что иной раз проще в дизасме посмотреть и разобраться. Как человек который реверсит часто и много, могу сказать следующее. Лучи даже выдавая неправильный код все равно приятнее, чем асм. Реально быстрее понимаешь что происходит. Не под все есть лучи, и знаешь, на тех архитектурах где их нет, это реальная боль нажимать F5 и видеть сообщение, что мечтать не вредно. Поэтому это крайне здорово, что у тебя есть этот "иной раз", хуже когда его нет. Ну т.е. изучать код можно хоть в HEX-редакторе, если память достаточная чтобы КОПы запомнить. Поэтому плохому танцору мешают вовсе не яйца, а неудобные трусы в добавок к уровню мотивации. |
|
Создано: 19 ноября 2018 02:05 · Поправил: plutos · Личное сообщение · #12 у меня вопрос к корефеям IDA, reverscode, Jupiter, и другим, кто глубоко в теме. Я пишу небольшую статейку или туториал, пока сам еще не определился, и хочу убедиться, что правильно понимаю, и соответственно, правильно излагаю: "Поскольку процесс декомпилляции (трансформации машиного кода в исходный код языков программирования высокого уровня) можно рассматривать как процесс обратный компилляции (трансформации исходного кода языков программирования высокого уровня в машиный код), то стадии процесса с определенными упрощениями можно рассматривать как зеркальное отражение друг друга, но с противоположным содержанием. Так, например, термин microcodes, используемый создателеями IDA, соответствует термину "intermediate representation", используемому в теории компилляции." Хотелось бы услышать конструктивые замечания и критику. Спасибо! ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 19 ноября 2018 10:44 · Поправил: reversecode · Личное сообщение · #13 Katana теперь есть микрокод апи, и матчинг мемсет итд можно реализовать самому каждый ида пользователь хочет свою хотелку и считает что она важнее туду у ильфака переполнено, он часто об этом отписывает и ему как цео виднее что приоритетнее(економически выгодно окупается и пользователи останутся на ида) как минимум по частоте хотелок пользователей если писько тестеры надавили в 7.2 на новый арм в айфонах, то они свое получили идеальное время для проталкивание новых хотелок это как раз после релиза + еще какое то время plutos эти красивые слова для людей искусства театра и балета ? я думал для кодеров можно по проще |
|
Создано: 19 ноября 2018 11:13 · Личное сообщение · #14 |
|
Создано: 19 ноября 2018 11:21 · Личное сообщение · #15 если бы в хексрее все время тратили на мемсеты то ида бы вообще не было если количество легальных пользователей хотят новый арм а не мемсет, то результат очевиден количество ревереров уменьшается с каждым годом и их единицы бизнес писько тестеров растет, зачем им мемсет или точнее почему им не нужен мемсет ? спросите у них Добавлено спустя 1 минуту писько тестеры = пентестеры Добавлено спустя 1 час 9 минут ида сейчас все больше начала превращаться в лего конструктор при которой любую хотелку можно сделать и самому через апи будь то питон или С поэтому сложно понять что должно быть из коробки |
|
Создано: 19 ноября 2018 13:27 · Личное сообщение · #16 |
|
Создано: 19 ноября 2018 13:37 · Поправил: reversecode · Личное сообщение · #17 они как то по своим критериям проверяют вот была голосовалка какой декомпилер делать мипс или ппц с перевесом в несколько голосов как я помню победил мипс сделали ппц, чему я рад конечно думается мне потому что ппц ильфак по молодости ковырял а может по положению звезд но вряд ли потому что я так хотел они когда то хотели жиру для клиентов поднять, что то тестили даже думаю и клиентам было бы классно, видишь свои репорты итд но не срослось |
|
Создано: 19 ноября 2018 15:46 · Поправил: Katana · Личное сообщение · #18 reversecode пишет: если бы в хексрее все время тратили на мемсеты то ида бы вообще не было Мне не обидно, что их нет. Это мелочь по сравнению с более интересными челенджами, но к чему это в changelog пихать?) reversecode пишет: если количество легальных пользователей хотят новый арм а не мемсет Вот очень хочу найти этих людей. Найти и наказать))) Самое угарное, что наш коллега из Европы предвосхищает почти все что добавляется в IDA за долго до факта добавления: Он "предсказал" объединенный MOV в ARM (я вообще противник чего-то, что придумано от себя и без документации, объединенный MOV невозможен, если две половинки регистра "разрезаны" другой инструкцией), потом PAC. Вы видите сколько кода это заняло у него?) А Ильфак это преподнес как целую фичу. Все уже давно используют скрипты, я не верю что это кто-то реквестил. Поэтому r_e пишет: предложи Ильфаку ТУДУ в паблик вынести это вряд ли, соглашусь с reversecode, что критерии у них свои там reversecode пишет: сделали ппц, чему я рад конечно я готов платить за оба, но видимо PPC используют несколько человек (помню фразу с форума лучей - типа "мы не получили тот ажиотаж, который бы заставил нас сделать упор на эти архитектуры, а по сложности и PPC и MIPS делать одинаковое время, поскольку дельта небольшая, мы решили взяться за PPC первым"), и Ильфак не воодушевлен делать еще один продукт для "избранных" P.S. Видимо, чтобы мы наконец уже увидели MIPS, надо начать финансирование малварщегов, чтобы тысячи одептов av-помоек начали реквестить декомпиль под MIPS. Вон, IoT сейчас пока на хайпе еще, даешь малварь под MIPS роутеры! reversecode пишет: ченжлог порсится с лога репы всего лишь Я про тот, что с картинками) |
|
Создано: 19 ноября 2018 16:24 · Личное сообщение · #19 |
|
Создано: 01 декабря 2018 02:37 · Личное сообщение · #20 An IDA Python script to extract information from string constants The current version of the plugin is able to: •Display functions to source files relationships (in a tree and in a plain list, a chooser in IDA language). •Display guessed function names for functions. •Rename functions according to the source code file their belong + address (for example, memory_mgmt_0x401050). •Rename functions according to the guessed function name ----- Give me a HANDLE and I will move the Earth. | Сообщение посчитали полезным: =TS=, mak |
|
Создано: 02 декабря 2018 01:43 · Личное сообщение · #21 В какой тред вопросы писать то? Про Иду7 или сюда и какая разница? Вопрос по скриптам. У меня на входе функи Ида68 видит: Code:
функа по'chunk'аная. В конце есть два chunkа с двумя ret. Например Code:
и Code:
мне хочется последний, главный ret. idc.GetFunctionAttr(ea, idc.FUNCATTR_END) даёт мне jmp с самого начала, а idc.GetFchunkAttr(еа, idc.FUNCATTR_END) даёт концы chunk'ов, что помоему не значит шо chunk кончается на ret idc.NextFuncFchunk даёт следующий chunk, но по моему гарантий нет что последний == Последний а мне нужен то ret к которому стрелочки идут, если они есть как его найти? |
|
Создано: 02 декабря 2018 10:27 · Личное сообщение · #22 hash87szf пишет: а мне нужен то ret к которому стрелочки идут, если они есть Когда ходют стрелочки, значит там коде хрефы: Code:
Слева апи староиды, справа новоида. Можно сделать например простенький скрипт, который перечислит все хрефы выбранной функции в лог, тогда ни одна стрелочка не скроется. ----- 2 оттенка серого | Сообщение посчитали полезным: hash87szf |
|
Создано: 02 декабря 2018 16:52 · Личное сообщение · #23 |
|
Создано: 02 декабря 2018 18:08 · Личное сообщение · #24 |
|
Создано: 09 декабря 2018 03:44 · Личное сообщение · #25 наверное все знакомы с функцией idaapi.get_arg_addrs(). Если ее вызвать с адресом какой-нибудь фукции в коде (к примеру, idaapi.get_arg_address(0xFFFFFFFF82491199)) то она вернет адреса всех аргументов в том порядке, в каком они были даны при вызове. Очень удобно, но нет ли такой функции, которая возвращала бы сразу ЗНАЧЕНИЯ этих аргументов? Искал, но толи прохо искал, толи не там, где нужно. Конечно, зная адреса, можно посмотреть и их значения, но это дополнительные усилия. ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 14 декабря 2018 01:30 · Поправил: plutos · Личное сообщение · #26 вот, совсем свежее, сам еще не успел попробовать, но звучит интересно: It currently provides three different interfaces to serve your emulation needs, along with a slew of related helper and utility functions. 1.emulateRange – This API is used to emulate a range of instructions, or a function, within a user-specified context. 2.iterate - This API is used to force emulation down specific branches within a function in order to reach a given target. 3.emulateBytes – This API provides a way to simply emulate a blob of extraneous shellcode. The provided bytes are not added to the IDB and are simply emulated as is. flare-emu was written using the new IDA Pro 7x API, it is not backwards compatible with previous versions of IDA Pro. ----- Give me a HANDLE and I will move the Earth. | Сообщение посчитали полезным: mak |
|
Создано: 23 декабря 2018 10:19 · Поправил: UniSoft · Личное сообщение · #27 Товарищи, есть вопрос по IDA... Есть девайс на ARM (Cortex) контроллере, и свой формат прошивки. Написал свой загрузчик, и все бы хорошо, но оказалось, что многие секции накладываются друг на друга. Ну т.е. что-то типа страничной адресации. В общем в файле прошивки описаны секции, (CODE(смещение в файле, базовый адрес, размер); DATA(смещение в файле, базовый адрес, размер); BSS(базовый адрес, размер)). И вот некоторые секции так называемые overlapped, занимают одно и тоже адресное пространство, и подгружаются динамически в нужные моменты (видимо из-за нехватки памяти, реализовали страничную адресацию). Так вот возможно ли в IDA создать виртуальную секцию, но т.е. чтобы физически секция располагалась по одному адресу, а виртуально считала что лежит там где нужно? (Ведь есть же контроллеры типа AVR где и RAM и ROM лежат с адреса 0). |
|
Создано: 23 декабря 2018 10:50 · Поправил: f13nd · Личное сообщение · #28 UniSoft пишет: И вот некоторые секции так называемые overlapped Необязательно у ARM Cortex, с этим можно столкнуться и когда в оперативку прошивка в разных режимах загружает разные обработчики по пересекающимся областям. Решения скорей всего нету, создавай разные проекты для этого, синхронизируй изменения в них через экспорт в *.idc ЗЫ: ну либо совсем наркоманский вариант расположить их таки по разным адресам, но переработать все xref'ы скриптом так, чтобы все вело туда, куда нужно. Пользы от такой меры не много. ----- 2 оттенка серого |
|
Создано: 23 декабря 2018 18:08 · Личное сообщение · #29 |
|
Создано: 24 декабря 2018 23:20 · Личное сообщение · #30 |
|
Создано: 24 декабря 2018 23:39 · Личное сообщение · #31 |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 21 . 22 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro (part 2) |