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

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

 eXeL@B —› Основной форум —› Использование IDA Pro (part 2)
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 18 . 19 . >>
Посл.ответ Сообщение


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

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

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

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


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

Создано: 19 июня 2018 19:35 · Поправил: mazaxaker New!
Цитата · Личное сообщение · #2

-


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

Создано: 23 июня 2018 12:43 New!
Цитата · Личное сообщение · #3

Интересные статейки -

IDA Tricks - Dealing with inlined data 2018-06-04
Position-independent code frequently has data (e.g. strings) inlined into the code, accessed by using a call-pop pair over the data to load its address. As a side effect, it does not play well with IDA's graph view because it confuses the disassembly pass. With a bit of IDAPython we can solve that problem.

Automatic removal of junk instructions through state tracking 2018-05-18
Code obfuscated with junk instructions can be near-unreadable. I propose a proof-of-concept solution to automatically remove junk instructions for static code analysis using the Triton framework.

IDA Tricks - Handling dynamic imports 2018-05-16
Malicious code oftentimes uses structs to store dynamically resolved API addresses. Without additional work, it leaves the disassembly in IDA in a less-than-optimal state. This article shows how to solve that problem.

--> Link <--

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


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

Создано: 25 июня 2018 11:35 New!
Цитата · Личное сообщение · #4

Ребят, выложите пожалуйста бинарники свежего юникорнового плагина для иды 6.8 и 7.0, кому это дело удалось собрать. Задолбался уже танцевать с бубном.

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

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

если это про sk3wldbg(а про что ж ещё?) - то вот
http://rgho.st/private/8lNY95dDY/445c9966f32ef05afba4dde4a6234ccf
попробовал - вроде всё работает и в 6.8 и в 7.0, dll'ки самого юника брал на гите плагина.

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


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

Создано: 10 июля 2018 17:50 New!
Цитата · Личное сообщение · #6

Пожалуйста, скажите в этой теме было уже сообщение о запуске WinDbg 10.0 в IDA 7.0 ?

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

Создано: 11 июля 2018 16:03 New!
Цитата · Личное сообщение · #7

Всё ясно! Запустил уже этот отладчик!


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

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

ksol пишет:
Всё ясно! Запустил уже этот отладчик


ну так если были трудности и ты иx преодолел, то опиши для всех, как именно.
Мне, например, интересно.

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

Создано: 13 июля 2018 17:49 New!
Цитата · Личное сообщение · #9

IDA 7.0 согласуется только с версией x64 WinDbg 10 , поэтому в ida.cfg надо
в DBGTOOLS указать путь к этой версии. 32-битные программы обрабатываются.


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

Создано: 13 июля 2018 23:06 New!
Цитата · Личное сообщение · #10

Скачал крякми от Касперыча --> Link <--, распаковал, а там 12 мбайт дампа. Естественно Ида много чего не видит. Скажите, как ускорить процесс анализа? Вот хотя бы строки. A нажимать по 1000 раз не хочется. Также и функции больше красных, чем синих, или вообще нерасскрытых.

Добавлено спустя 2 минуты
Нужно скрипт писать или есть готовое решение?

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

Создано: 20 июля 2018 15:38 New!
Цитата · Личное сообщение · #11

yashechka, а у тебя будут уроки по исследованию arm прог в ида ? К примеру интересует как в ида определять каким динамическим либам принадлежат экспортируемые вызовы, потому что ида почему-то в случае арм прог не подписывает "Import from *.so" фразу подобную, как это делает для x86.
И еще в уроках хотелось бы увидеть, как в отладчике ида при входе в эти экспортируемые функции определять базовый адрес загруженной либы.
Вот к примеру дебажим прогу, которая вызывает разные длл, когда при отладке заходим внутрь либовской функции, то там все не проанализировано и сложно понять где что. Я в этом случае просто гружу эту либу в отдельно еще в ида, там получаю нормальный анализ и начинаю дебаг, смотря в оба окна иды. Вот можно ли как-то это сделать в одном окне, чтобы ида в процессе дебага проанализировала либу.

К примеру в ollydbg, вкладка memory показывает базовые адреса всех загруженных либ, вот хотя бы это в ида как интересно.


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

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

mazaxaker пишет:
yashechka, а у тебя будут уроки по исследованию arm прог в ида ?

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


насколько мне известно, yashechka уроки не пишет, он переводит tutorials by Ricado Narvaja.
Поэтому спрашивать у яши о том, что будет в уроках Нарвахи немного страно, тем более в этой теме, поскольку у яши есть своя, посвященная этим переводам.
Если же яша запилил свою серию туториалов по IDA PRO (о чем мне неизвестно), то тогда, конечно, вопрос закономерный.
Если же речь идет все же о туториалах Ricardo, то с твоими вопросами лучше обращаться прямо к Ricardo Narvaja.
А можно пойти на сайт RN и посмотреть в списке уже готовых уроков есть ли там то, что тебя интересует.


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

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

