Francois,
I am interested in taking on the "build a database of windows APIs and dependencies" task. I have started work on scripts to scan a windows system and list import/export information. So far I can gather a list of dlls and run dumpbin on them, then parse imports (mostly, I think). I've started with simply printing the parsed output in three columns. The first is the DLL being scanned, the second is the DLL being imported, and the third is API imported. I am unsure of one thing. There is a 1 - 3 character hexadecimal number preceding almost every API. What is it, and should it be included in the output? Here is an example of what I am referring to: The hexadecimal number, in the third column.
c:\windows\system32/atiiiexx.dll KERNEL32.dll 1AD InterlockedDecrement c:\windows\system32/atiiiexx.dll KERNEL32.dll 1B0 InterlockedIncrement c:\windows\system32/atiiiexx.dll KERNEL32.dll 126 GetModuleHandleA c:\windows\system32/atiiiexx.dll USER32.dll 2AC wsprintfA c:\windows\system32/atiiiexx.dll USER32.dll 1DE PostMessageA c:\windows\system32/atiiiexx.dll USER32.dll 15E GetWindowTextA
Also I could use some direction on what the goals of this task are. Do we want text output? That makes a very large text file when listing all imported/exported APIs. Do we actually want a database for this?