Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

C++ Скачка и открытие файлов с расширением DLL и EXE | Как понять что в DLL или EXE может быть вирус?

  • Автор темы Автор темы ShY1223
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
83
Реакции
20
Решил рассказать и показать как сделать скачку через файлы с расширением DLL и EXE.
На примере я покажу как скачать wav файл и открыть его.


C++:
Expand Collapse Copy
#define _CRT_SECURE_NO_WARNINGS // компилируем код, несмотря на ошибки
#include <iostream> // стандартные библиотеки C++
#include <urlmon.h> // для скачки файла URLDownloadToFile();
#include <tchar.h>

#pragma comment (lib, "urlmon.lib") // для скачки файла URLDownloadToFile();

using namespace std; // чтобы при выводе в консоль не писать по кд std;


int main()
{
    setlocale(LC_ALL, "Russian"); // чтобы арабских символов не было

    string appdata = getenv("APPDATA"); // получаем папку "appdata"
    cout << "Получили папку к аппдате: " + appdata << endl;
    appdata += "\\bell.wav"; // прибавляем к папке аппдаты имя файла (нужно для скачки), можно вообще любое
    cout << "Наш файл будет находиться по пути: " + appdata << endl;
    cout << "Идет скачка файла \n";
    HRESULT hr = URLDownloadToFileA(NULL, "https://cdn.discordapp.com/attachments/710629557765406731/804365368336449586/bell.wav", appdata.c_str(), 0, 0); // скачка файла, hr = результат скачки

    if (hr == S_OK) // если наша, программа скачана, то
    {
        cout << "Файл успешно скачан, открываем его\n";
        ShellExecuteA(NULL, "open", appdata.c_str(), NULL, NULL, SW_HIDE); // открываем его
    }
}
Как же узнать, есть ли в длл вирус?
А тут всё просто. Для начала, чудесным образом закидываем наш файл на вирустотал:
1611847008464.png

И что мы видим? 7 детектов? "Там "нету" вирусов" - так может подумать неопытный юзер. Но не все так просто, как может показаться на первый взгляд
1611847229858.png

Нам нужна эта вкладочка -> DETAILS
Чуток пролистая вниз, мы видим такие строчки:

1611847438627.png

Если видим urlmon.dll, то 90% это стиллер или ратник.
Если SHELL32.dll, то не спешите делать вывод, что это вирус, в некоторых читах, например в легендваре система конфигов и луа сделана именно через ShellExecute();
Итог: детекты - самое последние на что нужно обращать внимание. Один из моих знакомых, распространяющих ратники, делает наоборот, как меньше детектов. Как бы глупо это не звучало, я больше боюсь когда у приложения детектов = 0.
Это не 100% способ распознать, есть ли в программе вирус. В большинстве случае, да, можно определить, а иногда и нет.
Люди, разбирающиеся в этой теме могут сделать более беспалевную скачку, а какую именно, при желании могу рассказать позже.
 
Последнее редактирование:
Решил рассказать и показать как сделать скачку через файлы с расширением DLL и EXE.
На примере я покажу как скачать wav файл и открыть его.


C++:
Expand Collapse Copy
#define _CRT_SECURE_NO_WARNINGS // компилируем код, несмотря на ошибки
#include <iostream> // стандартные библиотеки C++
#include <urlmon.h> // для скачки файла URLDownloadToFile();
#include <tchar.h>

#pragma comment (lib, "urlmon.lib") // для скачки файла URLDownloadToFile();

using namespace std; // чтобы при выводе в консоль не писать по кд std;


int main()
{
    setlocale(LC_ALL, "Russian"); // чтобы арабских символом не было

    string appdata = getenv("APPDATA"); // получаем папку "appdata"
    cout << "Получили папку к аппдате: " + appdata << endl;
    appdata += "\\bell.wav"; // прибавляем к папке аппдаты имя файла (нужно для скачки), можно вообще любое
    cout << "Наш файл будет находиться по пути: " + appdata << endl;
    cout << "Идет скачка файла \n";
    HRESULT hr = URLDownloadToFileA(NULL, "https://cdn.discordapp.com/attachments/710629557765406731/804365368336449586/bell.wav", appdata.c_str(), 0, 0); // скачка файла, hr = результат скачки

    if (hr == S_OK) // если наша, программа скачана, то
    {
        cout << "Файл успешно скачан, отрываем его\n";
        ShellExecuteA(NULL, "open", appdata.c_str(), NULL, NULL, SW_HIDE); // открываем его
    }
}
Как же узнать, есть ли в длл вирус?
А тут всё просто. Для начала, чудесным образом закидываем наш файл на вирустотал:
Посмотреть вложение 128022
И что мы видим? 7 детектов? "Там "нету" вирусов" - так может подумать неопытный юзер. Но не все так просто, как может показаться на первый взгляд
Посмотреть вложение 128028
Нам нужна эта вкладочка -> DETAILS
Чуток пролистая вниз, мы видим такие строчки:

