Here is the first version of my new tool import library to module definition file converter, lib2def

The tool extracts module definition files from MS COFF import libraries:

lib2def kernel32.lib


Output :

LIBRARY kernel32
EXPORTS
"_AddAtomA@4"
"_AddAtomW@4"
"_AllocConsole@0"
.
.

lib2def accepts wildcards like *.lib
Attachments:
Posted on 2006-05-27 16:06:59 by Vortex
Version 1.1

- In some rare situations, the tool didn't filter the symbols _IMPORT_DESCRIPTOR_ and _NULL_THUNK_DATA , bug fixed
- Functions names without leading underscore were not written correctly, bug fixed
Posted on 2006-06-14 14:49:31 by Vortex
Do you by any chance know the format of *.pch files?

An idea is to make a pch2inc converter. Given that pch files are preparsed header files, there would be no headache with parsing. There would be only a definitive binary format to convert from.
Posted on 2006-06-14 20:23:40 by comrade
Hi comrade,

Sorry, I don't know anything about the pch format. Maybe, you can search it in wotsit :

http://www.wotsit.org/
Posted on 2006-06-15 04:54:35 by Vortex
I tried many sources, including wotsit, but with no luck :(
Posted on 2006-06-15 14:00:40 by comrade
comrade, I doubt you will find any official info on it - just like it's hard to find anything on .pdb files. What do you need it for anyway? The information in .pch files won't be very modular, I'm afraid...
Posted on 2006-06-15 14:16:31 by f0dder
I have a fair bit of info on PDB files, but on PCH I come up short - I can tell you where you need not look (because it isn't there):

1) The Microsoft PE and COFF Specification (Revision 6.0)
2) Tool Interface Standard (TIS) Formats Specification for Windows (Version 1.0)

The second file is where I would expect to find this information, but no luck. Note that these are both fairly old, but are the most recent versions of the files that I could find.

I know that didn't help, but hopefully it will prevent you wasting time trying to find files that won't help. (I can provide copies of either or both files on request for you to check yourself.)

Ossa
Posted on 2006-06-15 20:49:17 by Ossa
You can use the Debugging Tools library from Microsoft to read PDB files. Check the interfaces inside dbgeng.dll
Posted on 2006-06-15 23:10:50 by comrade
Comrade,
Email this dude...

mpulver AT midiwall.com

He is documenting the Nord PCH File Format.

Paul
Posted on 2006-06-20 22:18:23 by PBrennick
PBrennick, thanks for the tip, but i think the guy is working on some different PCH :) It has something to do with sound synthesizers. The program that uses this file extension is Nord Modular
Posted on 2006-06-21 00:30:58 by comrade
Btw, Vortex, the public PDB symbols from microsoft also contain TYPE information. So if you can hook dat stuff up, you can probably make some insane pdb2inc that can also generate structs.
Posted on 2006-06-21 00:32:00 by comrade
Version 2.0

- The tool couldn't filter C++ functions in some cases, bug fixed.

New version uploaded at the first posting.
Posted on 2006-09-02 03:33:51 by Vortex
Version 2.1

- Fixed bug with some FASTCALL functions

http://vortex.masmcode.com/files/lib2def21.zip
Posted on 2006-12-29 14:00:13 by Vortex