Toutes les fenêtres apis pour obtenir des descripteurs de fichiers en dehors de createfile et openfile?

J’essaye de fouiner dans un fichier journal dans lequel une application écrit.

J’ai réussi à créer createfile avec la bibliothèque detours à partir de MSR, mais createfile ne semble jamais être appelé avec un fichier qui m’intéresse. J’ai également essayé de connecter openfile avec les mêmes résultats.

Je ne suis pas un programmeur Windows / C ++ expérimenté (ni même un programmeur expérimenté), donc mes deux premières reflections étaient soit que l’application appelle createfile avant d’acquérir l’API, soit qu’il existe d’autres API pour créer des fichiers / obtenir des poignées pour eux. .

Edit: Merci pour les deux bonnes répliques. Je prendrais la réponse de codingthewheel car elle était informative, mais je n’ai pas assez de rep 🙁

Vous pouvez utiliser FileMon de Sysinternal. C’est un excellent moniteur qui peut vous dire exactement quels appels système liés aux fichiers sont effectués et quels sont les parameters.

Je pense que cette approche est beaucoup plus facile que d’acquérir des appels API et beaucoup moins d’intrusion.

Voici un lien qui pourrait être utile:

Surveillance de fichiers de style Guerilla avec C # et C ++

Il est possible de créer un fichier sans toucher l’API CreateFile mais puis-je vous demander quelle méthode d’injection DLL vous utilisez ? Si vous utilisez quelque chose comme Windows Hooks, votre DLL ne sera pas installée avant l’initialisation de l’application cible et vous manquerez les premiers appels à CreateFile. Alors que si vous utilisez quelque chose comme DetourCreateProcessWithDll, votre hook CreateFile peut être installé avant que le code de démarrage de l’application ne s’exécute.

D’après mon expérience, 99,9% des fichiers créés / ouverts entraînent un appel à CreateFile, y compris les fichiers ouverts via les librairies C et C ++, les librairies tierces, etc. Il existe peut-être des fonctions DDK non documentées un fichier journal typique, j’en doute.

Process Monitor de sysinternals pourrait également vous aider.