Всем Рептилойдам - Рен ТВ
-
Автор темы
- #1
URLDownloadToFile - исключительно для примера работы.
Демонстрация работы:
Демонстрация работы:
C++:
#include <Windows.h>
#include <iostream>
#include <random>
#include <fstream>
#pragma comment(lib, "urlmon.lib")
using namespace std;
string get_random_string(size_t length)
{
string str("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890");
random_device rd;
mt19937 generator(rd());
shuffle(str.begin(), str.end(), generator);
return str.substr(0, length);
}
string Download(const char* url)
{
static string randname = get_random_string(15);
string name = randname + ".dll";
URLDownloadToFileA(NULL, url, name.c_str(), 0, NULL);
return name;
}
void info_dll(std::string info)
{
std::ofstream myfile;
myfile.open("dll.txt");
myfile << info << std::endl;
myfile.close();
}
void init()
{
ifstream in("dll.txt"); // читаем
string dllname;
in >> dllname;
Sleep(500);
DeleteFileA(dllname.c_str()); //удаляем старый файл
cout << "Delete: " << dllname << endl;
Sleep(500);
static string dll = Download("https://site"); //скачиваем новый файл
cout << "Download: " << dll << endl;
Sleep(500);
info_dll(dll); //создаём файл и записываем имя файла
cout << "open [dll.txt]: " << dll << endl;
Sleep(500);
}
int main()
{
init();
system("pause > nul");
}