2012-05-03 1 views
1

Я пытаюсь узнать немного сборки/разборки. Я создал базовый Hello World C EXE (с простой функцией добавления) и бросил его в бесплатную версию IDA.Обучение сбору и IDA

Я вроде как вижу, что происходит. Просто для уточнения ... Что делает следующее?

var_D8= dword ptr -0D8h 
var_14= dword ptr -14h 
var_8= dword ptr -8 

В нем показаны три переменные DWORD. Что такое -0D8H? -14H? -8? Адреса памяти? Мне просто нужно добавить 15 + 1.

Извините, что я новичок в IDA и Assembly.

Спасибо

+0

IDA не мог понять это, так что это просто сделало для него простую декларацию. Вероятно, используется как смещение от EBP, локальной переменной. –

ответ

3

IDA создать специальную структуру для описания стека текущих функций. Адрес мест в этой структуре является смещением от адреса возврата (который также сохраняется в стеке и упоминается как «r» в окне просмотра стека). И это определяет простые смещения от него. Компиляторы сохраняют в стек локальных переменных и представляют собой представление переменных в стеке. Читайте книгу IDA Pro для более подробной информации по этой теме.

 Смежные вопросы

  • Нет связанных вопросов^_^