А кто сказал что я буду шелл писать на сишке с црт ? я выше как раз таки и уточнил, что для написания шелла можно, и даже нужно будет отключить все лишнее, что бы потом не бегать в отладчике со вкладки на вкладку, что бы дойти до нормального мейна и вычесать оттуда шелл, к тому же там 100 процентов будет в самом мейне где шелл лишний код от этой же цртШеллкод на С/С++ ты с CRT/STL не сделаешь. Если у тебя модульная малварь, а не всратый стиллак на 7мб, то можно не морочиться со всякими там TLS'ами, которую ты не используешь, но вынужден будешь настраивать при использлвании CRT при загрузке модулей в виртуальную память. CRT фиксированный код, его сложно интегрировать с какими-то обфускаторами и полиморфами. С одной стороны его и не нужно морфить, так как он стандартный и попадает один и тот же условно во все бинари, которые код используют, но это далеко не означает, что какой-то сраный авер не поставит на него комплексную сигнатуру. История с языком Nim вообще в этом плане достаточно показательна.
По поводу настройки TLS и всяких других вещей, если мы говорим сейчас о крипте, то любой уважаемый криптор поддерживает все эти настройки, к тому же весь необходимый код для полноценной загрузки модуля в память практически на уровне системного загрузчика уже описан и есть в паблике
Даже крипторы сейчас в основном модульные и завязаны на проекте VS, либо просто на исходниках сишных, в котором часть кода написана на ассемблере и заморфлена и лежит в виде объектников, которые линкуются к основному коду, сам мейн (подготовщик загрузчика, сам загрузчик в виде шелла) тоже может быть реализован на ассемблере, заморфлен, а в проект подключаться внешне, по итогу у тебя точка входа будет на црт код, сгенерированный MS компилем, что уже дает + в карму, затем црт кидает тебя уже на твой мейн, который ты можешь морфить хоть на уровне исходников, заменяя обьектники, хоть на уровне байткода сразу. На црт детект не навесят с огромной вероятностью, так как он есть почти в каждой легит проге.
Последнее редактирование: