Developer knowledge network ยท moderated exchange

Komunitas Kode Tidak Dapat Diandalkan

Riset Pengembang, Rekayasa Terbalik & Komunitas Pengkodean

Knowledge indexHidup
4Categories
919Threads
2.8KPostingan
Guide

Compile-Time MurmurHash3 & FNV-1a String Hashing for Dynamic API Resolution [v2.4 Technical Discussion]

vtable_slayer
Senior Reverser
MEMBER
Reputasi: 215
Tanggal Bergabung: Mar 2018
Postingan: 86
Terima kasih: 61
1 bulan yang lalu ยท Jul 16, 2026 10:24 AM
#1

Why static plaintext Win32 API strings ("VirtualAlloc", "CreateRemoteThread") flag static analysis:

Anti-cheat scanners inspect the Import Address Table (IAT) and binary .rdata strings.

Compile-Time Hashing:

CPP
constexpr uint32_t HashString(const char* str, uint32_t val = 0x811c9dc5) {
    return (*str == '\0') ? val : HashString(str + 1, (val ^ (uint32_t)(*str)) * 0x1000193);
}

// Resolving API by 32-bit hash value
FARPROC GetProcAddressByHash(HMODULE hMod, uint32_t targetHash);

Zero plaintext string artifacts exist anywhere in your compiled .exe or .dll!

hook_doctor
Hooking Specialist
MEMBER
Reputasi: 181
Tanggal Bergabung: Jul 2019
Postingan: 21
Terima kasih: 50
1 bulan yang lalu ยท Jul 16, 2026 4:45 PM
#2

Compile-time constexpr hashing keeps binary disassembly clean and stripped of sensitive API names.

ptr_arithmetic
C++ Wizard
MEMBER
Reputasi: 162
Tanggal Bergabung: May 2018
Postingan: 73
Terima kasih: 42
1 bulan yang lalu ยท Jul 16, 2026 11:49 PM
#3

Essential technique for stealth loaders.