C++ kullanarak benzersiz hwid bilgileri elde etmek!

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
re work
Süper Üye
Katılım
31 Ocak 2016
Mesajlar
952
Çözümler
8
Tepki puanı
458
Ödüller
9
10 HİZMET YILI
C++ programlama dili kullanılarak gerekli WMI sınıflarını kullanarak BIOS, CPU, HDD, GPU, MAC adresi, OS ve SCSI bilgilerini alır ve bu bilgileri karıştırarak benzersiz bir HWID oluşturur. Oluşturulan HWID'yi ekrana yazdırır. benzersiz bir HWID oluşturan kodlamayı açıklamalarıyla birlikte güncellenmiş halini sizlerle paylaşıyorum.

C#, Python ve Ruby dillerinede uyarlanmış konuları forumda mevcut ilgili kategorilerden bulabilirsiniz.

Kodun adım adım açıklamaları:


  1. İlk adımda, gerekli kütüphaneleri dahil ediyoruz:
    • iostream: Standart giriş/çıkış işlemlerini yapmak için kullanılır.
    • windows.h: Windows API işlevlerine erişim sağlar.
    • winbase.h: Windows API temel işlevlerini içerir.
    • string: C++ string işlemlerini yapmak için kullanılır.
    • vector: Dinamik dizi oluşturmak için kullanılır.
  2. Ardından, her bir bileşenin bilgilerini almak için ayrı fonksiyonlar tanımlıyoruz. Bu fonksiyonlar Windows Management Instrumentation (WMI) sorgularını kullanarak ilgili sınıflardan bilgileri alır.
  3. main fonksiyonu içinde, gerekli bilgileri almak için önceden tanımladığımız fonksiyonları çağırıyoruz.
  4. HWID'yi oluşturmak için kullanılacak bileşen bilgilerini birleştiriyoruz.
  5. Oluşturulan HWID'yi ekrana yazdırıyoruz.

Kod, sistem bileşenlerinden gerekli bilgileri alarak benzersiz bir HWID oluşturur ve bu HWID'yi ekrana yazdırır. Şimdi kod bölümünü açıklayayım.
C++:
#include <iostream>
#include <windows.h>
#include <winbase.h>
#include <string>
#include <vector>

// Memoryhackers.org tutorial
// BIOS bilgilerini alır
std::string GetBIOSInfo()
{
    std::string biosInfo;

    // Win32_BIOS sınıfından bilgileri almak için WMI sorgusu yapılır
    std::string query = "wmic bios get Manufacturer, SMBIOSBIOSVersion, IdentificationCode /format:list";
    FILE* pipe = _popen(query.c_str(), "r");
    if (!pipe)
    {
        return "";
    }

    char buffer[128];
    while (fgets(buffer, sizeof(buffer), pipe) != NULL)
    {
        biosInfo += buffer;
    }

    _pclose(pipe);

    return biosInfo;
}

// CPU bilgilerini alır
std::string GetCPUInfo()
{
    std::string cpuInfo;

    // Win32_Processor sınıfından bilgileri almak için WMI sorgusu yapılır
    std::string query = "wmic cpu get ProcessorId, UniqueId, Name /format:list";
    FILE* pipe = _popen(query.c_str(), "r");
    if (!pipe)
    {
        return "";
    }

    char buffer[128];
    while (fgets(buffer, sizeof(buffer), pipe) != NULL)
    {
        cpuInfo += buffer;
    }

    _pclose(pipe);

    return cpuInfo;
}

// HDD bilgilerini alır
std::string GetHDDInfo()
{
    std::string hddInfo;

    // Win32_DiskDrive sınıfından bilgileri almak için WMI sorgusu yapılır
    std::string query = "wmic diskdrive get Model, TotalHeads /format:list";
    FILE* pipe = _popen(query.c_str(), "r");
    if (!pipe)
    {
        return "";
    }

    char buffer[128];
    while (fgets(buffer, sizeof(buffer), pipe) != NULL)
    {
        hddInfo += buffer;
    }

    _pclose(pipe);

    return hddInfo;
}

// GPU bilgilerini alır
std::string GetGPUInfo()
{
    std::string gpuInfo;

    // Win32_VideoController sınıfından bilgileri almak için WMI sorgusu yapılır
    std::string query = "wmic path Win32_VideoController get DriverVersion, Name /format:list";
    FILE* pipe = _popen(query.c_str(), "r");
    if (!pipe)
    {
        return "";
    }

    char buffer[128];
    while (fgets(buffer, sizeof(buffer), pipe) != NULL)
    {
        gpuInfo += buffer;
    }

    _pclose(pipe);

    return gpuInfo;
}

// MAC adresini alır
std::string GetMACAddress()
{
    std::string macAddress;

    // Win32_NetworkAdapterConfiguration sınıfından bilgileri almak için WMI sorgusu yapılır
    std::string query = "wmic nicconfig get MACAddress /format:list";
    FILE* pipe = _popen(query.c_str(), "r");
    if (!pipe)
    {
        return "";
    }

    char buffer[128];
    while (fgets(buffer, sizeof(buffer), pipe) != NULL)
    {
        macAddress += buffer;
    }

    _pclose(pipe);

    return macAddress;
}

// İşletim sistemi bilgilerini alır
std::string GetOSInfo()
{
    std::string osInfo;

    // Win32_OperatingSystem sınıfından bilgileri almak için WMI sorgusu yapılır
    std::string query = "wmic os get SerialNumber, Name /format:list";
    FILE* pipe = _popen(query.c_str(), "r");
    if (!pipe)
    {
        return "";
    }

    char buffer[128];
    while (fgets(buffer, sizeof(buffer), pipe) != NULL)
    {
        osInfo += buffer;
    }

    _pclose(pipe);

    return osInfo;
}

// SCSI kontrolcü bilgilerini alır
std::string GetSCSIInfo()
{
    std::string scsiInfo;

    // Win32_SCSIController sınıfından bilgileri almak için WMI sorgusu yapılır
    std::string query = "wmic path Win32_SCSIController get DeviceID, Name /format:list";
    FILE* pipe = _popen(query.c_str(), "r");
    if (!pipe)
    {
        return "";
    }

    char buffer[128];
    while (fgets(buffer, sizeof(buffer), pipe) != NULL)
    {
        scsiInfo += buffer;
    }

    _pclose(pipe);

    return scsiInfo;
}

int main()
{
    // HWID'yi oluşturmak için gerekli bilgileri alır
    std::string biosInfo = GetBIOSInfo();
    std::string cpuInfo = GetCPUInfo();
    std::string hddInfo = GetHDDInfo();
    std::string gpuInfo = GetGPUInfo();
    std::string macAddress = GetMACAddress();
    std::string osInfo = GetOSInfo();
    std::string scsiInfo = GetSCSIInfo();

    // HWID'yi oluştururken kullanılacak bileşenlerin verilerini birleştirir
    std::string hwid = biosInfo + cpuInfo + hddInfo + gpuInfo + macAddress + osInfo + scsiInfo;

    // HWID'yi ekrana yazdırır
    // Memoryhackers.org tutorial
    std::cout << "HWID: " << hwid << std::endl;

    return 0;
}

Takıldığınız kısımlarda konuya yorum yaparak sorduğunuz sorulara cevap vermeye çalışırım. (Sadece konu ile alakalı sorular.)
 
Ultra Üye
Katılım
16 May 2017
Mesajlar
2,346
Çözümler
10
Tepki puanı
530
Ödüller
11
Yaş
27
Sosyal
9 HİZMET YILI
emek oldugundan ellerine saglik yinede yararli formdur
 
☆☆Her oyun bir gün hileyi tadacaktır☆☆
Griffin Premium
Katılım
12 Kas 2017
Mesajlar
13,726
Çözümler
240
Tepki puanı
5,133
Ödüller
23
8 HİZMET YILI
c++ da güzel ve bilgilendirici bir konu olmuş dostum eline ,koluna sağlık.
 
Onaylı Üye
Katılım
4 Mar 2018
Mesajlar
148
Tepki puanı
7
Ödüller
8
Yaş
27
8 HİZMET YILI
c++ dili için güzel örnekler verilmiş eline emeğine sağlık dostum
 
Süper Üye
Katılım
23 Nis 2019
Mesajlar
981
Çözümler
2
Tepki puanı
79
Ödüller
6
7 HİZMET YILI
çok kişinin işine yarar teşekkür ederiz.
 
Onaylı Üye
Katılım
24 Eki 2020
Mesajlar
112
Çözümler
1
Tepki puanı
6
Ödüller
3
Yaş
36
5 HİZMET YILI
c++ için tamda böyle bir örneğe ihtiyacım olacaktı prejede hemen kaydetim
 
Seçkin Üye
Katılım
14 Haz 2023
Mesajlar
311
Tepki puanı
11
Ödüller
2
Yaş
26
2 HİZMET YILI
Thanks men. I can now create my own woofer.
 
Uzman Üye
Katılım
2 Ağu 2022
Mesajlar
200
Tepki puanı
2
Ödüller
1
Yaş
26
3 HİZMET YILI
Hopes this code works I badly needed a woofer.
 
kmode exception
Seçkin Üye
Katılım
18 Tem 2022
Mesajlar
325
Çözümler
9
Tepki puanı
87
Ödüller
3
Sosyal
3 HİZMET YILI
. edit
 
Son düzenleme:
Sky
Süper Üye
Katılım
6 Nis 2018
Mesajlar
808
Tepki puanı
26
Ödüller
7
8 HİZMET YILI
Implementing this would take time rather than using someone's spoofer and just reinstall the windows
 
Onaylı Üye
Katılım
7 Eki 2015
Mesajlar
52
Tepki puanı
0
Ödüller
8
10 HİZMET YILI
Gayet işe yarar şekilde ve açıklayıcı olmuş ustam
 
Onaylı Üye
Katılım
30 Eki 2021
Mesajlar
56
Tepki puanı
1
Ödüller
4
Yaş
27
4 HİZMET YILI
umarım düzgün çalışır woofera ihtiyacım var çok teşekkürler
 
Gökyüzü sadece uçmaktan korkanların sınırıdır
Süper Üye
Katılım
14 Nis 2019
Mesajlar
915
Çözümler
10
Tepki puanı
100
Ödüller
7
7 HİZMET YILI
peki bu hwidi nasıl kullanıcaz ustam bunun hakkında bir yorumun var mı
 
Üye
Katılım
6 Şub 2020
Mesajlar
42
Tepki puanı
0
Ödüller
6
Yaş
27
6 HİZMET YILI
mplementing this would take time rather than using someone's spoofer and just reinstall the windows
 
Onaylı Üye
Katılım
13 May 2023
Mesajlar
56
Tepki puanı
0
Ödüller
1
Yaş
26
3 HİZMET YILI
Neden bu kadar uzun sürdü diyorsanız normalde
 
Onaylı Üye
Katılım
13 Nis 2020
Mesajlar
100
Tepki puanı
6
Ödüller
5
Yaş
35
6 HİZMET YILI
bende c++ ogrenmek istiyorum kımden nasıl egitima alıcam
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst