eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

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

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

 eXeL@B —› Вопросы новичков —› IDA 6.8 массивы структур и xref
Посл.ответ Сообщение

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

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

Ковыряю одну старую прогу. Цель понять как оно работает, и поднять немного скил. По большей части использу. HexRays и проблем особых нет.
Но в программе есть достаточно много массивов стуктур, достаточно приличных размеров(4-5 килобайт на один элемент структуры и по 1000 элеметов в массиве).
Чтобы удобней было разбиратся делаю следуюзее в local types создаю структуру нужного размера. Потом нахожу первый элемента массива и делаю на его месте массив на нужный размер и число элементов. После чего указываю тип переменной который создал в local types.
Всё работает как надо при декомпиляции функций всё хорошо читается. Но попытка поискать где используется этот массив через jump to xref показыват только функции где было обращение к первому элементу идёт.
Можно ли это както исправить и если да то как?


Ранг: 317.1 (мудрец)
Статус: Участник

Создано: 19 ноября 2017 18:24 · Поправил: difexacaw New!
Цитата · Личное сообщение · #2

Mailbox

> о попытка поискать где используется этот массив через jump to xref показыват только функции где было обращение к первому элементу идёт.

Индексация наверно ?
Формат ia: P = B + I*S + D.
Так адресуется массив - через индексную компоненту, которая умножается на размер указателя.

Intel® 64 and IA-32 architectures software developer's manual volume 1: Basic architecture

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

Создано: 19 ноября 2017 18:29 New!
Цитата · Личное сообщение · #3

Нет есть куча функций где идёт прямое общащение к одному из элемементов.


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

Создано: 19 ноября 2017 18:37 New!
Цитата · Личное сообщение · #4

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


Ранг: 317.1 (мудрец)
Статус: Участник

Создано: 19 ноября 2017 18:40 New!
Цитата · Личное сообщение · #5

Mailbox

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

Вы можете чётко сформулировать задачу, что бы можно было её решить без гадания на шаре ?

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

Создано: 19 ноября 2017 20:05 · Поправил: Mailbox New!
Цитата · Личное сообщение · #6

Попробую есть для примера такой код: https://pastebin.com/W8TtLcpa
Компилирую без оптимизаций.
Запускаю IDA скармливаю ей файл на выходе из того что мне надо вот такое получаю https://pastebin.com/4XRiYSWM
В общемто тут видно что массив лежит по адресу dword_40AA00
Добавляю в Local types структуры object_save и objects
Перехожу к переменной делаю из нее массив и задаю тип objects
Code:
  1. .bss:0040AA00 ; objects byte_40AA00[]
  2. .bss:0040AA00 byte_40AA00     db 3DC510h dup(?)


После чего при деклмпиляции функций имею вот какое https://pastebin.com/XTju6jT0
Тоесть в целом всё хорошо, но если я в функции sub_401493 выбираю переменную и жму Jump to xref... то вижу в списке только функцию sub_40135D
А я там хочу видеть ещё sub_401493 и sub_401464


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

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

.bss:0040AA00 ; objects byte_40AA00[]
.bss:0040AA00 byte_40AA00 db 3DC510h dup(?)
должен выглядеть по другому
используйте Alt+Q что бы натянуть на массив структуры

обновите иду, флоаты плохо у вас распознаются, это в последней версии поправили

насчет рефов, я уже сказал, в окне структс, по поводу отсутвия их в jump to xref или баг (смотреть в новой иде надо) или из за того что плохо натянуты структуры
 eXeL@B —› Вопросы новичков —› IDA 6.8 массивы структур и xref

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS