CreatorsOk
oalabs
oalabs

patreon


Understanding The PEB for Reverse Engineers Part 2 - Walking The PEB

This is the second in a short two-part series on the Process Environment Block (PEB) and the Thread Environment Block (TEB). In this tutorial we focus on how a processes’ modules (DLLs) can be accessed via the PEB. We also introduce the concept of “walking the PEB”, the CONTAINING_RECORD macro, and shifted pointers.

Code References

The following are links to the code that was used in the tutorial. These are handy to keep as references as they have the structures and patterns that can be used in IDA when marking up pseudocode.

Further Reading

Hands-On Examples

Attached to this post is the compiled examples from the tutorial (64-bit) and a 32-bit versions of the same examples. See if you can replicate the pseudocode markup from the tutorial with all four samples.

Understanding The PEB for Reverse Engineers Part 2 - Walking The PEB

More Models and Creators