Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Отображение пользователя в длл

  • Автор темы Автор темы francyz
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
12 Июн 2019
Сообщения
863
Реакции
124
Делаю свою пасту со связкой с ксенфоро или другой хуйни.
Как можно зделать отображение фото или просто имя пользователя.
Не бейте тапками что я тупой немного
 
Делаю свою пасту со связкой с ксенфоро или другой хуйни.
Как можно зделать отображение фото или просто имя пользователя.
Не бейте тапками что я тупой немного
посмотри как это в лв сделано, в protect.h get_data
 
посмотри как это в лв сделано, в protect.h get_data
там зделано как я и предпологал,но как организовать общение например лоадере и длл или лоадера и сервера.Возможно на сервере лежат сурсы и он компилирует каждому длл с именем пользователя
у меня вот такой protect.h
C++:
Expand Collapse Copy
#include "hwid\hwid.h"
#include "TlsClient\TlsClient.h"
#include "TlsClient\crypt_data.h"
#include <jwt\jwt.hpp>
#include <string>
#include "crypt_str.h"
#include <Windows.h>

key m_key;
using namespace jwt::params;

void crash_log(const char* text, ...)
{
    if (!text)
        return;

    char path[MAX_PATH];
    IFH(GetEnvironmentVariable)(crypt_str("USERPROFILE"), path, MAX_PATH);

    strcat(path, crypt_str("\\Desktop\\Plagueware.xyz.log"));
    auto file = std::ofstream(path, std::ios::app);

    if (!file.is_open())
        return;

    va_list va_alist;
    char buffer[1024] = "\0";

    va_start(va_alist, text);
    _vsnprintf(buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), text, va_alist); //-V2007
    va_end(va_alist);

    file << buffer << std::endl;
    file.close();
}

__forceinline nlohmann::json decrypt_data(const std::string& data)
{
    std::error_code ec;
    auto dec_obj = jwt::decode(data, algorithms({ crypt_str("RS256") }), ec, secret(m_key.pub_s), verify(true));

    return dec_obj.payload().create_json_obj();
}

__forceinline std::string sing_data(std::map<std::string, std::string> data)
{
    jwt::jwt_object obj =
    {
        algorithm({ crypt_str("RS256") }),
        secret(m_key.priv),
        payload(data)
    };

    std::error_code ec;
    return obj.signature(ec);
}

__forceinline std::vector <std::string>& split(const std::string& s, char delim, std::vector<std::string>& elems)
{
    std::stringstream ss(s);
    std::string item;

    while (std::getline(ss, item, delim))
        elems.push_back(item);

    return elems;
}

__forceinline std::vector <std::string> split(const std::string& s, char delim)
{
    std::vector <std::string> elems;
    split(s, delim, elems);
    return elems;
}

__forceinline std::string get_data(const std::string& key)
{
    auto tls_client = new TlsClient(crypt_str("api.Plagueware.xyz"), crypt_str("1339"));
    m_key = get_token();

    if (tls_client->connect())
    {
        auto key = tls_client->send(crypt_str("qewrwqertdfszvdzfdg"));
        m_key.pub_s = key;
    }
    else
        return crypt_str("1");

    auto m_hwid = new hwid();
    std::map <std::string, std::string> data;

    std::string m_token;
    std::string m_uid_str;

    auto login_data = split(key, ':');

    m_token = login_data[0];
    m_uid_str = login_data[1];

    data[crypt_str("type")] = crypt_str("login");
    data[crypt_str("token")] = m_token;
    data[crypt_str("hwid")] = m_hwid->getHWID();
    data[crypt_str("uid")] = std::to_string(atoi(m_uid_str.c_str()));

    auto done = false;

    for (auto i = 0; i < 40; ++i)
    {
        if (!tls_client->is_send)
        {
            done = true;

            if (tls_client->connect())
            {
                auto singed_data = sing_data(data);
                auto data_out = tls_client->send(m_key.pub + ':' + singed_data);
                auto json_data = decrypt_data(data_out);

                if (json_data[std::string(crypt_str("error"))].get <std::string>().size() > 2)
                {
                    data.clear();
                    return crypt_str("9");
                }

                g_ctx.username = json_data[std::string(crypt_str("username"))].get <std::string>();
                data.clear();

                done = false;

                for (auto i = 0; i < 40; ++i)
                {
                    if (!tls_client->is_send)
                    {
                        done = true;

                        data[crypt_str("type")] = crypt_str("get_signature");
                        data[crypt_str("version")] = BETA ? crypt_str("beta") : crypt_str("stable");

                        if (tls_client->connect())
                        {
                            auto singed_data = sing_data(data);
                            auto data_out = tls_client->send(m_key.pub + ':' + singed_data);

                            data.clear();
                            return data_out;
                        }

                        return crypt_str("8");
                    }

                    std::this_thread::sleep_for(std::chrono::milliseconds(500));
                }

                if (!done)
                    return crypt_str("7");
            }

            if (!done)
                return crypt_str("6");

            break;
        }

        std::this_thread::sleep_for(std::chrono::milliseconds(500));
    }

    if (!done)
        return crypt_str("5");

    data.clear();

    delete tls_client;
    delete m_hwid;

    return crypt_str("4");
}
но как я понял там он не используеться т.к. там все красное и логи не пердят на него что он кривой
/del я уже понял
Можно чтобы лоадер сохранял зашифрованый файл и чит потом эго читал
 
Возможно на сервере лежат сурсы и он компилирует каждому длл с именем пользователя
Это глупость, имя пользователя нужно передавать с сервера.
Перекомпилировать же имеет смысл только если хочешь чтобы каждому юзеру выдавался персональный билд, его можно пропустить через мутатор и это сильно уменьшит сигнатурный детект (не эвристический).
 
Это глупость, имя пользователя нужно передавать с сервера.
Перекомпилировать же имеет смысл только если хочешь чтобы каждому юзеру выдавался персональный билд, его можно пропустить через мутатор и это сильно уменьшит сигнатурный детект (не эвристический).
я так понимаю чтобы юзать мутатор нужно юзать что-то по типу ida только серверное?
 
я так понимаю чтобы юзать мутатор нужно юзать что-то по типу ida только серверное?
Неа, под мутатором я имею ввиду нечто что можно встроить в тулчейн (процесс сборки), это может быть протектор или скажем обфускатор для LLVM.
И вообще я говорю про защиту, ида же нужна для реверс-инжиниринга (обратно процесса).
 
пиздец.. Пойду лучше
Можно чтобы лоадер сохранял зашифрованый файл и чит потом эго читал
Неа, под мутатором я имею ввиду нечто что можно встроить в тулчейн (процесс сборки), это может быть протектор или скажем обфускатор для LLVM.
И вообще я говорю про защиту, ида же нужна для реверс-инжиниринга (обратно процесса).
пиздец, ты щас мне росказал как крякнуть нл(no ad)
 
Назад
Сверху Снизу