L'assemblage de cet exemple vous donnera un kernel32.lib que vous pourrez employer à la place de celui fourni par Microsoft.
Plus d'Outils
Si vous voulez ajouter/enlever des fonctions d'une certaine 'importa lib', vous pouvez employer deux outils assez simple que j'ai codé. Par exemple, si vous voulez ajouter des fonctions non documentées à kernel32.lib, vous trouverez ces outils utiles.
Lib2Def
Il extrait les noms des fonction et la taille de leurs paramètres respectifs de n'importe quelle Bibliothèque d'Importation MASM/VC++. Lancez-le juste et il examinera les process de CHACUNES des bibliothèques d'importation qui se trouvent dans le même dossier. Les fichiers de 'données de sorties' ont des extensions .icz. Leur contenu ressemble à cela :
_ExitProcess@4
_ExitThread@4
_ExitVDM@8
_ExpandEnvironmentStringsA@12
_ExpandEnvironmentStringsW@12 @12
Si vous voulez ajouter une fonction, vous devez juste insérez une nouvelle ligne et mettre un tiret de soulignement, ensuite le nom de fonction puis la taille totale que prennent ses paramètres (en BYTE). Si la fonction est exportée par nombre ordinal, il y aura @xx en plus après le nom. Le "xx" étant le nombre ordinal. Notez que ce simple outil ne vérifie pas les noms de fonctions doubles. Et il peut y avoir des noms doubles dans certaines Bibliothèques d'Importation.
MLib
Cet outil accepte les fichiers de 'données de sorties' de Lib2Def et fabrique des Bibliothèques d'importation à partir d'eux. Il examinera le contenu de CHACUNS des fichiers ayant l'extension .icz. Pour votre information, il fait une analyse syntaxique des lignes qui sont dans les fichiers .icz et crée les fichiers .asm et .def à partir d'eux. Donc il appelle ml.exe et link.exe pour produire la Bibliothèque d'Importation (*.lib). Les fichiers .obj, .asm, .exp et .dll sont ensuite supprimés, il ne reste donc plus que le fichier *.lib. Si cet outil ne réussit pas à produire le fichier .lib, vérifiez s'il vous plaît s'il y a certains noms de fonction doubles dans le fichier .icz : c'est la cause la plus probable d'un éventuel échec.
Downloadez ces deux outils