It doesn't exact information from an exe, you just generate the dictionary from the executable (your application) calling a method. So it's rather simple, it just gather information from the classes in your application via RTTI and generate the .pas file from it.
The BPL is external, indeed, but it just do a LoadPackage and extract the RTTI from the BPL as well.