[Перевод] Пишем на C самоизменяющуюся программу x86_64
«Зачем вообще писать программу, меняющую код в процессе выполнения? Это же ужасная идея!»
Да, всё так и есть. Но это и хороший опыт. Такое делают только тогда, когда хотят что-то исследовать, или из любопытства.
Самоизменяемые/самомодифицируемые программы не обладают особой полезностью. Они усложняют отладку, программа становится зависимой от оборудования, а изучение кода превращается в очень утомительный и запутанный процесс, если только вы не опытный разработчик на ассемблере. Единственный разумный сценарий применения самоизменяемых программа в реальном мире — это механизм маскировки зловредного ПО от антивирусов. Моя цель исключительно научна, поэтому ничем подобным я заниматься не буду.
Предупреждение: в этом посте активно используется язык ассемблера x86_64, в котором я ни в коем случае не являюсь специалистом. Для написания статьи мне пришлось изучать приличный объём материалов, и, возможно (почти наверняка), в ней есть ошибки. Читать дальше →
Источник: Хабрахабр
Похожие новости
- Windows Defender как таран: три 0-day за 13 дней и два из них всё ещё без патча
- О преподавательских работах в Азербайджане, с фотографиями
- Особенности архитектуры сетевой системы защиты информации с применением Keycloak
- Не ради сертификата: мой опыт HTB CWES
- Коммерческая тайна и промышленный шпионаж: вспоминаем кражу кода у Google и другие знаковые американские кейсы
- Топ техник атак на веб-приложения — 2025 и как разработчику защищаться от нетривиальных уязвимостей
- АКАР подвела итоги Диджитал Нон-Медиа Рейтинга 2025
- Компьютерная криминалистика: дополнительный поиск ВПО при помощи событий Windows Defender
- Как врачи используют мобильные приложения
- ML IPS в Ideco NGFW: бессигнатурная защита от атак нулевого дня