Универсальный загрузчик (Loader) на C#
AntlionP.S: Чтобы посмотреть картинки лучше откройте их в отдельном окне =)
Для начала создадим консольный проект и дадим ему любое название:

Итак нам нужно проложить логику нашему загрузчику, что и как будет работать. Разумеется я решил сделать всё по классам а не так как все любят =)
------------------------------------------------------------------------------------------------------------------------
Создаём класс GlobalPath.cs
В этом классе будем хранить все переменные путей - очень удобно.

------------------------------------------------------------------------------------------------------------------------
Создаём класс IPLogger.cs

------------------------------------------------------------------------------------------------------------------------
Создаём класс HideFiles.cs
В этом классе создадим методы которые помогут запустить, спрятать файл(ы) скрытно.

------------------------------------------------------------------------------------------------------------------------
Создаём класс NetControl.cs
Данный класс будет служить проверкой интернет соединения перед загрузкой файл(а)ов - ( метод можно упростить по желанию )

------------------------------------------------------------------------------------------------------------------------
Так же нам потребуется класс NativeMethods.cs
Подробнее про классы NativeMethods. SafeNativeMethods, UnsafeNativeMethods
http://qaru.site/questions/1953435/what-does-nativemethods-class-in-c-do
В этом классе будем хранить все импортные функции (DllImport)
Запишем в этот класс метод DeleteFileW
Используйте DeleteFileW для имен Unicode и DeleteFileA для имен ANSI.` http://pinvoke.net/default.aspx/kernel32/DeleteFile.html?diff=y
Нам нужен этот метод для того чтобы удалить ZoneID с файла ( это штука удаляет защиту от блокировки скачанных файлов из интернет ресурсов )
Например если запустить какой-нибудь файл скачанный из интернета то получим вот такое вот окошечко:

Так вот запишем эту функцию которая в дальнейшем будет убирать это предупреждение =)

------------------------------------------------------------------------------------------------------------------------
Создаём класс CombineEx.cs
Класс будет служить для проверки существования файла(ов) и.т.д - Просто для удобства

------------------------------------------------------------------------------------------------------------------------
Не расслабляйтесь это только начало :D
Теперь самое сложное))
Создаём класс RunChecker.cs
Этот класс нужен для проверки Mutex ( одноразовый запуск файла ). Так же для проверки прав Администратора и проверки битности системы.

------------------------------------------------------------------------------------------------------------------------
Что мы должны знать про автозагрузку?
|| Есть два варианта автозапуска приложения:
- Через Реестр
- Через Планировщик задач
Вне зависимости от этих вариантов (прошаренный) пользователь спокойно может найти любой файл и удалить его из автозапуска.
Я не стал делать автозапуск через планировщик так-как там требуется .dll для работы. Но можно сделать и через стартовую schtasks не всегда хорошо.
Сделаем через Реестр! =) Кто шарит может сделать как угодно.
------------------------------------------------------------------------------------------------------------------------
Создаём класс Registration.cs

------------------------------------------------------------------------------------------------------------------------
Создадим класс который отключаем уведомления UAC - Smart
Обход UAC можете посмотреть здесь.
Это не обход, как все думают это просто отключалки через реестр.
!Запомните обход UAC и SMART никак не могут происходить во время выполнения кода, за это отвечают только эксплойты и тому подобные скрипты.
Класс DisableLockers.cs

------------------------------------------------------------------------------------------------------------------------
Итак финальная версия =)
Создаём последний класс Users.cs И запилим в него мегасуперпупер код :D

------------------------------------------------------------------------------------------------------------------------
Мы всё сделали осталось это всё расставить по своим местам
Переходим в главный класс Program.cs

------------------------------------------------------------------------------------------------------------------------
Чтобы всё это сделать скрытным запуском нужно зайти в свойства проекта:

И поставить: Тип выходных данных за место консольного приложения на приложение Windows как показано на скриншоте выше.
P.S: В таком случае ссылка System.Windows.Forms - не требуется!
------------------------------------------------------------------------------------------------------------------------
Результаты:
Сканирование файла после

------------------------------------------------------------------------------------------------------------------------
https://antiscan.me/scan/new/result?id=GLLXlktUeiGc
Ссылка на проект загрузчика:
SHA256 Архива: 03a810eb9fc0032e15a93507c8d26eef50fe8c16c5feeb4500cbb40b5b647a42
https://mega.nz/#!XSAABYCZ!P_Z__SWPcCb6o6MDiEK5WhSxr5qgn0sBcBF7BfTOiXQ
#Developer: Antlion
Плюшки к дополнению можете взять здесь.
По всем вопросам https://t.me/xd_antlion
------------------------------------------------------------------------------------------------------------------------
Всем Удачи :D