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