Сейчас на форуме: -Sanchez- (+9 невидимых)

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


Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

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

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

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

Ранг: 82.5 (постоянный), 1thx
Активность: 0.130.04
Статус: Участник

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

-




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 июня 2018 12:43
· Личное сообщение · #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 <--

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube


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

Ранг: 15.5 (новичок), 6thx
Активность: 0.01=0.01
Статус: Участник

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

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



Ранг: 19.9 (новичок), 16thx
Активность: 0.040.01
Статус: Участник

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

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

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

Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

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

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



Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

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

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




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

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

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


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

-----
Give me a HANDLE and I will move the Earth.




Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

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

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




Ранг: 59.5 (постоянный), 326thx
Активность: 0.170.76
Статус: Участник

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

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

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



Ранг: 82.5 (постоянный), 1thx
Активность: 0.130.04
Статус: Участник

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

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

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




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

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

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

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


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

-----
Give me a HANDLE and I will move the Earth.





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 21 июля 2018 12:26 · Поправил: f13nd
· Личное сообщение · #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 уж больно тяжеловесно это выйдет.

-----
2 оттенка серого




Ранг: 82.5 (постоянный), 1thx
Активность: 0.130.04
Статус: Участник

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

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

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




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

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

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

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

-----
2 оттенка серого





Ранг: 251.8 (наставник), 17thx
Активность: 0.120
Статус: Участник
Seeker

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

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

-----
DREAMS CALL US




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

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

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

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

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

Ранг: 82.5 (постоянный), 1thx
Активность: 0.130.04
Статус: Участник

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

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

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

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




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

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

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

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

-----
2 оттенка серого





Ранг: 251.8 (наставник), 17thx
Активность: 0.120
Статус: Участник
Seeker

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

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

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

-----
DREAMS CALL US




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 22 июля 2018 20:39
· Личное сообщение · #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=

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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



Ранг: 19.9 (новичок), 16thx
Активность: 0.040.01
Статус: Участник

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

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

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

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

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

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

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

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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



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

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

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




Ранг: 170.1 (ветеран), 96thx
Активность: 0.090.01
Статус: Участник

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

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


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




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

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

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

-----
Give me a HANDLE and I will move the Earth.


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


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

hex-rays.com/contests/2018

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

Ранг: 51.5 (постоянный), 16thx
Активность: 0.040.01
Статус: Участник

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

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

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


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

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

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

-----
Give me a HANDLE and I will move the Earth.




Ранг: 81.6 (постоянный), 102thx
Активность: 0.060.02
Статус: Участник

Создано: 26 сентября 2018 01:44
· Личное сообщение · #31
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 21 . 22 . >>
 eXeL@B —› Основной форум —› Использование IDA Pro (part 2)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати