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

 eXeL@B —› Основной форум —› Использование IDA Pro
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 50 . 51 . >>
Посл.ответ Сообщение

Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 08 августа 2008 18:53
· Личное сообщение · #1

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

Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? )

-----
My love is very cool girl.




Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 25 января 2016 05:20
· Личное сообщение · #2

awlost пишет:
при подтягивании .pdb шаблоные классы распознаются

А "чужой" .pdb (не от этого .exe/.dll) можно подгрузить?
Load PDB debug information file
Можно как-то подшаманить, чтобы IMAGEHLP.DLL думала, что он "свой"?



Ранг: 33.8 (посетитель), 11thx
Активность: 0.020.01
Статус: Участник

Создано: 25 января 2016 08:27 · Поправил: awlost
· Личное сообщение · #3

Apokrif пишет:
А "чужой" .pdb (не от этого .exe/.dll) можно подгрузить?


Необходима возможность "вручную" задавать шаблонные типы.
А вот так как из pdb типы подгружаются, отображаются и более того - хексрейсом распознаются корректно,
возникает подозрение, что ограничение стоит где-то сверху в иерархии вызовов - ближе к пользователю
например в SetType ( set_tinfo2 )

И тут только одно на ум приходит - писать свой плагин (SHIFT-Y) являющийся альтернативой Y
Который оперирует на низком уровне с tinfo_t



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 26 января 2016 04:50
· Личное сообщение · #4

awlost пишет:
Необходима возможность "вручную" задавать шаблонные типы.

Это понятно. Я про "скомпилить все нужные типы в .pdb и загрузить его?
Одна проблема - как загрузить"чужой" .pdb...




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

Создано: 26 января 2016 11:05
· Личное сообщение · #5

чужой pdb грузится через пункты в меню иды




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 27 января 2016 15:14 · Поправил: [wl]
· Личное сообщение · #6

не знаю, писали ли или нет:
Retargetable Decompiler

Handles all the commonly used file formats (ELF, PE, COFF).
Currently supports the Intel x86, ARM, MIPS, PIC32, and PowerPC architectures.
Can decompile to two output high-level languages: C and a Python-like language.
Compiler and packer detection.
Extraction and utilization of debugging information (DWARF, PDB).
Signature-based removal of statically linked library code.
Reconstruction of functions, high-level constructs, types, etc.
Generation of call graphs, control-flow graphs, and various statistics.

Декомпилирует в онлайне, код генерит так себе, но по крайнем мере есть mips (попробовал для PSP, лучше, чем ничего). Я говорю именно об IDA Plugin, через сайт ни один файл толком не распарсил




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

Создано: 27 января 2016 16:31
· Личное сообщение · #7

писали, но плагина для ида нет же



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 28 января 2016 06:10
· Личное сообщение · #8

[wl] пишет:
Декомпилирует в онлайне

Что-то как стремно им грузить...
Сразу будет видно, откуда у хаков ноги растут!




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 28 января 2016 08:26 · Поправил: [wl]
· Личное сообщение · #9

Есть плагин для ida, в меню сайта последний пункт. (правда он появляется, если быть залогигенным на сайте, но это делать в любом случае придется, чтобы получить токен для плагина)




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

Создано: 28 января 2016 12:18
· Личное сообщение · #10

плагин все равно на онлайн декомпиляцию отправляет файл ? тогда не нужно
если не онлайн тогда выкладывайте тогда сюда этот плагин




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 28 января 2016 12:25
· Личное сообщение · #11

https://yadi.sk/d/UgUExBIhnrrDZ

отправляет текущую функцию (под курсором). Но повторю, плагин без реги бесполезен, ему нужен токен



Ранг: 6.0 (гость), 1thx
Активность: 0.050
Статус: Участник

Создано: 29 января 2016 23:06
· Личное сообщение · #12

Есть прошивка от процессора motorola mc68332, пробую ее в иде дазисмить, указывая этот проц, но он не определяет точку входа и прекращает анализ. А как ему указать ее ?




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

Создано: 30 января 2016 01:17
· Личное сообщение · #13

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




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

Создано: 31 января 2016 00:23 · Поправил: =TS=
· Личное сообщение · #14

Кто-то пробовал реально менять дерево HexRays с выделением новых сущностей?
Конкретно интересует возможность создания плагина для распознавания inline-функций (актуально для крипты) при декомпиляции.

-----
DREAMS CALL US




Ранг: 6.0 (гость), 1thx
Активность: 0.050
Статус: Участник

Создано: 31 января 2016 11:13 · Поправил: mazaxak
· Личное сообщение · #15

reversecode, все-таки заставил иду это делать, универсальный проц 68ххх определил и сделал дизасм кода.

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




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

Создано: 31 января 2016 13:11
· Личное сообщение · #16

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

Добавлено спустя 2 минуты
=TS= не думаю что лучший способ - сворачивать ast дерево С псевдокода
лушче или матчить асм код и сворачивать его в какие то импорт левые функци называя их инлановыми
либо посмотреть что там пытался выворачивать в аст HexRaysCodeXplorer



Ранг: 6.0 (гость), 1thx
Активность: 0.050
Статус: Участник

Создано: 31 января 2016 14:34
· Личное сообщение · #17

reversecode пишет:
куча софта в гугле

Пробую так искать в гугле "motorola mc68k псевдокод", но ничего про псевдокод не нашел.
Какие софтины подскажете, плиз, для этого дела ?



Ранг: 6.0 (гость), 1thx
Активность: 0.050
Статус: Участник

Создано: 01 февраля 2016 10:50
· Личное сообщение · #18

Можно hex rays подключить как-то, чтобы он моторолу псевдокодил ?




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 01 февраля 2016 10:55
· Личное сообщение · #19

