• XSS.stack #1 – первый литературный журнал от юзеров форума

Чем плох c# для написания малвари?

BaDRabbiT404

RAID-массив
Забанен
Регистрация
01.03.2020
Сообщения
93
Реакции
27
Пожалуйста, обратите внимание, что пользователь заблокирован
Всем привет! Спорили с другом о том, какой ЯП лучше подходит для написания малвари. Я пытался убедить, что это си, но он был непреклонен. В общем то, все мои аргументы по типу "зависимости от .NET", он парировал. Так чем c# плох?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
c# для начала самое то и потом постепенно можно уже переходить к изучению c++

c# язык не плохой ( про то что это самый отстойный язык говорят только те кто не силен в нем вот и все )

то что у c# есть зависимость от .NET это все детские байки так как практически на каждом ПК он предустановлен! да даже если он и не установлен то при запуске файла выдаст ошибку что .NET не установлен его нужно скачать и установить лично я вообще не вижу никаких проблем юзать c# для написания Malware но у каждого свое мнение
 
Пожалуйста, обратите внимание, что пользователь заблокирован
может потому что типа легко реверсить, не знаю. Что скажут инженеры по реверсу, вопрос.
не каждый это умеет делать например модератора возьмем Quake3 он реверсить умеет только плюсы
эт чисто к примеру
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Плох тем, что реверсить попроще, но с хорошей обфускацией можно усложнять до того, что реверс дотнета будет сравним с реверсом нативного кода.

Хорош тем, что с ним есть много разных интересных трюков. Запускать бесфайлово проще, инжектить один AnyCpu исполняемый файл можно и в wow64 и в нативные 64-битные процессы и тд. Ну и кодить на Шарпах куда проще.
 
Всем привет! Спорили с другом о том, какой ЯП лучше подходит для написания малвари. Я пытался убедить, что это си, но он был непреклонен. В общем то, все мои аргументы по типу "зависимости от .NET", он парировал. Так чем c# плох?
Насколько я знаю одна причина в том, что код будет не нативен, а иметь зависимости от .NET Framework, что не дает + к отстуку. Еще одна причина в том, что шарп это интерпретируемый язык, а значит его легче отреверсить.
.
.
.
Также дополню, что скорость и вес тоже не играет на руку С#, файл будет весить больше и работать медленнее даже по сравнению с плюсами, не говоря уже о чистом Си
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Насколько я знаю одна причина в том, что код будет не нативен, а иметь зависимости от .NET Framework, что не дает + к отстуку. Еще одна причина в том, что шарп это интерпретируемый язык, а значит его легче отреверсить.
.
.
.
Также дополню, что скорость и вес тоже не играет на руку С#, файл будет весить больше и работать медленнее даже по сравнению с плюсами, не говоря уже о чистом Си
вес это вообще ошибочное мнение он вообще роли не играет если файл весит 1-3 мегабайта то ничего страшного в этом нету а вот если гиг или 2 то да может и играет какую то роль вес файла
 
Последнее редактирование:
вес это вообще ошибочное мнение он вообще роли не играет если файл весит 1-3 мегабайта то ничего страшного в этом нету а вот если гиг или 2 то да может и играет какую то роль вес файла
я не сильно разбираюсь в этом вопросе, возможно вы и правы, написал то что до этого видел на этом борде или на каких то других.
Как мне кажется куда большую роль играют безопастность оператора стиллера или бота, поэтому если какой то язык позволяет надежно зашифровать строки, и при этом более менее нативен (тот же шарп имеет зависимость, но во все свежие windows заранее установленна .Net), то на таком языке можно и нужно писать, хотя бы ради разнообразия и эксперимента
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну на самом деле насчет того, что у дотнета размер исполняемого файла больше - это ошибочное мнение. Тот же хеллоу ворлд на Шарпах будет 4кб, а на си или тем более плюсах - будет от 20кб за счет сишного рантайма, вкомпиленного в экзешник. Конечно, можно сишный рантайм отрубить, тогда тоже получится в районе 4кб. В самом фреймворке очень много функционала, который просто и удобно использовать, тот же Seatbelt, который ну просто кучу всего выводит о системе, весит порядка 300кб по-моему. Аналогичная программа на си будет весить столько же, только если все делать без сищных рантаймов на чистом винапи.

На семерках предустановлен дотнет 2.0, на десятках предустановлен 4.0. Да даже хпшку в 2022 году вы если и найдете, то там скорее всего хотя бы фреймворк 2.0 будет установлен.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну на самом деле насчет того, что у дотнета размер исполняемого файла больше - это ошибочное мнение. Тот же хеллоу ворлд на Шарпах будет 4кб, а на си или тем более плюсах - будет от 20кб за счет сишного рантайма, вкомпиленного в экзешник. Конечно, можно сишный рантайм отрубить, тогда тоже получится в районе 4кб. В самом фреймворке очень много функционала, который просто и удобно использовать, тот же Seatbelt, который ну просто кучу всего выводит о системе, весит порядка 300кб по-моему. Аналогичная программа на си будет весить столько же, только если все делать без сищных рантаймов на чистом винапи.

На семерках предустановлен дотнет 2.0, на десятках предустановлен 4.0. Да даже хпшку в 2022 году вы если и найдете, то там скорее всего хотя бы фреймворк 2.0 будет установлен.
ну можно в конфиг проекта прописать например вот так:

Код:
<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.1,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.1" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.2,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.2" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3" />
    <supportedRuntime version="v2.0.50727" />
  </startup>

</configuration>
 
Пожалуйста, обратите внимание, что пользователь заблокирован
ну можно в конфиг проекта прописать например вот так
Вписывать поддержку всех четвертых фреймворков не обязательно, они все работают на одном рантайме. Можно скомпилить под фреймворк 2.0, вписать поддержку 2.0 и 4.0 и он будет запускаться на всех (2.0-3.5 работают на рантайме 2.0, 4.0-4.8 работает на рантайме 4.0). Если бесфайлово запускать, то еще проще, вообще конфиг не нужен. 5 и 6 дотнеты - совсем другая история, но, мне кажется, что еще лет 10 пройдет прежде, чем на вендах будет предустановлен какой-то из них и не будет рантайма 4.0 на системе.
 
.NET ***c# отличный язык, с учетом того что на .NET завязано процентов 70 юзерлэнд функционала на винде ОС интеграция на высоком уровне, со всеми вытекающими из этого возможностями с точки зрения безопастности. cross platform фактор Mono, Xamarin, Core, MAUI расширяет возможности применения не только на Windows. ну как и вишенка на торте структура .NET PE и архитектура выполнения кода (MISIL->CLR->GIT ... ) головная боль АВ вендоров как минимум.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Этот тред был создан, чтобы подкинуть мне аргументов в мою пользу, но что то всё пошло не по плану. Тогда давайте немного поменяем формулировку - Что лучше для написания малвари си или c#?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Этот тред был создан, чтобы подкинуть мне аргументов в мою пользу, но что то всё пошло не по плану. Тогда давайте немного поменяем формулировку - Что лучше для написания малвари си или c#?
все по плану пошло просто каждый пишет на чем ему проще или какой ЯП он знает
Если ты СИ хорошо знаешь то можешь на нем писать
Если только c# то можешь на нем писать малвари
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Что лучше для написания малвари си или c#?
И то и другое нужно уметь правильно готовить, чтобы сделать что-то хорошее. Опять же почему, скажем, не Rust, или не Nim, или не D? Говоря о малвари, С# категорически не подходит только для "шкафчиков". Использовать встроенные во фреймворк классы для шифрования нельзя, тк они используют CryptoAPI под капотом, а аверы могут CryptoAPI перехватывать и сохранять сгенерированные ключи. А все шифр-библиотеки на С# в любом случае будут медленнее, чем библиотеки на Си, как бы их JIT не разгонял (как минимум засчет боксинга и всяких автоматических проверок за выходы за границы массивов в циклах и тд). В остальных случаях я не вижу проблем в том, что малварь написана на С#.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Визор Инде не раскрутит С#. Ибо поганые скрипты и ВМ. Чтобы ваша молварь не стала 1001 семплом в его коллекции, лучше тогда выбирать С#
Ну после JIT-компиляции он (визор) сможет что-то покрутить, проблема в том, что нативный код каждого метода будет располагаться в рандомном месте исполняемой кучи и понять взаимосвязь этих разрозненных участков все равно будет сложно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Как давно не было подобных тем!
не каждый это умеет делать например модератора возьмем Quake3 он реверсить умеет только плюсы
Чтобы реверсить что-то, надо понимать как оно устроено; натив я знаю, что и во что преобразуется на асм уровне, дотнет не знаю. Да и особой нужды нет, я же не в аверлабе работаю.

чем c# плох?
C# приучает программиста мыслить неправильно. Поэтому, с него нельзя начинать.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх