127 lines · 1.9 KB · C++
RawDownload
/*  name      Vx Api  type      trojan  cve       —  year      unknown  os        Windows  authors   unknown  source    krisyotam  archived  krisyotam (2026)  notes     — */#include "Win32Helper.h" INT32 HashStringMurmurW(_In_ LPCWSTR String){	INT  Length = (INT)StringLengthW(String);	UINT32 hash = 0;	PUINT32 Tmp;	SIZE_T  Idx;	UINT32  Cnt; 	if (Length > 3)   {		Idx = Length >> 2;		Tmp = (PUINT32)String;    		do {			Cnt = *Tmp++; 			Cnt *= 0xcc9e2d51;			Cnt  = (Cnt << 15) | (Cnt >> 17);			Cnt *= 0x1b873593; 			hash ^= Cnt;			hash  = (hash << 13) | (hash >> 19);			hash  = (hash * 5) + 0xe6546b64; 		} while (--Idx); 		String = (PWCHAR)Tmp;	} 	if (Length & 3)   {		Idx    = Length & 3;		Cnt    = 0;		String = &String[Idx - 1];    		do {			Cnt <<= 8;			Cnt |= *String--;  		} while (--Idx);    		Cnt  *= 0xcc9e2d51;		Cnt   = (Cnt << 15) | (Cnt >> 17);		Cnt  *= 0x1b873593;		hash ^= Cnt;	} 	hash ^= Length;	hash ^= hash >> 16;	hash *= 0x85ebca6b;	hash ^= hash >> 13;	hash *= 0xc2b2ae35;	hash ^= hash >> 16; 	return hash;} INT32 HashStringMurmurA(_In_ LPCSTR String){	INT  Length = (INT)StringLengthA(String);	UINT32 hash = 0;	PUINT32 Tmp;	SIZE_T  Idx;	UINT32  Cnt; 	if (Length > 3)   {		Idx = Length >> 2;		Tmp = (PUINT32)String;    		do {			Cnt = *Tmp++; 			Cnt *= 0xcc9e2d51;			Cnt = (Cnt << 15) | (Cnt >> 17);			Cnt *= 0x1b873593; 			hash ^= Cnt;			hash = (hash << 13) | (hash >> 19);			hash = (hash * 5) + 0xe6546b64; 		} while (--Idx); 		String = (PCHAR)Tmp;	} 	if (Length & 3)   {		Idx = Length & 3;		Cnt = 0;		String = &String[Idx - 1];    		do {			Cnt <<= 8;			Cnt |= *String--; 		} while (--Idx); 		Cnt *= 0xcc9e2d51;		Cnt = (Cnt << 15) | (Cnt >> 17);		Cnt *= 0x1b873593;		hash ^= Cnt;	} 	hash ^= Length;	hash ^= hash >> 16;	hash *= 0x85ebca6b;	hash ^= hash >> 13;	hash *= 0xc2b2ae35;	hash ^= hash >> 16; 	return hash; }