Русский / Russian English / Английский

Сейчас на форуме: Beauty2017, mintolik, rmn (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Основной форум —› Использование IDA Pro (part 2)
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 . >>
Посл.ответ Сообщение


Ранг: 2011.1 (!!!!)
Статус: Модератор
retired

Создано: 27 марта 2017 11:54 New!
Цитата · Личное сообщение · #1

Обмен опытом использования и настройки интерактивного дизассемблера и отладчика IDA Pro.
Прошлый топик Использование IDA Pro

| Сообщение посчитали полезным: oxfemale, gent0o0



Ранг: 603.8 (!)
Статус: Модератор
Research & Development

Создано: 5 ноября 2018 21:03 New!
Цитата · Личное сообщение · #2

reversecode пишет:
видели и действовали с люминатами


И какие впечатления?


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 5 ноября 2018 21:10 · Поправил: reversecode New!
Цитата · Личное сообщение · #3

пока рано судить, у меня только аес распознала пару фунок
была бы там база с миллионом функций тогда можно было бы оценить на что оно способно
хотя в целом удобно, только не приятно имена фунок кому то отправлять, я за локальный люма сервер, но таких пока не раздают

а так для пентестеров наверняка будет не заменимо
загрузил какой то файл, спросил у люмы какие функции она уже знает
люма применила 99% фунок в именах
и работа сделана


Ранг: 603.8 (!)
Статус: Модератор
Research & Development

Создано: 5 ноября 2018 21:39 New!
Цитата · Личное сообщение · #4

А твои распознанные функи к ним на сервер попадают?


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 5 ноября 2018 21:49 · Поправил: reversecode New!
Цитата · Личное сообщение · #5

в окне иды где функции слева
можно отметить функции одну или выборочно
и отправить эти данные на сервер
за это ида пишет в консоль благодарочки а судя по инфо ильфак таких пользователей контрибюторов в дальнейшем будет как то поощрять

тоже самое и для получения, можно спросить сервер и он скажет какие имена функций он видит на сервере на основе файла
и потом выбрать что понравиться и применить мета инфо(имя функи и еще что то там)

можно настроить что все автоматически применялось после окончания распознавания файла

судя по инфо, на сервере хранятся только хеши+имена(+ некая мета инфо мелочная)
но все равно не приятно для тех кто работает постоянно чем то кастомным да еще и приватным
а не опен ссл кадый день распознает


Ранг: 603.8 (!)
Статус: Модератор
Research & Development

Создано: 5 ноября 2018 22:35 New!
Цитата · Личное сообщение · #6

Но ты же можешь отправлять какие-угодно функи, он же не проверяет "качество" отправленных тобой данных. Таким образом заработать некие поощрения, не раскрывая ценной инфы.


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 5 ноября 2018 22:41 · Поправил: reversecode New!
Цитата · Личное сообщение · #7

могу
что это за поощрения пока не понятно
но выровнять это что бы отсеять спамеров думаю можно легко
по отношению отправленных и замаченных функций другими


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 18 ноября 2018 11:17 New!
Цитата · Личное сообщение · #8

Hex-Rays v7.2 Decompiler Comparison Page --> Link <--


Ранг: 603.8 (!)
Статус: Модератор
Research & Development

Создано: 18 ноября 2018 13:14 New!
Цитата · Личное сообщение · #9

reversecode пишет:
Hex-Rays v7.2 Decompiler Comparison Page

Когда смотришь эти примеры, то офигеваешь, смотря на левую часть (как было): неужели было настолько усложнено?
Лучи иногда настолько хитро интерпретируют код, что иной раз проще в дизасме посмотреть и разобраться.


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 18 ноября 2018 13:21 · Поправил: reversecode New!
Цитата · Личное сообщение · #10

смотря что именно
1) все инструкции перерабатываются в микрокод
2) а потом по микрокоду матчатся шаблоны в свертку микрокода
3) микрокод в СИ листинг
если матчить сразу по асму, сложно трекать регистры и можно напортачить
по асму матчится когда есть большая статистика шаблонов

поэтому 1) уделяется больше внимания, 2) меньше и по мере каких то настроений улучшается

Ранг: 14.5 (новичок)
Статус: Участник
iOS expert

Создано: 19 ноября 2018 01:58 New!
Цитата · Личное сообщение · #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-редакторе, если память достаточная чтобы КОПы запомнить. Поэтому плохому танцору мешают вовсе не яйца, а неудобные трусы в добавок к уровню мотивации.


Ранг: 582.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 19 ноября 2018 02:05 · Поправил: plutos New!
Цитата · Личное сообщение · #12

у меня вопрос к корефеям IDA, reverscode, Jupiter, и другим, кто глубоко в теме.
Я пишу небольшую статейку или туториал, пока сам еще не определился, и хочу убедиться, что правильно понимаю, и соответственно, правильно излагаю:

"Поскольку процесс декомпилляции (трансформации машиного кода в исходный код языков программирования высокого уровня) можно рассматривать как процесс обратный компилляции (трансформации исходного кода языков программирования высокого уровня в машиный код), то стадии процесса с определенными упрощениями можно рассматривать как зеркальное отражение друг друга, но с противоположным содержанием. Так, например, термин microcodes, используемый создателеями IDA, соответствует термину "intermediate representation", используемому в теории компилляции."


Хотелось бы услышать конструктивые замечания и критику. Спасибо!


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 19 ноября 2018 10:44 · Поправил: reversecode New!
Цитата · Личное сообщение · #13

Katana
теперь есть микрокод апи, и матчинг мемсет итд можно реализовать самому
каждый ида пользователь хочет свою хотелку и считает что она важнее
туду у ильфака переполнено, он часто об этом отписывает
и ему как цео виднее что приоритетнее(економически выгодно окупается и пользователи останутся на ида)
как минимум по частоте хотелок пользователей
если писько тестеры надавили в 7.2 на новый арм в айфонах, то они свое получили

идеальное время для проталкивание новых хотелок это как раз после релиза + еще какое то время

plutos
эти красивые слова для людей искусства театра и балета ?
я думал для кодеров можно по проще

Ранг: 310.0 (мудрец)
Статус: Модератор
CrackLab

Создано: 19 ноября 2018 11:13 New!
Цитата · Личное сообщение · #14

ну если у вас даже мемсет относится к хотелкам которые надо самому пилить, то тогда и цена у деконпиля должна быть как мопеда а не автомобиля


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 19 ноября 2018 11:21 New!
Цитата · Личное сообщение · #15

если бы в хексрее все время тратили на мемсеты то ида бы вообще не было
если количество легальных пользователей хотят новый арм а не мемсет, то результат очевиден
количество ревереров уменьшается с каждым годом и их единицы
бизнес писько тестеров растет, зачем им мемсет или точнее почему им не нужен мемсет ?
спросите у них

Добавлено спустя 1 минуту
писько тестеры = пентестеры

Добавлено спустя 1 час 9 минут
ида сейчас все больше начала превращаться в лего конструктор
при которой любую хотелку можно сделать и самому через апи
будь то питон или С
поэтому сложно понять что должно быть из коробки

Ранг: 586.6 (!)
Статус: Модератор

Создано: 19 ноября 2018 13:27 New!
Цитата · Личное сообщение · #16

reversecode
Дык предложи Ильфаку ТУДУ в паблик вынести с голосовалкой на приоритет реализации.


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 19 ноября 2018 13:37 · Поправил: reversecode New!
Цитата · Личное сообщение · #17

они как то по своим критериям проверяют
вот была голосовалка какой декомпилер делать
мипс или ппц
с перевесом в несколько голосов как я помню победил мипс
сделали ппц, чему я рад конечно
думается мне потому что ппц ильфак по молодости ковырял
а может по положению звезд
но вряд ли потому что я так хотел

они когда то хотели жиру для клиентов поднять, что то тестили даже
думаю и клиентам было бы классно, видишь свои репорты итд
но не срослось

Ранг: 14.5 (новичок)
Статус: Участник
iOS expert

Создано: 19 ноября 2018 15:46 · Поправил: Katana New!
Цитата · Личное сообщение · #18

reversecode пишет:
если бы в хексрее все время тратили на мемсеты то ида бы вообще не было

Мне не обидно, что их нет. Это мелочь по сравнению с более интересными челенджами, но к чему это в changelog пихать?)

