Можете ли вы перевести данные стека? Каковы данные?

Я хочу знать, как перевести данные в стек. Мы можем видеть данные вроде: 0x80808080, но имеет ли это смысл? Какие части чисел означают что-то другое? И что означает «0x»?

Главное, что я хочу знать, – как организованы данные. Я знаю, как работают push и pop, но я не понимаю таких вещей, как:

(gdb) x/300wx 0xbffff155 0xbffff155: 0x80808080 0x80808080 0xbffff355: 0x80808080 0x80808080 

Что означает каждая часть? ^ Я знаю, что r = 4 w = 2 x = 1 & – = 0

  • kgdb не возвращает управление gdb
  • Как запустить GDB в фоновом режиме и вернуть его обратно?
  • gdb не запускает приложение
  • QEMU для программ ARM с GDB
  • Как вы можете комментировать информацию о клубе ELF в Linux?
  • Модуль Linux Kernel Удаленная отладка с GDB + KGDB, удаленный ответ «g» пакет слишком длинный
  • Зачем GDB нужен исполняемый файл, а также дамп ядра?
  • номера строк отображения vimrc
  • One Solution collect form web for “Можете ли вы перевести данные стека? Каковы данные?”

    0x – очень распространенный префикс для чисел, написанных в шестнадцатеричном виде, т.е. в базе 16.

    x – команда GDB для отображения содержимого части памяти. Цифры и буквы после / указывают, что печатать: 300 слов ( w ), в шестнадцатеричном формате ( x ). После этого номер будет адресом для начала печати.

    «R = 4 w = 2 x = 1» относится к числовым и символическим представлениям разрешений Unix-файлов и не имеет абсолютно никакого отношения к этому.

    Печать случайной части памяти процесса не приводит к каким-либо полезным данным. Если у вас есть исходный код и двоичный код, построенный с помощью отладочных символов, отладчик может сообщить вам, на каком адресе хранится каждая переменная в программе; это дает информацию о данных в стеке, но не в памяти, которая распределяется динамически. Если у вас нет источника, то вы выполняете обратное проектирование, что намного сложнее, чем отладка.

    Значение данных, то есть то, что представляют данные в переменной, не то, что компьютер может вам рассказать.

    Понимание данных, показанных отладчиком, в общем, требует некоторого опыта программирования. Значение этих данных полностью зависит от программы, нет общих соображений. Не погружаясь глубоко в конкретную программу и способ ее компиляции, это всего лишь куча чисел.

    Interesting Posts

    Создайте файл с использованием специальных символов как имя файла

    Отправка почты в мой домен заканчивается в локальном почтовом ящике вместо сервера обмена

    Извлечь строку, если оба значения столбца отображаются в одном столбце из отдельного файла

    команда mount для команды пользовательского пространства или команды ядра

    Принятие udev игнорировать определенные устройства во время загрузки

    Как проверить, установлена ​​ли общая библиотека?

    Kali 2.0 не загрузится после двойной загрузки с Windows 10?

    Есть ли способ имитировать событие «Закрыть» в разных окнах с помощью терминала?

    я нашел ошибку в BASH?

    Неверная роль и тип при входе в систему

    Как просмотреть последние 5 строк из последнего созданного / измененного файла?

    Bind dns zone не будет работать

    Как преобразовать ключ PEM в пару ключей RSA?

    Вход свободный и верхний

    Как восстановить raid5 на nas с разделом отказа?

    Linux и Unix - лучшая ОС в мире.