You can get complete specification of PE here:
http://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx[
^].
You can find other documents in references to the Wikipedia article:
http://en.wikipedia.org/wiki/Portable_Executable[
^].
This information is enough to make a list of entry names in exports as well as dependencies (explicitly imported DLLs and entry points).
This CodeProject article provides some description and source code for PE parsing, but some readers criticized this work for some problems and code quality. At least it could help you the get the idea of what's involved:
Parse a PE (EXE, DLL, OCX Files ) and New Dependency Walker[
^].
Some parsing is also shown in this CodeProject article, but I don't see that it looks for exports or imports. Good to take a look, anyway:
XPEInfo - a non-MFC class to get info from PE file[
^].
See also:
http://www.csn.ul.ie/~caolan/pub/winresdump/winresdump/doc/pefile2.html[
^] — a very detailed article,
XPEInfo - a non-MFC class to get info from PE file[
^].
—SA