нет, нельзя.




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

Создано: 01 февраля 2016 11:41
· Личное сообщение · #20

reversecode
Меня интересуют ответы на конкретные вопросы, а не разговоры не о чём.

-----
DREAMS CALL US




Ранг: 33.8 (посетитель), 11thx
Активность: 0.020.01
Статус: Участник

Создано: 06 февраля 2016 16:54 · Поправил: awlost
· Личное сообщение · #21

В SDK есть такой нотификатрор
Code:
  1. use_arg_types3,     
  2. ///< Use information about callee arguments.
  3. ///< The kernel uses this callback only if #PR_TINFO and #PR_USE_ARG_TYPES are set.
  4. ///< \param ea     (::ea_t) address of the call instruction
  5. ///< \param fti    (::func_type_data_t *) info about function type
  6. ///< \param rargs  (::funcargvec_t *) array of register arguments
  7. ///< \return 2 (and removes handled arguments from fti and rargs)

он вызывается, в ::ea_t, ожидаемо, адрес вызова функции.
в fti и rargs соотв. информация об аргументах самой ф-ии (из tinfo_t).

А где / как / каким образом - линейные адреса, где аргументы помещаются в стек/заполняют регистры перед вызовом?

Толкните пожалуйста в правильном направлении
---


Сам спрашиваю, сам отвечаю.
искомое отдается нотификаторами use_stkarg_type3 / use_regarg_type3
разобрался



Ранг: 6.0 (гость), 1thx
Активность: 0.050
Статус: Участник

Создано: 06 февраля 2016 19:56
· Личное сообщение · #22

Где в ида указывать диапазоны сегмента кода и сегмента данных ?




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 06 февраля 2016 21:01
· Личное сообщение · #23

mazaxak
View - Open subview - Segments (Shift+F7) ?




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

Создано: 07 февраля 2016 00:01
· Личное сообщение · #24

В IDA 5.2 пытаюсь открыть IDB file. IDA жалуется на то, что этот файл был создан с использованием пиратской (!) версии.
Выяснил, что нужно пропатчить blacklist code file.
Где он находится?
Он явно местный, потому что комп даже не подключен к сети.

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





Ранг: 307.9 (мудрец), 196thx
Активность: 0.180
Статус: Участник

Создано: 07 февраля 2016 00:26
· Личное сообщение · #25

ida.wll и ida64.wll. Fix под это дело был.

-----
Don_t hate the cracker - hate the code.


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


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

Создано: 08 февраля 2016 01:01 · Поправил: plutos
· Личное сообщение · #26

mysterio пишет:
Fix под это дело был.


Fix'а не нашел, пропатчил вручную.
Еще раз спасибо!

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




Ранг: 11.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 11 февраля 2016 12:35
· Личное сообщение · #27

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



Ранг: 9.0 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 01 марта 2016 19:21
· Личное сообщение · #28

Скажите почему IDA 5.5 не находит текстовые строки в .exe файле (Microsoft Visual C++ 7.0 [Debug] [Overlay]). Это такая хитрая защита или особенности СИ? WinHEX, Win32DASM тоже не находят, не могу исследовать программу.



Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 01 марта 2016 19:38 · Поправил: cryptX
· Личное сообщение · #29

Free-Man

Разные варианты могут быть:

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

Это не связано с IDA.



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

Создано: 18 марта 2016 16:55 · Поправил: vit9696
· Личное сообщение · #30

Доброго времени суток,

Думаю, тут есть пользователи HexRaysCodeXplorer, которые с ним дружат. Не подскажите, как ему "подсказать", где лежит таблица виртуальных методов (относительно специфического плана)?

Есть получение адреса/вызов функции по таблице виртуальных методов, в Hex-Rays имею, например:
*(_QWORD *)(*(_QWORD *)v5 + 2688LL).

В данным случае класс представляет собой:
struct SomeClass {
struct SomeClass *self; // self class
struct MetaClass *base; // base class
void (*func1)(); // конструктор, деструктор, функции…
void (*func2)();
...
}
и IDA прекрасно обнаруживает SomeClass, обзывая его `vtable for'SomeClass и ресолвя все имена функций-полей.

Я знаю, что v5 — это указатель на на мой класс, и мне хочется привести v5 + 2688LL к нормальному имени.

Просто кастнуть я не могу, потому что типа IDA автоматически не создаёт, только именует секцию. Поэтому я руками выделяю нужную область в `vtable for'SomeClass, создаю структуру из выделения, а затем указываю тип для v5, получив в результате нужный результат:
v5->self->funcName
(ну, почти, деманглинга метода нет, но это уже не так страшно)

Таких классов может быть много, потому столь ручной процесс несколько долог, и я надеялся использовать HexRaysCodeXplorer. Однако максимум, что он мне выдаёт — это понимание того, что есть некоторый (условный) self, от которого надо получить смещение. Я не вижу возможности заставить его сконструировать self на основе нужного мне адреса :/

Спасибо



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 05 апреля 2016 22:25
· Личное сообщение · #31

Соратники,
Часто нужно сделать "косвенный" goto в окне hex dump, например на [bp-8]
Приходится делать так:
Перейти на bp-8 (g bp-8)
Переключить data format 4 byte int (4)
Скопировать адрес (ctrl-c)
Перейти на него (g ctrl-v)
Переключить data format 1 byte int (1)
А можно как-то сделать всё тоже самое проще, с меньшим количеством телодвижений?
Т.е. переходить по адресам типа [bp-8] или [edi].pointerToRawData


<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 50 . 51 . >>
 eXeL@B —› Основной форум —› Использование IDA Pro
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати