/* name Vx Api type trojan cve — year unknown os Windows authors unknown source krisyotam archived krisyotam (2026) notes — */#include "Win32Helper.h" UINT32 HashStringSuperFastHashA(_In_ LPCSTR String){ INT Length = (INT)StringLengthA(String); UINT32 Hash = Length; INT Tmp = 0; INT Rem = Length & 3; Length >>= 2; for (; Length > 0; Length--) { Hash += Get16Bits(String); Tmp = (Get16Bits(String + 2) << 11) ^ Hash; Hash = (Hash << 16) ^ Tmp;#pragma warning( push )#pragma warning( disable : 6305) String += 2 * sizeof(UINT16);#pragma warning( pop ) Hash += Hash >> 11; } switch (Rem) { case 3: { Hash += Get16Bits(String); Hash ^= Hash << 16; Hash ^= ((UCHAR)String[sizeof(UINT16)]) << 18; Hash += Hash >> 11; break; } case 2: { Hash += Get16Bits(String); Hash ^= Hash << 11; Hash ^= Hash >> 17; break; } case 1: { Hash += (UCHAR)*String; Hash ^= Hash << 10; Hash += Hash >> 1; } } Hash ^= Hash << 3; Hash += Hash >> 5; Hash ^= Hash << 4; Hash += Hash >> 17; Hash ^= Hash << 25; Hash += Hash >> 6; return Hash;} UINT32 HashStringSuperFastHashW(_In_ LPCWSTR String){ INT Length = (INT)StringLengthW(String); UINT32 Hash = Length; INT Tmp = 0; INT Rem = Length & 3; Length >>= 2; for (; Length > 0; Length--) { Hash += Get16Bits(String); Tmp = (Get16Bits(String + 2) << 11) ^ Hash; Hash = (Hash << 16) ^ Tmp;#pragma warning( push )#pragma warning( disable : 6305) String += 2 * sizeof(UINT16);#pragma warning( pop ) Hash += Hash >> 11; } switch (Rem) { case 3: { Hash += Get16Bits(String); Hash ^= Hash << 16; Hash ^= ((UCHAR)String[sizeof(UINT16)]) << 18; Hash += Hash >> 11; break; } case 2: { Hash += Get16Bits(String); Hash ^= Hash << 11; Hash ^= Hash >> 17; break; } case 1: { Hash += (UCHAR)*String; Hash ^= Hash << 10; Hash += Hash >> 1; } } Hash ^= Hash << 3; Hash += Hash >> 5; Hash ^= Hash << 4; Hash += Hash >> 17; Hash ^= Hash << 25; Hash += Hash >> 6; return Hash;}
/*
name Vx Api
type trojan
cve —
year unknown
os Windows
authors unknown
source krisyotam
archived krisyotam (2026)
notes —
*/
#include "Win32Helper.h"
UINT32 HashStringSuperFastHashA(_In_ LPCSTR String)
{
INT Length = (INT)StringLengthA(String);
UINT32 Hash = Length;
INT Tmp = 0;
INT Rem = Length & 3;
Length >>= 2;
for (; Length > 0; Length--)
{
Hash += Get16Bits(String);
Tmp = (Get16Bits(String + 2) << 11) ^ Hash;
Hash = (Hash << 16) ^ Tmp;
#pragma warning( push )
#pragma warning( disable : 6305)
String += 2 * sizeof(UINT16);
#pragma warning( pop )
Hash += Hash >> 11;
}
switch (Rem)
{
case 3:
{
Hash += Get16Bits(String);
Hash ^= Hash << 16;
Hash ^= ((UCHAR)String[sizeof(UINT16)]) << 18;
Hash += Hash >> 11;
break;
}
case 2:
{
Hash += Get16Bits(String);
Hash ^= Hash << 11;
Hash ^= Hash >> 17;
break;
}
case 1:
{
Hash += (UCHAR)*String;
Hash ^= Hash << 10;
Hash += Hash >> 1;
}
}
Hash ^= Hash << 3;
Hash += Hash >> 5;
Hash ^= Hash << 4;
Hash += Hash >> 17;
Hash ^= Hash << 25;
Hash += Hash >> 6;
return Hash;
}
UINT32 HashStringSuperFastHashW(_In_ LPCWSTR String)
{
INT Length = (INT)StringLengthW(String);
UINT32 Hash = Length;
INT Tmp = 0;
INT Rem = Length & 3;
Length >>= 2;
for (; Length > 0; Length--)
{
Hash += Get16Bits(String);
Tmp = (Get16Bits(String + 2) << 11) ^ Hash;
Hash = (Hash << 16) ^ Tmp;
#pragma warning( push )
#pragma warning( disable : 6305)
String += 2 * sizeof(UINT16);
#pragma warning( pop )
Hash += Hash >> 11;
}
switch (Rem)
{
case 3:
{
Hash += Get16Bits(String);
Hash ^= Hash << 16;
Hash ^= ((UCHAR)String[sizeof(UINT16)]) << 18;
Hash += Hash >> 11;
break;
}
case 2:
{
Hash += Get16Bits(String);
Hash ^= Hash << 11;
Hash ^= Hash >> 17;
break;
}
case 1:
{
Hash += (UCHAR)*String;
Hash ^= Hash << 10;
Hash += Hash >> 1;
}
}
Hash ^= Hash << 3;
Hash += Hash >> 5;
Hash ^= Hash << 4;
Hash += Hash >> 17;
Hash ^= Hash << 25;
Hash += Hash >> 6;
return Hash;
}