Не везде это возможноПочему бы не использовать маленький шеллкод, который загрузит файл/другой шеллкод 100500кб и запустит с диска/в памяти ? Доп stage никогда не был проблемой.
Какой наивный...Брать готовые статик билды от разработчиков библиотек и линковать к своему коду, если либа популярная, ее сигнатуры по всему миру на куче пк уже есть, детект туда невозможно влепить.
Отлично, тоесть усложним задачуДля менее популярных либ или у которых нет готовых сборок от разработчиков, собираем библиотеки сами с морфингом/обфускацией.
Используем либу - ловим детект - пишем морфер - морфим либу
(здесь должна быть эмодзи клоуна)
Имхо криптить твои 2.5 метра геморой - банально хранение пейлоада будет сложно скрыть в виду разницы в размерах секций, потому в плане веса не все так просто и однозначно, условно я писал кейлогер на плюсах со сборкой в шеллкод - получилось чуть менее 30 кб, и криптовать такое очень и очень легкоСмотря что в этих 2.5мб. Даже если там много сторонних библиотек, все это можно подготовить, чтобы собралось без использования seh/tls/delay import и других вещей, которые триггерят неопытных крипторов. Такой файл запустится любым загрузчиком с полтычка.
Все эти ограничения в малвардев пришли из-за неопытности подавляющего большинства крипторов. Они не могут, работа останавливается. Хотя софт свои функции выполняет в чистом виде. Понятно, что мы не в вакууме находимся, и если на рынке нет нормальных крипторов, то кодерам софта приходится прогинаться под эти ограничения. Но если судить обьективно - это косяк крипторов, хорошие решения спокойно грузят даже аномальные файлы. Из публичных я бы взял за эталон upx, он грузит все что угодно, с любым говном на борту. Исходный код открыт. Это должно быть азбукой для любого криптора.
меньше кода для обработки пейлоада - меньше точек для детекта, я видел решения с несколькими встроенными стабами, внешний запускает шелл и не более, затем уже внутри полу пе - полу шелл код который содержит все логику
Upx не плохой образец загрузчика пе, но уже достаточно длительное время в паблике лежит технология использования виндового загрузчика, что упрощает жизнь в разы!
Upx - это именно про загрузчик а не скрытие от детектов, простоту чистки и тд
Собственно сам себе противоречишьПоддержу, погоня за малым весом как основная цель - это гонка за механическим зайцем на собачьих бегах. Чем больше файл похож на среднестатистический белый бинарь, тем лучше. Все советы убирать CRT, резать вес, и тд. чистой воды бессмыслица, если и без этого файл нормально криптуется.
- Чем больше софт похож на белый бинарь, тем лучше
- Все советы бессмыслица если файл и без этого криптуется
зачем нам тогда пушистый белый софт, если мы его все равно криптуем
Наоборот будет лучше если он будет максимально простым, можно обойтись банальным мапингом секций и релокациями, да и такой софт можно легко собрать в шеллкод без VirtualAlloc + VirtualProtect
Объяснять нужду в шеллкодах - не собираюсь