mazaxaker пишет:
в случае арм прог не подписывает "Import from *.so" фразу подобную, как это делает для x86.

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

Тебе наверное во вкладке modules надо выбрать нужный и нажать на нем analyze module
mazaxaker пишет:
К примеру в ollydbg, вкладка memory показывает базовые адреса всех загруженных либ, вот хотя бы это в ида как интересно.

Базовые адреса библиотек можно найти и во вкладке segments и во вкладке modules.

Добавлено спустя 9 минут
yashechka пишет:
Скажите, как ускорить процесс анализа? Вот хотя бы строки. A нажимать по 1000 раз не хочется. Также и функции больше красных, чем синих, или вообще нерасскрытых.

Насчет строк - ну не знаю даже, пирожком (010 Editor) их найди, скопируй список, прибавь к оффсетам дельту и закрути idc'шником в проект. Дёшево и сердито. Насчет кода: у меня этим либо idc-скрипт занимается, либо клавиатурный макрос Ctrl-U+C (правда для интела это не самое лучшее решение). Синим цветом в иде обозначаются функции, или то, что ида посчитала функцией. Вручную красноту сделать синевой можно клавишей P, правда это никакого особенного смысла обычно не несет. Ну может мало ли аргументы/локальные переменные проанализирует, если ты это не отключил заранее.


Code:
  1. static i386_explore(void) {
  2.          auto SegLo,SegHi,Current;
  3.          for (SegLo = FirstSeg();SegLo != BADADDR;SegLo = NextSeg(SegLo)) {
  4.                  SegHi = SegEnd(SegLo);
  5.                  for (Current = SegLo;Current < SegHi;Current++) {
  6.                         if (!isCode(GetFlags(Current)) && Byte(Current + 0) == 0x55 && Byte(Current + 1) == 0x8B && Byte(Current + 2) == 0xEC) {
  7.                               MakeCode(Current);
  8.                               Jump(Current);
  9.                         }
  10.                  }
  11.          }
  12. }
Самое тупое из возможных решений - брать опкоды, характерные для прологов функции. Но наизобретать можно всякого (классы например искать и брать с них адреса методов и прочее), было бы желание. Для процессоров попроще можно даже подобие эмуляции на idc соорудить, чтоб скрипт двигаясь по функции запоминал простенькие присвоения или выборки адресов и расставлял нужные перекрестные ссылки, если регистр используется как базовый при адресации, но для х86 уж больно тяжеловесно это выйдет.

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

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

f13nd пишет:
Тебе наверное во вкладке modules надо выбрать нужный и нажать на нем analyze module

В том то и дело, что вкладка modules пустая в случае арм, почему-то когда elf arm файл открываю в ида, то в модулях тока строка о elf и нет инфы о либах. Когда х86 гружу проги, то да действительно вкладка модулей содержит инфу по либам.
В случае с arm вкладка сегментов, там все либы тоже не размечены, там тока MEMORY вкладки появляются.
Дебажу arm elf с помощью gdb в ида удаленно на qemu, может из-за этого он так не размечает память либ ?


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

Создано: 21 июля 2018 14:16 · Поправил: f13nd New!
Цитата · Личное сообщение · #15

mazaxaker пишет:
gdb в ида удаленно на qemu, может из-за этого он так не размечает память либ ?

Возможно интерфейс урезанный. Либо у иды, либо у гдб. Возможно стоит другой инструмент подобрать.


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

Создано: 21 июля 2018 18:37 New!
Цитата · Личное сообщение · #16

Насколько sk3wldbg интересней и глючней Bochs в IDA?

Ранг: 0.0 (гость)
Статус: Участник

Создано: 21 июля 2018 19:00 New!
Цитата · Личное сообщение · #17

=TS= пишет: Насколько sk3wldbg интересней и глючней Bochs в IDA?

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

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


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

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

f13nd пишет:
Возможно интерфейс урезанный.

Использую 6.8 pro версию. Новая 7.0 как-то криво псевдокод работает, поэтому на 6.8 решил.
Скорей всего gdb интерфейс урезанный, я помню когда андроидную нативную либу дебажил через android_server, то разметка была, а на gdbserver ее не было также. На gdbserver перешел там, потому что android_server почему-то часто отваливался, при чем на двух разных мобилках он себя вел по разному, gdbserver железно работал.
f13nd пишет:
Возможно стоит другой инструмент подобрать.

Какой например ? Я не знаю нормальной оболочки для связки gdb-gdbserver кроме иды, чтобы было также удобно, типа графы и прочее штуки вроде hex-rays.


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

Создано: 21 июля 2018 23:51 New!
Цитата · Личное сообщение · #19

mazaxaker пишет:
акой например ? Я не знаю нормальной оболочки для связки gdb-gdbserver кроме иды

В том и дело, что ида только оболочка. С арм никогда не сталкивался, ничего толкового подсказать не могу. В гугле напрашивается gdbui, по картинкам вроде ничего.


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

Создано: 22 июля 2018 20:26 · Поправил: =TS= New!
Цитата · Личное сообщение · #20

shellstorm пишет:
на гхабе есть несколько проектов qemu с дополнительным функционалом рассчитанным на исследование малварки

Не посоветуете конкретные проекты? Интересно было бы пощупать.

Ранг: 0.0 (гость)
Статус: Участник

Создано: 22 июля 2018 20:39 New!
Цитата · Личное сообщение · #21

=TS= пишет: Не посоветуете конкретные проекты? Интересно было бы пощупать.

модов много, здесь нужно подбирать под задачу, из популярных в RE, кира.
https://github.com/geohot/qira
но мне не зашло, разработчики не такие как все и в качестве скриптинга выбрали js, но сам тул довольно мощный.

https://github.com/panda-re/panda
https://github.com/Cisco-Talos/pyrebox
https://github.com/virtio-win/kvm-guest-drivers-windows
https://github.com/nccgroup/TriforceAFL
https://github.com/sycurelab/DECAF
https://github.com/GlacierW/MBA
итд. их очень много и зависят от задачи, где-то taint engine, где-то fuzzing в приоритете, у некоторых транслятор под специфический cpu.

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


Ранг: 409.8 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 4 августа 2018 10:15 New!
Цитата · Личное сообщение · #22

Есть ли плаг для IDA Pro 7, который подсвечивает непосредственно крипто-константы в коде? MD5_Init, как яркий пример.
Добрые люди, скиньте, пожалуйста, бинарник IDA_Signsrch для 7.

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

Создано: 4 августа 2018 10:32 · Поправил: RevCred New!
Цитата · Личное сообщение · #23

ELF_7719116 пишет:
бинарник IDA_Signsrch для 7

https://github.com/dude719/IDA_Signsrch-7.0/releases

ELF_7719116 пишет:
подсвечивает крипто-константы

ну... есть findCrypt2 для 7.0 - https://exelab.ru/f/index.php?action=vthread&forum=3&topic=24885&page=1#30
или findCrypt на yara-python - https://github.com/polymorf/findcrypt-yara

UPD: только что попробовал findcrypt-yara, намного медленней чем findCrypt2, но и больше констант нашёл.

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


Ранг: 409.8 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 25 августа 2018 12:08 New!
Цитата · Личное сообщение · #24

Code:
  1. mov     eax, fs:[30h]
  2. mov     eax, [eax+0Ch]
  3. mov     eax, [eax+1Ch]

допустим, я не знаю, какой элемент структуры вытаскивается из PEB - как в иде можно сразу получить его наименование??

Ранг: 4.0 (гость)
Статус: Участник

Создано: 31 августа 2018 13:59 New!
Цитата · Личное сообщение · #25

Здравствуйте,подскажите что делать.Пытаюсь запустить в отладке программу ida 6.5(linux),программа завершается и получаю в ответ
B7758CF9: got SIGCHLD signal (Child status has changed) (exc.code 11, tid 1570)
Куда копать?


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

Создано: 31 августа 2018 22:21 New!
Цитата · Личное сообщение · #26

ELF_7719116 пишет:
плаг для IDA Pro 7, который подсвечивает непосредственно крипто-константы в коде?


Скрипт cc2ida.idc. Импортирует найденные сигнатуры. cc.rar


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

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

Hex-Rays Microcode API vs. Obfuscating Compiler --> Link <--
Writing a Hex-Rays Plugin: VMX Intrinsics --> Link <--

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



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

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

hex-rays.com/contests/2018

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


Ранг: 49.4 (посетитель)
Статус: Участник

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

https://habr.com/company/pt/blog/424085/

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



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

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

кто-нибудь может с VirusTotal качнуть LookupMgrHost.dll?
Этот файл использует Rolf Rolles в своей статье "Hex-Rays Microcode API vs. Obfuscating Compiler" (ссылка выше, кому интересно).

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

Создано: 26 сентября 2018 01:44 New!
Цитата · Личное сообщение · #31
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 18 . 19 . >>
 eXeL@B —› Основной форум —› Использование IDA Pro (part 2)

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