2017-09-22 5 views
2

Je joue actuellement avec le script WinDBG écrit en JavaScript comme described by Microsoft.Accès au système de fichiers du script JavaScript de WinDBG

Comment puis-je accéder au système de fichiers à partir du code JavaScript? Je suis intéressé par la lecture et l'écriture de fichiers situés quelque part sur le disque. Pour l'exécution de JavaScript sur les navigateurs, ces fonctionnalités sont désactivées pour des raisons de sécurité, mais par exemple, NodeJS a ses propres bibliothèques pour prendre en charge les opérations de système de fichiers.

Répondre

0

J'ai essayé File, Blob et ActiveXObject comme suggéré sur Internet, mais aucun ne fonctionne dans WinDbg. Vous pouvez essayer une combinaison de .dvalloc + .writemem + .dvfree. Voici un point de départ, mais loin d'être complète:

function saveTextAsFile() 
{ 
    var dbgOut = host.diagnostics.debugLog; 
    var exec = host.namespace.Debugger.Utility.Control.ExecuteCommand; 
    var output = exec(".dvalloc 0x10000"); 
    for (var line of output) 
    { 
     dbgOut("Output: "+line+"\n"); 
     var index = line.indexOf("starting at "); 
     var address = line.substring(index+("starting at ".length)); 
     dbgOut("Allocated memory at "+address+"\n"); 
     exec(".writemem f:\\debug\\logs\\fromscript.txt "+address+" L10000") 
     var output = exec(".dvfree " + address + " 0x10000"); 
     break; 
    } 
} 
+0

est très hacky;) – vnd

+0

@vnd: Bien sûr, je ne l'ai pas appliquer les règles de code propre. Après quelques heures de recherches, de tests et d'échecs, j'étais heureux d'avoir trouvé quelque chose qui pourrait potentiellement fonctionner. –