reversecode пишет:
если количество легальных пользователей хотят новый арм а не мемсет

Вот очень хочу найти этих людей. Найти и наказать))) Самое угарное, что наш коллега из Европы предвосхищает почти все что добавляется в IDA за долго до факта добавления:

--> Link <--

Он "предсказал" объединенный MOV в ARM (я вообще противник чего-то, что придумано от себя и без документации, объединенный MOV невозможен, если две половинки регистра "разрезаны" другой инструкцией), потом PAC. Вы видите сколько кода это заняло у него?) А Ильфак это преподнес как целую фичу. Все уже давно используют скрипты, я не верю что это кто-то реквестил. Поэтому

r_e пишет:
предложи Ильфаку ТУДУ в паблик вынести

это вряд ли, соглашусь с reversecode, что критерии у них свои там

reversecode пишет:
сделали ппц, чему я рад конечно

я готов платить за оба, но видимо PPC используют несколько человек (помню фразу с форума лучей - типа "мы не получили тот ажиотаж, который бы заставил нас сделать упор на эти архитектуры, а по сложности и PPC и MIPS делать одинаковое время, поскольку дельта небольшая, мы решили взяться за PPC первым"), и Ильфак не воодушевлен делать еще один продукт для "избранных"

P.S. Видимо, чтобы мы наконец уже увидели MIPS, надо начать финансирование малварщегов, чтобы тысячи одептов av-помоек начали реквестить декомпиль под MIPS. Вон, IoT сейчас пока на хайпе еще, даешь малварь под MIPS роутеры!

reversecode пишет:
ченжлог порсится с лога репы всего лишь

Я про тот, что с картинками)


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 19 ноября 2018 16:24 New!
Цитата · Личное сообщение · #19

ченжлог порсится с лога репы всего лишь


Ранг: 582.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 1 декабря 2018 02:37 New!
Цитата · Личное сообщение · #20

An IDA Python script to extract information from string constants

--> IDAMagicStrings<--

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

| Сообщение посчитали полезным: =TS=, mak


Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 2 декабря 2018 01:43 New!
Цитата · Личное сообщение · #21

В какой тред вопросы писать то? Про Иду7 или сюда и какая разница?

Вопрос по скриптам.
У меня на входе функи Ида68 видит:
Code:
  1. call a
  2. jmp b
  3. start endp ; sp-analysis failed

функа по'chunk'аная.
В конце есть два chunkа с двумя ret.

Например
Code:
  1. call x
  2. nop
  3. ret

и
Code:
  1. call y
  2. ret

мне хочется последний, главный ret.

idc.GetFunctionAttr(ea, idc.FUNCATTR_END)
даёт мне jmp с самого начала, а
idc.GetFchunkAttr(еа, idc.FUNCATTR_END)
даёт концы chunk'ов, что помоему не значит шо chunk кончается на ret
idc.NextFuncFchunk
даёт следующий chunk, но по моему гарантий нет что последний == Последний

а мне нужен то ret к которому стрелочки идут, если они есть

как его найти?


Ранг: 256.4 (наставник)
Статус: Участник

Создано: 2 декабря 2018 10:27 New!
Цитата · Личное сообщение · #22

hash87szf пишет:
а мне нужен то ret к которому стрелочки идут, если они есть

Когда ходют стрелочки, значит там коде хрефы:
Code:
  1. #define RfirstB(To)                      get_first_cref_to(To)
  2. #define Rnext(From, current)             get_next_cref_from(From, current)

Слева апи староиды, справа новоида. Можно сделать например простенький скрипт, который перечислит все хрефы выбранной функции в лог, тогда ни одна стрелочка не скроется.

| Сообщение посчитали полезным: hash87szf


Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 2 декабря 2018 16:52 New!
Цитата · Личное сообщение · #23

оказалось шо тот рет шо со стрелками, не обязательно главный
и я по всем чанкам, хэдам прошёлся, isCode and isRet, и первый попавшийся ret в бряки
теперь лень на хрефы смотреть...
всё равно не угадаешь какой правильный, со стрелками или нет...


Ранг: 1030.2 (!!!!)
Статус: Участник

Создано: 2 декабря 2018 18:08 New!
Цитата · Личное сообщение · #24


Ранг: 582.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 9 декабря 2018 03:44 New!
Цитата · Личное сообщение · #25

наверное все знакомы с функцией idaapi.get_arg_addrs().
Если ее вызвать с адресом какой-нибудь фукции в коде (к примеру, idaapi.get_arg_address(0xFFFFFFFF82491199))
то она вернет адреса всех аргументов в том порядке, в каком они были даны при вызове.
Очень удобно, но нет ли такой функции, которая возвращала бы сразу ЗНАЧЕНИЯ этих аргументов? Искал, но толи прохо искал, толи не там, где нужно.
Конечно, зная адреса, можно посмотреть и их значения, но это дополнительные усилия.


Ранг: 582.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 14 декабря 2018 01:30 · Поправил: plutos New!
Цитата · Личное сообщение · #26

вот, совсем свежее, сам еще не успел попробовать, но звучит интересно:

--> flare-emu <--marries IDA Pro’s binary analysis capabilities with Unicorn’s emulation framework to provide the user with an easy to use and flexible interface for scripting emulation tasks. It is designed to handle all the housekeeping of setting up a flexible and robust emulator for its supported architectures so that you can focus on solving your code analysis problems. Currently, flare-emu supports the x86, x86_64, ARM, and ARM64 architectures.

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.

| Сообщение посчитали полезным: mak



Ранг: 52.0 (постоянный)
Статус: Участник

Создано: 23 декабря 2018 10:19 · Поправил: UniSoft New!
Цитата · Личное сообщение · #27

Товарищи, есть вопрос по IDA...
Есть девайс на ARM (Cortex) контроллере, и свой формат прошивки.
Написал свой загрузчик, и все бы хорошо, но оказалось, что многие секции накладываются друг на друга.
Ну т.е. что-то типа страничной адресации.
В общем в файле прошивки описаны секции,
(CODE(смещение в файле, базовый адрес, размер); DATA(смещение в файле, базовый адрес, размер); BSS(базовый адрес, размер)).
И вот некоторые секции так называемые overlapped, занимают одно и тоже адресное пространство, и подгружаются динамически в нужные моменты (видимо из-за нехватки памяти, реализовали страничную адресацию).
Так вот возможно ли в IDA создать виртуальную секцию, но т.е. чтобы физически секция располагалась по одному адресу, а виртуально считала что лежит там где нужно?
(Ведь есть же контроллеры типа AVR где и RAM и ROM лежат с адреса 0).


Ранг: 256.4 (наставник)
Статус: Участник

Создано: 23 декабря 2018 10:50 · Поправил: f13nd New!
Цитата · Личное сообщение · #28

UniSoft пишет:
И вот некоторые секции так называемые overlapped

Необязательно у ARM Cortex, с этим можно столкнуться и когда в оперативку прошивка в разных режимах загружает разные обработчики по пересекающимся областям. Решения скорей всего нету, создавай разные проекты для этого, синхронизируй изменения в них через экспорт в *.idc

ЗЫ: ну либо совсем наркоманский вариант расположить их таки по разным адресам, но переработать все xref'ы скриптом так, чтобы все вело туда, куда нужно. Пользы от такой меры не много.

Ранг: -12.6 (нарушитель)
Статус: Участник

Создано: 23 декабря 2018 18:08 New!
Цитата · Личное сообщение · #29

Никто не поделится PIN tool версии 6.8 (можно уже скомпилированый) и IDA SDK 6.8

Ранг: -12.6 (нарушитель)
Статус: Участник

Создано: 24 декабря 2018 23:20 New!
Цитата · Личное сообщение · #30

Source code PIN tool ver. 6.8 - нашел, а вот с SDK проблема. Может IDA SDK 6.8 у кого-нибудь найдётся?

Ранг: 511.2 (!)
Статус: Модератор

Создано: 24 декабря 2018 23:39 New!
Цитата · Личное сообщение · #31

dma
https://www.sendspace.com/file/kt758p

| Сообщение посчитали полезным: dma

<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 . >>
 eXeL@B —› Основной форум —› Использование IDA Pro (part 2)

Видеокурс ВЗЛОМ