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

C++ Делаем рандомное имя скачиваемого фалйа

  • Автор темы Автор темы seven_up
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
Всем Рептилойдам - Рен ТВ
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
542
Реакции
92
URLDownloadToFile - исключительно для примера работы.

Демонстрация работы:

C++:
Expand Collapse Copy
#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");
}
 
URLDownloadToFile - исключительно для примера работы.

Демонстрация работы:

C++:
Expand Collapse Copy
#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");
}
это давно в паблике...
 
это давно в паблике...
Что в паблике?
библиотечные функции или пример работы с ними?
Покажи мне тему с тем же содержанием и можешь смело кидать жалобу за оффтоп.

Данная тема создана исключительно для тех, кто вообще не бум-бум с кодом и только начинает.
Полагаю, что им может это быть вполне полезно.
 
Что в паблике?
библиотечные функции или пример работы с ними?
Покажи мне тему с тем же содержанием и можешь смело кидать жалобу за оффтоп.

Данная тема создана исключительно для тех, кто вообще не бум-бум с кодом и только начинает.
Полагаю, что им может это быть вполне полезно.
ну бля хз может быть да и поможет с другой стороны это тожe не совсем правильно ибо совсем начинающий не поймет, а чел который хоть чуть шарит сам это сделает...
 
Последнее редактирование:
Теперь большинство лоудеров на плюсах, которые дллку скачивают будут иметь подобное, как мера безопасности, пхах.
Хотя, сомневаюсь.
 
URLDownloadToFile - исключительно для примера работы.

Демонстрация работы:

C++:
Expand Collapse Copy
#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");
}
к слову в инете полно таких гайдов
 
Теперь большинство лоудеров на плюсах, которые дллку скачивают будут иметь подобное, как мера безопасности, пхах.
Хотя, сомневаюсь.
Смотря защиты от чего.
Да, безусловно, если речь идёт про защиту от кряка, то это абсурд, но зачем вообще качать длл на ком как таковую ?
 
Последнее редактирование модератором:
Что в паблике?
библиотечные функции или пример работы с ними?
Покажи мне тему с тем же содержанием и можешь смело кидать жалобу за оффтоп.

Данная тема создана исключительно для тех, кто вообще не бум-бум с кодом и только начинает.
Полагаю, что им может это быть вполне полезно.
1643995554942.png

1643995573764.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
giphy.gif

Некоторые люди понимают,что это пример для новичков,но они чем-то недовольны,поэтому ставят забавные реакции и задают глупые вопросы!
Спасибо и продолжай в том же духе ^^!
P.S лучше подписывай, что это пример для новичков
 
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); }
Oh no, its cringe
C++:
Expand Collapse Copy
std::string RandomString( std::size_t uiLengthString ) {

    const std::string sSymbols( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890" );
    std::string String( uiLengthString, NULL );

    std::default_random_engine Generator{ std::random_device{ }( ) };
    const std::uniform_int_distribution< std::string::size_type >Distribution{ 0ULL, sSymbols.size( ) - 1ULL };

    for ( auto& i : String ) {

        i = sSymbols[ Distribution( Generator ) ];
    }

    return String;
}
 
чё за хуйню ты запостил, удали...
 
библиотечные функции или пример работы с ними?
Да)) Ты помог размоножению недо-паст со своим паблик лоадером. Человек который именно программирует кодит умеет уже решать подобные проблемы:
1) Гуглом
2) Стаковерфлов
P.S лучше подписывай, что это пример для новичков
Новички и сами могут осилить если нормально ознакомяться с языком и стандартными библиотеками. Если это так,давайте будем делать темы как умножать\добавлять\использование printf
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу