Разработчик, который никогда не изучал внутреннее устройство программы с помощью отладчика, напоминает врача, пытающегося лечить пациента по средневековым методам.
Первые хакеры показали, что технические задачи вполне допускают изящные решения, и тем самым превратили программирование из прикладной дисциплины в своего рода искусство.
При слове «хакер» в голове возникает стереотипный образ сетевого хулигана, шпиона с крашеными волосами и пирсингом
этикой хакеров: понимание логики как формы искусства и свободное распространение информации, устранение традиционных ограничений ради лучшего понимания окружающего мира.
Команда x в отладчике GDB позволяет разными способами рассмотреть адреса памяти. Достаточно указать два аргумента: интересующий адрес и формат отображения его содержимого. Форматы обозначаются однобуквенными спецификациями, перед которыми может стоять число, указывающее количество отображаемых элементов. Вот распространенные варианты спецификаций:
o отобразить в виде восьмеричного числа;
x отобразить в виде шестнадцатеричного числа;
u отобразить в виде десятичного целого без знака;
t отобразить в виде двоичного числа.
0x250 Практическое применение
Следующим шагом стало программирование на перфокартах и перфолентах первых компьютеров IBM 704 и TX-0
Обратите внимание, что регистр EIP содержит адрес памяти, указывающий на команду из дизассемблированного кода функции main() (строчка выделана жирным шрифтом). Предшествующие инструкции (они выделены курсивом) называются прологом функции. Они генерируются компилятором для подготовки памяти к локальным переменным функции main().