В языке С есть функции malloc
, free
и realloc
Читать полностью »
Рубрика «mmap»
Пишем на С++ вектор, умеющий расширяться без копирования элементов
2022-11-26 в 14:44, admin, рубрики: c++, linux, memory management, mmap, vector, ненормальное программирование, системное программированиеCreateRemoteThread для Linux
2019-12-14 в 17:16, admin, рубрики: C, code injection, CreateRemoteThread, dll injection, elf, Facebook юридически обязан сообщить, linux, mmap, procfs, ptrace, возможно, инъекция кода, ненормальное программирование, Разработка под Linux, системное программирование, содержит недостоверную, то есть ложную информацию, что данная публикацияВ WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить баг в работающей программе, или добавить плагины туда, где они не были предусмотрены.
В целом эта функция обладает сомнительной прикладной полезностью, поэтому не удивительно, что в Linux готового аналога CreateRemoteThread нет. Однако, мне было интересно, как он может быть реализован. Изучение темы вылилось в неплохое приключение.
Я подробно расскажу о том, как с помощью спецификации ELF, некоторого знания архитектуры x86_64 и системных вызовов Linux написать свой маленький кусочек отладчика, способный загрузить и исполнить произвольный код в уже запущенном и работающем процессе.
Для понимания текста потребуются базовые знания о системном программировании под Linux: язык Си, написание и отладка программ на нём, осознание роли машинного кода и памяти в работе компьютера, понятие системных вызовов, знакомство с основными библиотеками, навык чтения документации.
Page-кэш, или как связаны между собой оперативная память и файлы
2014-07-07 в 9:54, admin, рубрики: dll, linux, linux kernel, memory management, mmap, paging, process, x86, Блог компании Smart-Soft, Программирование
Ранее мы познакомились с тем, как ядро управляет виртуальной памятью процесса, однако работу с файлами и ввод/вывод мы опустили. В этой статье рассмотрим важный и часто вызывающий заблуждения вопрос о том, какая существует связь между оперативной памятью и файловыми операциями, и как она влияет на производительность системы.
Читать полностью »