But which methods are allowed? I assume that "obvious" methods (reading header files, registry dumps, etc.) are acceptable, but can I e.g. analyze .pdb symbol files (availble in e.g. Microsoft's DirectX SDK)?
You can do the above as long as they are readily available. The .pdb files are accessible to all, then you can use them. If you have to copy them from a running Windows installation, they are not.
.pdb files should not be used. For instance they show internal data structures, internal functions and much more. Stay away from them.
Roderick