Вопрос [closed] Как сделать автоапдейтер лоадера

Участник
Статус
Оффлайн
Регистрация
18 Май 2023
Сообщения
659
Реакции[?]
173
Поинты[?]
0
Пытаюсь его СПАСТИТЬ и нихуя не понимаю

Проверка версии есть, но вот новый не скачивается.
Чтобы я не делал, работает все кроме скачивания нового лоадера
C++:
BOOL SelfDelete() // ezpasted
{
    TCHAR szFile[MAX_PATH], szCmd[MAX_PATH];

    if ((GetModuleFileName(0, szFile, MAX_PATH) != 0) &&
        (GetShortPathName(szFile, szFile, MAX_PATH) != 0))
    {
        lstrcpy(szCmd, "/c del ");
        lstrcat(szCmd, szFile);
        lstrcat(szCmd, " >> NUL");

        if ((GetEnvironmentVariable("ComSpec", szFile, MAX_PATH) != 0) &&
            ((INT)ShellExecute(0, 0, szFile, szCmd, 0, SW_HIDE) > 32))
            return TRUE;
    }

    return FALSE;
}
bool updateloader()
{

    std::string loadercheck = "1.0"; // Loader Version

    if (loadercheck.empty())
    {
        exit(0);
    }

    std::string str = DownloadURL("checkversion"); // you can use github or smth for it

    string str2(loadercheck);

    if (str.find(str2) != string::npos)
    {
        //up2date    std::cout << green << xorstr_("[+] No Update needen") << std::endl;
    }

    else
    {
        system("cls");

        std::cout << ("Updating Loader..") << std::endl;

        std::string str = DownloadURL("newloader.exe"); // in loader.txt is the actual download link of the loader yes i know as i said its a shit version

        std::string dwnld_URL = str.c_str();

        string dwnload = (dwnld_URL.c_str());



        std::string savepath = "Loader.exe";

        URLDownloadToFileA(NULL, dwnld_URL.c_str(), savepath.c_str(), 0, NULL); // Actual Download of file

        std::cout << ("Update Is Done.. Relaunch Me");

        Sleep(2000);
        SelfDelete(); // calling The self delete function to delte the old loader
        exit(0);
    }

    return true;
}

Да код с UC, но он должен работать
 
primordial
Пользователь
Статус
Оффлайн
Регистрация
4 Сен 2020
Сообщения
361
Реакции[?]
128
Поинты[?]
42K
Напиши оболочку которая будет получать байты с сервера и запускать их, а основной лоадер переведи в байты, храни и обновляй его на сервере
 
Участник
Статус
Оффлайн
Регистрация
18 Май 2023
Сообщения
659
Реакции[?]
173
Поинты[?]
0
Напиши оболочку которая будет получать байты с сервера и запускать их, а основной лоадер переведи в байты, храни и обновляй его на сервере
Идея в байтах хронить нормальная, но если бы у меня в лоадере была нормальная защита, но по факту у меня из защиты, это комментарии //не крякайте пжпжпж
 
Stop Staring At the Shadows
Участник
Статус
Оффлайн
Регистрация
10 Окт 2020
Сообщения
518
Реакции[?]
497
Поинты[?]
86K
Идея в байтах хронить нормальная, но если бы у меня в лоадере была нормальная защита, но по факту у меня из защиты, это комментарии //не крякайте пжпжпж
:stupid:
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2022
Сообщения
101
Реакции[?]
4
Поинты[?]
1K
Пытаюсь его СПАСТИТЬ и нихуя не понимаю

Проверка версии есть, но вот новый не скачивается.
Чтобы я не делал, работает все кроме скачивания нового лоадера
C++:
BOOL SelfDelete() // ezpasted
{
    TCHAR szFile[MAX_PATH], szCmd[MAX_PATH];

    if ((GetModuleFileName(0, szFile, MAX_PATH) != 0) &&
        (GetShortPathName(szFile, szFile, MAX_PATH) != 0))
    {
        lstrcpy(szCmd, "/c del ");
        lstrcat(szCmd, szFile);
        lstrcat(szCmd, " >> NUL");

        if ((GetEnvironmentVariable("ComSpec", szFile, MAX_PATH) != 0) &&
            ((INT)ShellExecute(0, 0, szFile, szCmd, 0, SW_HIDE) > 32))
            return TRUE;
    }

    return FALSE;
}
bool updateloader()
{

    std::string loadercheck = "1.0"; // Loader Version

    if (loadercheck.empty())
    {
        exit(0);
    }

    std::string str = DownloadURL("checkversion"); // you can use github or smth for it

    string str2(loadercheck);

    if (str.find(str2) != string::npos)
    {
        //up2date    std::cout << green << xorstr_("[+] No Update needen") << std::endl;
    }

    else
    {
        system("cls");

        std::cout << ("Updating Loader..") << std::endl;

        std::string str = DownloadURL("newloader.exe"); // in loader.txt is the actual download link of the loader yes i know as i said its a shit version

        std::string dwnld_URL = str.c_str();

        string dwnload = (dwnld_URL.c_str());



        std::string savepath = "Loader.exe";

        URLDownloadToFileA(NULL, dwnld_URL.c_str(), savepath.c_str(), 0, NULL); // Actual Download of file

        std::cout << ("Update Is Done.. Relaunch Me");

        Sleep(2000);
        SelfDelete(); // calling The self delete function to delte the old loader
        exit(0);
    }

    return true;
}

Да код с UC, но он должен работать
чистить кэш ссылок не пробовал?
 
FanHack Team
Пользователь
Статус
Оффлайн
Регистрация
26 Сен 2017
Сообщения
72
Реакции[?]
51
Поинты[?]
0
Может потому что твой запущенный лоудер имеет то же название как ты пытаешься сохранить? И файл лаудера не перезаписывается так как он в данный момент используется
 
Участник
Статус
Оффлайн
Регистрация
18 Май 2023
Сообщения
659
Реакции[?]
173
Поинты[?]
0
пофиксил, код с юц мусор и по итогу написал сам...(хотя что там писать, проверка if else)
 
Сверху Снизу