Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Fusix
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 134
1

[IDA PRO] Интересное выражение

11.07.2012, 22:50. Просмотров 1080. Ответов 3
Метки нет (Все метки)

Реверсил драйвер. Наткнулся на выражение:
C++
1
2
3
   
v1 = &Irp1->Tail.Overlay.UnkUnion.CurrentStackLocation[-1];
*v1 = 12;
Собственно как его понимать? Что значит [-1]? (CurrentStackLocation - cтруктура)
И чему второе присваивает?
Спрашиваю, т.к. нет возможности проверить на практике. Имеется только код.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2012, 22:50
Ответы с готовыми решениями:

Ida pro
таварищи подскажите де добыть сей софт(ida pro) с кряком google шо-то не помог

IDA PRO and atmega2561
Кто нибудь добавлял описание atmega2561 в avr.cfg для IDA Pro? Сам добавил, вот только сомневаюсь,...

Поиск в Ida Pro
Добрый день! Извиняюсь если такой вопрос уже был но как в Ida Pro выполнить поиск по radiobutton?...

IDA PRO загрузить файл
Здравствуйте уважаемые специалисты. В часто задаваемых вопросах по IDA PRO мало внимание уделено...

Скрипты в IDA Pro Advanced.v6.1
Тринируюсь писать скрипты, вчера уже написал один рабочий. Хочу удлинить прогу, и в заданое...

3
Nick Alte
Эксперт С++
1653 / 1025 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
12.07.2012, 11:18 2
Декомпилятор в иде, конечно, хороший, но нельзя ожидать от него всегда корректных результатов. Я бы посоветовал внимательно приглядеться к ассемблерному коду, который сложили в такую причудливую конструкцию и попробовать определить его смысл самостоятельно.
По поводу второго вопроса: судя по всему, v1 - указатель на целочисленный тип, в который заносится адрес некоего элемента из Tail.Overlay, в этот элемент во второй строчке запись и происходит.
1
CheshireCat
Эксперт С++
2914 / 1263 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
12.07.2012, 17:59 3
Судя по коду,
CurrentStackLocation - это некий массив. Берется "элемент", имеющий тот же тип, что и элементы массива, и непосредственно "предшествующий" началу этого массива.
1
talis
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
17.07.2012, 16:50 4
Смущает дословный перевод CurrentStackLocation - "текущее положение в стеке". Выглядит как будто берётся адрес текущего положения в стеке (esp?) и идёт обращение к элементу в стеке ниже текущего. Если сделать предположение (только предположение!), что CurrentStackLocation - это адрес первого "незанятого" элемента стека, то CurrentStackLocation[ -1 ] - это верхушка стэка. Но странное тогда у него мировоззрение, у декомпилятора. Абстракционизм, сюрреализм...

Добавлено через 22 секунды
Откуда он вообще взял это имя - CurrentStackLocation?
0
17.07.2012, 16:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2012, 16:50

Ассемблерный код вируса (IDA Pro)
Здравствуйте. Помогите пожалуйста разобраться с ассемблерным кодом. До этого никогда не учил, а...

Каков результат дизассемблирования и ассемблирования в IDA Pro?
Здравствуй уважаемый Mighty All! Вопрос простой: Если взять какую-нибудь программу без...

Где можно скачать рабочую версию IDA PRO?
Где можно скачать рабочую версию IDA PRO? Или другого хорошего отладчика Помогите пожалуйста!...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru