Вообще в сети много холиваров на это тему.
Многие представители старой школы отказываются признавать новые технологии и считают разработку малвари, как низкоуровневую разработку, т.е. что-то там на уровне драйверов системы, какое-то аппаратное взаимодействие низкоуровневое, например работа с процессором, реверс и т.д.
Да, всё это может присутствовать в разработке, но необходимо понимать, что малварь сейчас весьма обширное понятие.
Вот приведу пару примеров:
1)Нам нужно сделать ботнет, что мы будем использовать ?
Клиент - какой язык мы будем выбирать, уж точно не ассемблер, тут на самом деле выбор очень широк, даже тот-же C# подойдёт.
Серверная часть - Тут выбор ещё больше, всякие-там php, питонячие скрипты, а почему-бы и нет, вот даже на Си писать сервер сейчас может-быть затратно с нуля.
Кстати по поводу ботнета, в бытности мы как-то делали небольшой проект для конкурса XSS, вот интересные статьи рекомендую почитать:
Малварь как искусство - XssBot.Модульный резидентный бот с супер-админкой.
Всем привет ! Для конкурса статей:Летний КОНКУРС СТАТЕЙ #4. Призовой фонд - 15.000$ подготовили совместно с @Jefferson проект и статью. На момент написания этой темы, конкурс еще набирает статьи, до первого июля. Так-что можете поучаствовать. Решил разместить статьи здесь в формате pdf...
ru-sfera.pw
0day RCE в админке ботнета от X-Shar и Jeffs. Делаем обряд препарации.
Это исследование нашего бота:Малварь как искусство - XssBot.Модульный резидентный бот с супер-админкой. Конкурсная статья:0day RCE в админке ботнета от X-Shar и Jeffs. Делаем обряд препарации. Решил сделать перепост, т.к. статья очень полезная, что-бы никто больше не совершал таких ошибок...
ru-sfera.pw
Если почитать вторую статью, то становится понятно, что нужно уделять ещё и безопасности своих проектов, хоть они и малварные, т.к. атаки на такие системы не редкость, этим промышляют как спец. службы, так и сторонние хакеры.
2)Другой пример, разработка решений для защиты вашего зверька от реверса, или обход антивирусов.
Тут в зависимости от задачи, тоже выбор большей, но как правило используют что-то низкоуровневое, это Си, ассемблер.
Особенно если нужна реализация каких-то драйверов, взаимодействие с ними и т.д.
В общем я считаю, что разработка малвари, это системная разработка, ну т.е. нужно понимать в целом как работает система, обладать более глубокими знаниями в устройстве ОС.
А вот с выбором языка тут всё зависит от самой задачи, знаний языка и т.д.
Ещё хочется отметить, что существует много наработок уже и инструментов, этими инструментами тоже нужно уметь пользоваться.)
Вот ну и последнее наверное, если почитать этот форум, то используется язык Си в основном, причин этому несколько:
1. Тут в основном изучение обхода средств защиты и т.д., поэтому язык Си более предпочтителен, т.к. нет ограничений работы с памятью и т.д.
2. Программы собранные компилятором Си легче исследовать, например в том-же дизассемблере.
Но понятно что куча минусов этого языка, начиная от безопасности и заканчивая отсутствием каких-то фишек, как например в С++, хотя если говорит про С++ там тоже есть не мало минусов, важна практика...)
Вот если вас интересовал именно Си, рекомендую хотя-бы по диаганали прочитать книгу:https://ru-sfera.pw/attachments/bri...chie-the_c_programming_language-ru-pdf.59582/
В целом там есть всё что-бы начать кодить на этом языке + даст некоторые понимания по устройству системы.)