Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
BOEH
1 / 1 / 0
Регистрация: 07.01.2015
Сообщений: 48
1

Что означает SS:[Local.1] в дизассемблированном коде OllyDbg

17.08.2015, 08:01. Просмотров 1047. Ответов 4
Метки нет (Все метки)

OllyDbg представляет локальные переменные в виде Local.x (см.скрин). Как найти значение переменной в дампе и в стеке?
0
Миниатюры
Что означает SS:[Local.1] в дизассемблированном коде OllyDbg  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2015, 08:01
Ответы с готовыми решениями:

Что означает "Знание архитектуры х86", какие книги почитать, что нужно знать и уметь
Нашёл вакансию junior программиста С++, но нужно знание архитектруы х86. Что...

Что означает строка?
Что означает строка ? I DB 10,?,11 Dup('$'), '$' Весь код: lea dx, I+2...

Что означает строка?
add esp, 16

Что означает MessageBoxA?
Вот кусок кода: invoke OpenClipboard,0 invoke ...

Что означает 500 dup(<>)
1. Что означает 500 dup(&lt;&gt;)? массив каждым элементов которого будет элемент...

4
Constantin Cat
2377 / 1073 / 368
Регистрация: 28.02.2015
Сообщений: 2,378
Завершенные тесты: 1
17.08.2015, 08:42 2
Лучший ответ Сообщение было отмечено BOEH как решение

Решение

Local.x означает ebp + N
3
BOEH
1 / 1 / 0
Регистрация: 07.01.2015
Сообщений: 48
18.08.2015, 18:25  [ТС] 3
Спасибо
0
Князь
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 19
17.01.2017, 23:01 4
А что означает а где это N взять? Или N = x?
0
ФедосеевПавел
Модератор
3859 / 2179 / 895
Регистрация: 01.02.2015
Сообщений: 7,261
17.01.2017, 23:57 5
Примерно так. Но порядок параметров для proto и invoke зависит от соглашений о порядке параметров. При "рукопашном" вызове - всё соответствует пояснению ниже. Чтобы не запутаться с вычислениями смещения - объявления процедур на практике являются макросами, а также существуют директивы определения локальных переменных - подробности в описании proc, invoke, proto, local.

Вызов процедуры с параметрами выглядит так (для 3 параметров)
Assembler
1
2
3
4
    push dword ptr MyA
    push dword ptr MyB
    push dword ptr MyC
    call MyProc
Сама процедура выглядит так (самые первые строки на входе в процедуру)
Assembler
1
2
    push ebp
    mov ebp, esp
Так же, процедура MyProc может иметь свои локальные переменные, которые размещаются на стеке. Пусть это будут LocalA и LocalB. Для их размещения просто изменяют содержимое указателя стека - т.е. пролог становится
Assembler
1
2
3
    push ebp
    mov ebp, esp
    sub esp, 8
Как теперь обратиться к параметру MyA из процедуры
Assembler
1
    mov eax, ss:[ebp+16]
Почему "+16":
В стеке находится
Код
смещение размер содержимое
-8       4      значение параметра LocalB
-4       4      значение параметра LocalA
+0       4      старое значение ebp
+4       4      адрес возврата из процедуры (записан при выполнении команды call)
+8       4      значение параметра MyC
+12      4      значение параметра MyB
+16      4      значение параметра MyA
Смещение вычисляется относительно содержимого ebp. У локальных переменных отрицательное смещение, т.к. память для них выделяется после копирования esp в ebp, а стек "растёт" вверх.

В современных процессорах вместо нескольких команд пролога существует одна команда enter.
0
17.01.2017, 23:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2017, 23:57

Что означает '0' в приведенной строке кода
подскажите пожалуйста что значит '0'. например вот здесь add al,'0'

Что эта строка означает в .bat файле
C:\masm32\bin\link.exe &gt; C:\masm32\bin\text.txt

Что означает символ $ и почему такая конструкция будет работать только в COM программе
mas1 db 1,2,3 len = $ - mas1 Пожалуйста, подскажите, что означает символ $...


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

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

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