Security research and malware-development writeups detailed a Windows evasion technique that avoids standard loader APIs such as GetProcAddress and GetModuleHandle by manually walking the Process Environment Block (PEB) and parsing DLL export tables. The approach resolves modules like kernel32.dll and user32.dll at runtime, including from encrypted strings, to reduce obvious API references in binaries and make static or behavioral detection more difficult. Microsoft’s documentation for GetProcAddress provides the baseline behavior that these custom implementations are designed to replace.
One proof of concept showed a custom GetProcAddress implementation that located MessageBoxA dynamically on Windows 10 x64, while another demonstrated finding kernel32.dll in assembly-style code and resolving exports by hash before allocating memory and launching a benign payload with CreateThread. The authors framed the method as malware and red-team tradecraft, linked it to MITRE ATT&CK T1027, and noted similarities to techniques seen in Conti ransomware source code, underscoring how manual API resolution can help malicious code lower its detection footprint.

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
4 events from the most recent confirmed update back to the earliest known activity.
A follow-up tutorial published a custom GetProcAddress implementation that manually parses a module's export table and pairs it with a custom GetModuleHandle routine that walks the PEB. The sample resolved user32.dll and MessageBoxA from encrypted strings at runtime as an AV-evasion technique on Windows 10 x64.
A tutorial published a custom GetModuleHandle implementation that walks the PEB loader module list to locate loaded DLLs without calling the WinAPI directly. The Windows 10 x64 PoC decrypted user32.dll and MessageBoxA at runtime, resolved the function with GetProcAddress, and displayed a message box as an AV-evasion demonstration.
A tutorial presented a malware-relevant Windows technique for locating kernel32.dll via the PEB and resolving exports by hash, then using the resolved APIs to allocate memory and execute a benign message-box shellcode payload. The post said the trick had been observed in Conti ransomware source code and was demonstrated on Windows 10 x64.
A technical lab demonstrated how Windows x86 shellcode can traverse the TEB and PEB loader structures to find kernel32.dll in memory, manually parse its export table, resolve WinExec, and invoke it to launch calc.exe. The article presented the technique as a foundational method for resolving APIs such as GetProcAddress and LoadLibrary at runtime.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
6 references tracked. Mallory keeps watching after this page renders.
docs.microsoft.com
Open sourcecocomelonc.github.io
Open sourcecocomelonc.github.io
Open sourcecocomelonc.github.io
Open sourceired.team
Open sourcelearn.microsoft.com
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.