Thread Environment Block (TEB)
TEB is one of Microsoft’s unpublished structures. The contents listed in Figure 3.4 here are extracted from Undocumented 32-bit PEB and TEB Structures (bytepointer.com/resources/tebpeb32.htm):
Figure 3.4 – TEB structure
These are the partial contents of the TEB after 32-bit reverse engineering. The total size of TEB is as large as 0xFF8
. However, for the sake of explanation, we will only mention the 0x30
bytes at the beginning, and the other parts are for Windows internal implementation.
As we mentioned in Chapter 2, Process Memory – File Mapping, PE Parser, tinyLinker, and Hollowing, when each process is generated, there must be a PEB stored in the process memory to record the details of the process being generated. And what about threads? Yes. Let’s take the multithread concept that you have studied in your operating system class. If there are multiple threads running in parallel in the same...