We’ll start by figuring out how to find the base address of a DLL (like kernel32.dll or user32.dll) directly from the PEB (Process Environment Block) - a structure Windows maintains internally for each process. I’ll walk through each line of the assembly code I wrote, explaining what it does, why it matters, and how I figured it out - piece by piece. If you’re also trying to understand malware development, red teaming, or AV evasion at a deeper level, this post is for you.