[Перевод] Пишем на C самоизменяющуюся программу x86_64
«Зачем вообще писать программу, меняющую код в процессе выполнения? Это же ужасная идея!»
Да, всё так и есть. Но это и хороший опыт. Такое делают только тогда, когда хотят что-то исследовать, или из любопытства.
Самоизменяемые/самомодифицируемые программы не обладают особой полезностью. Они усложняют отладку, программа становится зависимой от оборудования, а изучение кода превращается в очень утомительный и запутанный процесс, если только вы не опытный разработчик на ассемблере. Единственный разумный сценарий применения самоизменяемых программа в реальном мире — это механизм маскировки зловредного ПО от антивирусов. Моя цель исключительно научна, поэтому ничем подобным я заниматься не буду.
Предупреждение: в этом посте активно используется язык ассемблера x86_64, в котором я ни в коем случае не являюсь специалистом. Для написания статьи мне пришлось изучать приличный объём материалов, и, возможно (почти наверняка), в ней есть ошибки. Читать дальше →
Источник: Хабрахабр
Похожие новости
- Zerotrust по-пацански
- Gartner's AI Tech Sandwich: Едим ИИ-бутерброд правильно
- Как искусственный интеллект трансформирует SASE и Нулевое доверие в современной корпоративной инфраструктуре
- 5 нейроинструментов, которые помогают создавать хорошие изображения
- 35% маркетологов недовольны отсутствием удалёнки
- Как создать эффектный и бесполезный вирусный контент
- 7 самых распространенных ошибок при внесении ПО и ПАК в МинЦифры и как этого избежать
- Бюджеты иностранных рекламодателей в VK Рекламе выросли по итогу первого квартала 2025 года
- 37% предпринимателей управляют маркетингом лично: подходы разных поколений к маркетингу
- Обзор интерактивной выставки «Спорт будущего в настоящем» в Государственном музее спорта