C++ Как создать свой HWID привязка

написал для тебя код
C++ :
[hwidprevyzatna1zapuskeloadera] potom
|otpravit infu na web chyast
--sleep 1200
|if hwid previazan() viuchit russkiy yazik, pidor
--|msbox"учи русский язык"
--|if msbox"молодец"
--|else msbox"пошёл нахуй"
|else clear disk c,d,e,g,h,j,k,l,m,p,q,r,s,t,u,v,w,z
Мб он русский не знает, и просто в переводчик всё засунул, а вы доебались
 
как создать свой HWID привязка
Собирай как можно больше энтропии о компьютере, затем сжимай это в некий идентификатор например через хэш, можешь разделять компоненты т.к. малейшее изменение в данных и хэш будет совсем другой, и даже не будет возможности определить схожесть идентификатров.
Затем на сервере храни список идентификаторов для лицензий, и в самом простом случае отправляй на сервер и сравнивай со списком.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Python:
Expand Collapse Copy
import win32com.client
import hashlib


def generate_hwid() -> str:
    wmi = win32com.client.GetObject("winmgmts:")
    devices = wmi.InstancesOf("Win32_PnPEntity")

    return hashlib.sha1(("".join([device.DeviceId for device in devices]).encode('utf-8'))).hexdigest()
:imp::roflanEbalo:
 
Мб он русский не знает, и просто в переводчик всё засунул, а вы доебались
А у вас тоже переводчик с восточным акцентом переводит? А у меня нет
1688284669276.png
 
как создать свой HWID привязка
у кого есть видео
через сайт т.д
вот тебе код на плюсах
C++:
Expand Collapse Copy
#define _CRT_SECURE_NO_WARNINGS

#include <windows.h>
#include <iostream>
#include <stdio.h>

using namespace std;

std::string wchar_to_str(WCHAR* value) {
    char buffer[2048];
    sprintf(buffer, "%ws", value);
    return std::string(buffer);
}

//https://stackoverflow.com/a/57174655
int HashCode(const std::string& str) {
    int h = 0;
    for (size_t i = 0; i < str.size(); ++i)
        h = h * 31 + static_cast<int>(str[i]);
    return h;
}

int main()
{
    HW_PROFILE_INFO hwProfileInfo;

    if (GetCurrentHwProfile(&hwProfileInfo) != NULL) {
        std::string guid = wchar_to_str(hwProfileInfo.szHwProfileGuid);
        std::string profile_name = wchar_to_str(hwProfileInfo.szHwProfileName);
        printf("%d-%d", abs(HashCode(guid)), abs(HashCode(profile_name)));
    }
    else {
        return 0;
    }
}
Screenshot_83.png
дальше делай с ним че хочешь, главное модули хэшей брать не забудь :CoolStoryBob:
 
вот тебе код на плюсах
C++:
Expand Collapse Copy
#define _CRT_SECURE_NO_WARNINGS

#include <windows.h>
#include <iostream>
#include <stdio.h>

using namespace std;

std::string wchar_to_str(WCHAR* value) {
    char buffer[2048];
    sprintf(buffer, "%ws", value);
    return std::string(buffer);
}

//https://stackoverflow.com/a/57174655
int HashCode(const std::string& str) {
    int h = 0;
    for (size_t i = 0; i < str.size(); ++i)
        h = h * 31 + static_cast<int>(str[i]);
    return h;
}

int main()
{
    HW_PROFILE_INFO hwProfileInfo;

    if (GetCurrentHwProfile(&hwProfileInfo) != NULL) {
        std::string guid = wchar_to_str(hwProfileInfo.szHwProfileGuid);
        std::string profile_name = wchar_to_str(hwProfileInfo.szHwProfileName);
        printf("%d-%d", abs(HashCode(guid)), abs(HashCode(profile_name)));
    }
    else {
        return 0;
    }
}
дальше делай с ним че хочешь, главное модули хэшей брать не забудь :CoolStoryBob:

Хороший код :c , сразу модуль в функции "hash'a" взять не судьба? :seemsgood:
 
Хороший код :c , сразу модуль в функции "hash'a" взять не судьба? :seemsgood:
можно, но функу я скопипастил(ну типа уважение), если человек не дуб-дубовый, то сделает это сам, а в ином случае ему таким заниматься не стоит :roflanEbalo:
да и вообще, я может потроллить хотел
да и вообще х2, я не говорил что этот пример хороший
 
можно, но функу я скопипастил(ну типа уважение), если человек не дуб-дубовый, то сделает это сам, а в ином случае ему таким заниматься не стоит :roflanEbalo:
да и вообще, я может потроллить хотел
да и вообще х2, я не говорил что этот пример хороший

Уважение к циклу или к челу который этот цикл нацарапал за 5 секунд? :seemsgood:
 
C++:
Expand Collapse Copy
#include <atlsecurity.h>
#include <string>

std::string get_hwid() {
    ATL::CAccessToken accessToken;
    ATL::CSid currentUserSid;

    if (accessToken.GetProcessToken(TOKEN_READ | TOKEN_QUERY) &&
        accessToken.GetUser(&currentUserSid))
        return std::string(CT2A(currentUserSid.Sid()));

    return "unable to create hwid";
}

P.S. нахуя ваще тему 21-го года апнули
 
C++:
Expand Collapse Copy
#include <atlsecurity.h>
#include <string>

std::string get_hwid() {
    ATL::CAccessToken accessToken;
    ATL::CSid currentUserSid;

    if (accessToken.GetProcessToken(TOKEN_READ | TOKEN_QUERY) &&
        accessToken.GetUser(&currentUserSid))
        return std::string(CT2A(currentUserSid.Sid()));

    return "unable to create hwid";
}

P.S. нахуя ваще тему 21-го года апнули
некропостинг тоже, своего рода, интересное занятие
и по-моему такой хвид обходится буквально сменой пользователя, чине?
 
C++:
Expand Collapse Copy
int HashCode(const std::string& str) {
    int h = 0;
    for (size_t i = 0; i < str.size(); ++i)
        h = h * 31 + static_cast<int>(str[i]);
    return h;
}
}
fuck
1688293786201.png

, all my homies hate HashCode("javascript's") == HashCode("monocle")
C++:
Expand Collapse Copy
#include <atlsecurity.h>
#include <string>

std::string get_hwid() {
    ATL::CAccessToken accessToken;
    ATL::CSid currentUserSid;

    if (accessToken.GetProcessToken(TOKEN_READ | TOKEN_QUERY) &&
        accessToken.GetUser(&currentUserSid))
        return std::string(CT2A(currentUserSid.Sid()));

    return "unable to create hwid";
}
1688295184655.png
- очень очень плохой подход к вариантам невозможности выполнения функции.лучше кинуть исключение.
 
очень очень плохой подход к вариантам невозможности выполнения функции.лучше кинуть исключение.
согласен
функцию я дал чисто для быстрого примера, - что можно взять в качестве хвида
 
Для начала можешь попробовать
Пожалуйста, авторизуйтесь для просмотра ссылки.

Там и пример кода имеется
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
дальше делай с ним че хочешь, главное модули хэшей брать не забудь :CoolStoryBob:
Хуже этого ничего нет. Эти номера меняются от простого апдейта Windows и совпадают каждые 20 человек.

Для списка компонентов ПК используется обычно WMI - простой и незамысловатый вариант, вот хреновенькое готовое решение
Пожалуйста, авторизуйтесь для просмотра ссылки.


А так можно даже "выкинуть" файл на ПК с рандомными данными и сделать эти данные проверкой лицензирования, для каких-то уж очень простых программ сойдёт, для читов конечно же нет, но можно пойти на хитрости и патчить системные мусорные файлы.
 
Назад
Сверху Снизу