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
Source Code :
- Spoiler:
// coded by drache
modified by rcd
#include
//include header dari protector
//#include "ThemidaSDK.h"
UCHAR
szFileSys[255],
szVolNameBuff[255];
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;
}
// coded by drache
modified by rcd
#include
//include header dari protector
//#include "ThemidaSDK.h"
UCHAR
szFileSys[255],
szVolNameBuff[255];
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;
}