# (C++)Protect DLL based HWID

Sumber: https://nyit-nyit.net/threads/c-protect-dll-based-hwid.78562/
Forum: N3 Source Codes dan Tutorials
Dibuat: 2011-04-25 oleh rcd
Balasan: 24, dilihat: 46007

## Post pertama

Dalam tutorial kali ini saya akan memberitahu bagaimana menggunakan proteksi berdasarkan HWID.
Jalankan file "Get Hardware Identifier.exe" lalu akan muncul angka HWID komputer anda.

Dan ini kode untuk memanfaatkan HWID untuk memproteksi DLL

```

// coded by drache
// modified by rcd
#include <windows.h>
//include header dari protector
//#include "ThemidaSDK.h"

UCHAR
szFileSys,
szVolNameBuff;

DWORD
dwMFL,
dwSysFlags,
dwSerial;

#define My_HWID (1289182852)

VOID CheckValidHardwareID()
{
/* WEAK POINT */
/*
LAKUKAN PERLINDUNGAN TERHADAP FUNGSI CheckValidHardwareID()
karena jika CheckValidHardwareID() di patch dengan RET maka CheckValidHardwareID()
tidak akan dipanggil dan dll berjalan tanpa pengecekan HWID !
kamu bisa gunakan CodeVirtualizer, Themida Code Replace, atau Enigma Protector untuk melindungi fungsi CheckValidHardwareID()
*/
//CODEREPLACE_START // CODE REPLACE EXAMPLE
//VIRTUALIZER_START // VIRTUALIZER EXAMPLE
//#include "vm_begin.inc" // ENIGMA PROTECTOR EXAMPLE
GetVolumeInformation("C:\\",(LPTSTR)szVolNameBuff,255,&dwSerial, &dwMFL,&dwSysFlags,(LPTSTR)szFileSys,255);
if (dwSerial == My_HWID) // Lakukan perbandingan dengan hwid yang baru diambil dengan My_HWID
{
MessageBox(0,"VALID HARDWARE ID","INFORMATION",MB_OK | MB_ICONINFORMATION);
// Serial valid
}
else // Jika serial tersebut tidak cocok
{
MessageBox(0,"VALID HARDWARE ID","INFORMATION",MB_OK | MB_ICONERROR);
ExitProcess(1); // Force Exit
// Invalid Serial
}
//CODEREPLACE_END // CODE REPLACE EXAMPLE
//VIRTUALIZER_END // VIRTUALIZER EXAMPLE
//#include "vm_end.inc" // ENIGMA PROTECTOR EXAMPLE
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
if (dwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hDll);
//CODEREPLACE_START // CODE REPLACE EXAMPLE
//VIRTUALIZER_START // VIRTUALIZER EXAMPLE
//#include "vm_begin.inc" // ENIGMA PROTECTOR EXAMPLE
/* WEAK POINT */
/*
LAKUKAN PERLINDUNGAN TERHADAP PEMANGGILAN FUNGSI CheckValidHardwareID()
karena jika CheckValidHardwareID() di patch dengan RET maka CheckValidHardwareID()
tidak akan dipanggil dan dll berjalan tanpa pengecekan HWID !
kamu bisa gunakan CodeVirtualizer, Themida Code Replace untuk melindungi fungsi CheckValidHardwareID()
*/
CheckValidHardwareID();
//CODEREPLACE_END // CODE REPLACE EXAMPLE
//VIRTUALIZER_END // VIRTUALIZER EXAMPLE
//#include "vm_end.inc" // ENIGMA PROTECTOR EXAMPLE
}
return TRUE;
}

```

Perlu diperhatikan bahwa function CheckValidHardware() harus anda proteksi dengan aplikasi protector (Themida, Virtualizer, dll..) agar tidak mudah dibypass

Antivirus results
AhnLab-V3 - 2011.04.25.02 - 2011.04.25 - -
AntiVir - 7.11.7.7 - 2011.04.25 - -
Antiy-AVL - 2.0.3.7 - 2011.04.25 - -
Avast - 4.8.1351.0 - 2011.04.25 - -
Avast5 - 5.0.677.0 - 2011.04.25 - -
AVG - 10.0.0.1190 - 2011.04.25 - -
BitDefender - 7.2 - 2011.04.25 - -
CAT-QuickHeal - 11.00 - 2011.04.25 - -
ClamAV - 0.97.0.0 - 2011.04.25 - -
Commtouch - 5.3.2.6 - 2011.04.25 - -
Comodo - 8470 - 2011.04.25 - -
DrWeb - 5.0.2.03300 - 2011.04.25 - -
eSafe - 7.0.17.0 - 2011.04.24 - -
eTrust-Vet - 36.1.8289 - 2011.04.25 - -
F-Prot - 4.6.2.117 - 2011.04.25 - -
F-Secure - 9.0.16440.0 - 2011.04.25 - -
Fortinet - 4.2.257.0 - 2011.04.25 - -
GData - 22 - 2011.04.25 - -
Ikarus - T3.1.1.103.0 - 2011.04.25 - -
Jiangmin - 13.0.900 - 2011.04.25 - -
K7AntiVirus - 9.98.4470 - 2011.04.25 - -
Kaspersky - 9.0.0.837 - 2011.04.25 - -
McAfee - 5.400.0.1158 - 2011.04.25 - -
McAfee-GW-Edition - 2010.1D - 2011.04.25 - -
Microsoft - 1.6802 - 2011.04.25 - -
NOD32 - 6069 - 2011.04.25 - -
Norman - 6.07.07 - 2011.04.25 - -
Panda - 10.0.3.5 - 2011.04.24 - -
PCTools - 7.0.3.5 - 2011.04.21 - -
Prevx - 3.0 - 2011.04.25 - -
Rising - 23.55.00.05 - 2011.04.25 - -
Sophos - 4.64.0 - 2011.04.25 - -
SUPERAntiSpyware - 4.40.0.1006 - 2011.04.25 - -
Symantec - 20101.3.2.89 - 2011.04.25 - -
TheHacker - 6.7.0.1.182 - 2011.04.24 - -
TrendMicro - 9.200.0.1012 - 2011.04.25 - -
TrendMicro-HouseCall - 9.200.0.1012 - 2011.04.25 - -
VBA32 - 3.12.16.0 - 2011.04.25 - -
VIPRE - 9114 - 2011.04.25 - -
ViRobot - 2011.4.25.4428 - 2011.04.25 - -
VirusBuster - 13.6.319.2 - 2011.04.24 - -
File info:
MD5: 197f3138c9d9f104c90e94625d71e7c0
SHA1: 492c06bd7a883c725d3248ebdbfef4626c29ec53
SHA256: 4da5722f76daef1cb5499997d1a44096e224d6b0b7fad99dc1116d0b3d6f1624
File size: 24576 bytes
Scan date: 2011-04-25 13:55:15 (UTC)

(http://www.virustotal.com/file-scan/report.html?id=4da5722f76daef1cb5499997d1a44096e224d6b0b7fad99dc1116d0b3d6f1624-1303739715#)

Download Link :

11179.IPB
11180.IPB

Credits : Drache

## Balasan

### SecretEvent, 2012-04-25

om kalau udah diketik semuanya langsung di Compile ya om?

### jazzybecker, 2012-04-25

langsung di buang gan kwkwakwak
ya iyalah di compile..

### rcd, 2012-04-25

kan tinggal copas + edit dikit aja :p

### thebakuras, 2012-04-25

Make Dev-C++ Bisa Ngga Bang ???
Masih Bingung :bingung:

### SecretEvent, 2012-05-10

sorry baru bales aku compile kox error y om? ada yg salah gk om

### tuah, 2012-05-11

sudah berhasil build...tapi kenapa ya kalo saya sengaja HWID saya salahkan.

1. notice keluar dan saya klik OK = terminate Game
2. notice keluar dan saya ga klik OK tuh notice tersebut,tetep masih bisa masuk ya ke Game tersebut dan hasil injek dll aktif seperti HWID yang benar

Q..kenapa pada point 2 bisa begitu,,mohon pencerahan suhu ?
saya menginginkan apa bila pada point 2 tersebut, Game tersebut tidak bisa jalan (ke suspend hingga kita mau tidak mau harus klik OK tuh di notice

Mohon pencerahannya para suhu...

### rumpeeee, 2012-05-27

coba ditambahkan di coding nya....

ExitProcess(0);
}

mungkin bisa membantu >.<

### rcd, 2012-05-30

```

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
if (dwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hDll);
//CODEREPLACE_START // CODE REPLACE EXAMPLE
//VIRTUALIZER_START // VIRTUALIZER EXAMPLE
//#include "vm_begin.inc" // ENIGMA PROTECTOR EXAMPLE
/* WEAK POINT */
/*
LAKUKAN PERLINDUNGAN TERHADAP PEMANGGILAN FUNGSI CheckValidHardwareID()
karena jika CheckValidHardwareID() di patch dengan RET maka CheckValidHardwareID()
tidak akan dipanggil dan dll berjalan tanpa pengecekan HWID !
kamu bisa gunakan CodeVirtualizer, Themida Code Replace untuk melindungi fungsi CheckValidHardwareID()
*/
CheckValidHardwareID();
//CODEREPLACE_END // CODE REPLACE EXAMPLE
//VIRTUALIZER_END // VIRTUALIZER EXAMPLE
//#include "vm_end.inc" // ENIGMA PROTECTOR EXAMPLE
}
return TRUE;
}

```

Karena cek HWID nya berada di function yang diluar DllMain sehingga MessageBox nya ga mensuspend EXE nya
gampangnya gini,

```

DLLMAIN
-DisableThreadLibraryCalls
-**CheckValidHardwareID**
DONE

```

jadi DLLMAIN menjalankan **CheckValidHardwareID **setelah itu langsung ke DONE
jadi yang harus di edit adalah, memasukkan code CheckValidHardwareID ke bagian DLLMain
begini

```

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
if (dwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hDll);
GetVolumeInformation("C:\\",(LPTSTR)szVolNameBuff,255,&dwSerial, &dwMFL,&dwSysFlags,(LPTSTR)szFileSys,255);
if (dwSerial == My_HWID) // Lakukan perbandingan dengan hwid yang baru diambil dengan My_HWID
{
MessageBox(0,"VALID HARDWARE ID","INFORMATION",MB_OK | MB_ICONINFORMATION);
// Serial valid
}
else // Jika serial tersebut tidak cocok
{
MessageBox(0,"VALID HARDWARE ID","INFORMATION",MB_OK | MB_ICONERROR);
ExitProcess(1); // Force Exit
// Invalid Serial
}
}
return TRUE;
}

```

jadi setelah ada MsgBox procedure DllMain akan berhenti menunggu tombol OK di klik

### tayuyasafa, 2012-06-20

:mantap: DiCoba Dulu ya Bang RCD Thank's :mantap:

### sektonic, 2013-01-15 (+1)

kalau pake sistem proteksi hwid secara online bisa gk ya?

### GoogleGlass, 2013-01-15

bisa kok . baca di sini kak . banyak yg share kok

http://www.nyit-nyit.net/forum/292-c-and-c/

### MiKazu_Cheater, 2013-01-23

selesai kalau udh ini di compile apa di gimanain lagi

### jazzybecker, 2013-01-25

Ya di test injek gan, kalo HWID sama ama yang di dalem dll cheat jalan, klo beda application exit

### blackshadow, 2013-07-12

(gambar hilang)
kalo dapet notice gini gimana gan ? maklum newbie

### rcd, 2014-02-16

Syntax error tuh
Seharusnya

MB_IConerror

### SHIN3, 2014-02-18

MB_IConerror ?
bknnya di SS @[SchatzFc](http://www.nyit-nyit.net/user/68948-schatzfc/)
udah bener MB_IConerror
jadi yg hrus di perbaiki yang mna gan? :bingung2:

### rcd, 2014-02-18

aduh salah tulis gan :Sorry:

seharusnya kapital semua MB_IC*******

edit : di nyit-nyit gak bisa tulis kapital semua :(

### SHIN3, 2014-02-19

ow begitu ta gan
klo gtu kan jadi jelas
dan masalah terselesaikan :sip:

### usil, 2015-02-20

gan newbie mau tanya...
saya cuman dikasih file.dll <<<<<cheat game
nah di dalam file.dll itu ada hardware id nya...
yang saya mau tanyakan...
gimana cara edit file.dll itu biar sama dengan hardware komputer saya...?

### blackswan28, 2015-03-31

Up diatas ane

### SilitBurik, 2015-05-19

Coba tanya sama yang bikin file.dll nya mas :).
itu solusi paling tepat.
"topicnya bahas gmn cara protect file dengan HWID" tapi kamu malah nanya "gimana cara bongkar file yg di protect HWID".
WTF !!!.

### JEES, 2015-10-12

Gan itu source code copy ke dllmain.cpp ya? Kok pny ane error ya pas build (pke visual 2010)

### hamaboi789, 2023-06-22

yang mempunyai source code protect dll menggunakan system online ada kah ? saya sudah mencari tidak dapat

### tedyreinoso, 2023-11-18

ty for your information

