Top.Mail.Ru
Ответы

Вопрос про Ассемблер

Вот есть регистры общего назначения
EBX: 22 33 44 55
ESP: 00 63 FB 60
командой push ebx, что получится?
На каком ресурсе я могу по экспериментировать? Я знаю про отладчики IDAPro Ollydbg, но туда надо модуль загружать проги и смотреть, я хочу отдельно смотреть какая команда что делает? Есть ли такой ресурс?

По дате
По рейтингу
Аватар пользователя
Новичок
6лет

Могу порекомендовать проект SASM. IDE + как-бэ отладчик.

Что хорошо в первую очередь - макросы ввода-вывода в "консоль-окно". Это очень удобно для новичков, в т. ч. для вывода промежуточных результатов и посмотреть "что не так".

https://dman95.github.io/SASM/

Гляньте хотя-бы скриншот =)

А за инструкциями - конечно в первую очередь документация к процессору и пособиям по ассемблеру. Инструкций много, инструкции разные =)

P.S: OllyDbg вещь, но лучше чуть позже, когда освоитесь. Тем более там без WinAPI уже никуда. Вообще в своё время был SoftIce - самая крутая штука, что видел =). К сож. умер во времена XP.

Аватар пользователя
Искусственный Интеллект
6лет

Это вам надо Programmers Manual на сайте Intel скачать, там все инструкции микропроцессора расписаны.

Аватар пользователя
Профи
6лет

Olydbg
Напиши попроще прогу с нужными действиями для проверки и посмотри через olydbg
В стёк заносишь, указатель вершины стёка меняется и всё

Команда PUSH размещает значение в стеке, т. е. помещает значение в ячейку памяти, на которую указывает регистр ESP, после этого значение регистра ESP увеличивается на 4.

Аватар пользователя
Мыслитель
6лет

Мне проще всего создать простенькое приложение на масм или фасм, а потом добавляя или удаляя команды тестировать их в x64dbg(прога похожая на olydbg), для старта советовал бы все же с olydbg начать.

Аватар пользователя
Мастер
6лет

Вообще, ESP не общего назначения...
Касательно вопроса что сделает:
1) уменьшить значение ESP на 4
2) записать значение EBX по адресу, записанному в ESP