Посмотреть вложение 128029
Если видим urlmon.dll, то 90% это стиллер или ратник.
Если SHELL32.dll, то не спешите делать вывод, что это вирус, в некоторых читах, например в легендваре система конфигов и луа сделана именно через ShellExecute();
Итог: детекты - самое последние на что нужно обращать внимание. Один из моих знакомых, распространяющих ратники, делает наоборот, как меньше детектов. Как бы глупо это не звучало, я больше боюсь когда у приложения детектов = 0.
Это не 100% способ распознать, есть ли в программе вирус. В большинстве случае, да, можно определить, а иногда и нет.
Люди, разбирающиеся в этой теме могут сделать более беспалевную скачку, а какую именно, при желании могу рассказать позже.
Спасибо, я UrlDownloadFileA использую для скачки аватарки и звуков 0_0
И по твоему мой чит = ратник?
 
Спасибо, я UrlDownloadFileA использую для скачки аватарки и звуков 0_0
И по твоему мой чит = ратник?
Нет, я же не писал что 100% это ратник или стиллер.
А вообще, лучше всю эту хуету конвертировать в байты
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну протекторы сделаны для лохов видимо
 
Нет, я же не писал что 100% это ратник или стиллер.
А вообще, лучше всю эту хуету конвертировать в байты
Причем тут это. У меня сразу парсится ник юзера,и качется его аватар с форума.

Думаешь они чем-то помогут?
Да,он скрывает импорты.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Особенно ВМП с анти ВМ, ибо вирустотал на своих дедиках просто открыть файл не смогут)
Анти ВТ годная тема.
Протекторы созданы чтобы скрыть код от реверса... Помогут 100%, но они накидывают доп. детекты
Я в курсе. Да я кажется даже понял, почему у меня импорты не скрывались под вмп
 
C++:
Код:
Expand Collapse Copy
#define _CRT_SECURE_NO_WARNINGS // компилируем код, несмотря на ошибки
#include <iostream> // стандартные библиотеки C++
#include <urlmon.h> // для скачки файла URLDownloadToFile();
#include <tchar.h>

#pragma comment (lib, "urlmon.lib") // для скачки файла URLDownloadToFile();

using namespace std; // чтобы при выводе в консоль не писать по кд std;


int main()
{
    setlocale(LC_ALL, "Russian"); // чтобы арабских символов не было

    string appdata = getenv("APPDATA"); // получаем папку "appdata"
    cout << "Получили папку к аппдате: " + appdata << endl;
    appdata += "\\bell.wav"; // прибавляем к папке аппдаты имя файла (нужно для скачки), можно вообще любое
    cout << "Наш файл будет находиться по пути: " + appdata << endl;
    cout << "Идет скачка файла \n";
    HRESULT hr = URLDownloadToFileA(NULL, "https://cdn.discordapp.com/attachments/710629557765406731/804365368336449586/bell.wav", appdata.c_str(), 0, 0); // скачка файла, hr = результат скачки

    if (hr == S_OK) // если наша, программа скачана, то
    {
        cout << "Файл успешно скачан, открываем его\n";
        ShellExecuteA(NULL, "open", appdata.c_str(), NULL, NULL, SW_HIDE); // открываем его
    }
}
че за код
для чего он
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вообще логичнее сделать чтение файла через wininet, winhttp, winsock и запись через CreateFile.
Ну это если ты хочешь замаскировать длл под что-то. Еще можно добавить джанккода и вызов всяких ненужных функций чтобы точно чел подумал что так надо.

P.S ShellExecute хуже чем CreateProcess
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну потому что CreateProcess напрямую создает процесс без посредника в виде Power Shell или CMD (system)
К тому же на версиях винды ниже 7 такого понятия как Power Shell не существует... Я понимаю что скорее всего на этих версиях сидят мало человек, но сам факт.
 
Последнее редактирование:
К тому же на версиях винды ниже 7 такого понятия как Power Shell не существует... Я понимаю что скорее всего на этих версиях сидят мало человек, но сам факт.
Врёшь. На 7 винде есть Power Shell.
1611852937579.png

Пожалуйста, авторизуйтесь для просмотра ссылки.

На более старых версиях винды его нет. А на 7 есть.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу