Введение
Третий и завершающий урок по теме "подпрограммы". В предыдущих двух мы разобрались, что такое подпрограммы, зачем они нужны, а также научились создавать свои собственные подпрограммы и пользоваться ими...
-------------------
Ссылки на части: _часть 1 _часть 2
_получаем патч-байты для SCUM.v0.9.113.75065
------------------- Привет. Продолжаем кодить, создадим необходимые нам структуры record, вверху, сразу после type sections = record ... end; пишем код:
type //входит в dataForPatchBytes
patchBytesRec = record
offsetAdresPatch:DWORD64; //смещение от найденного адреса сигнатуры
//отсчёт смещения (true - вычитанием, то есть смещение вверх, иначе в низ) от offsetAdresPatch
...
Продолжаем публикацию книги о программирование на языке ассемблера (GAS) в операционной системе Linux (x86-64). Сегодня продолжаем рассматривать вопросы памяти. Параграф 5.3 Ассемблер. Выделение динамической памяти функцией brk. В действительности у нас — программистов есть и еще одна возможность использовать память. Можно программно в ходе выполнения выделять память для нужд программы. Та часть памяти, которая позволяет получать ее для программы динамическим способом, называется кучей. При запуске программы куча (динамическая память) располагается между статической памятью и стеком...
Продолжаем публикацию книги о программирование на языке ассемблера (GAS) в операционной системе Linux (x86-64). Сегодня продолжаем рассматривать вопросы памяти. Параграф 5.5 Использование функции mmap для динамического выделения памяти Использование функции mmap для работы с файлами, отображенными в память, не ограничивают ее возможности. Функция может быть использована просто для выделению памяти, как альтернатива функции brk. Рассмотрим возможные подходы в ее использовании. Если использовать...