2015-11-02 2 views
2

Je cours sous QEmu sous Linux et le système d'exploitation virtualisé est Windows XP. Je voudrais avoir soit la 1ère ou la 2ème possibilité:Création d'un vidage WinDbg de l'OS invité QEmu

  1. pour appliquer une commande QEmu qui crée une décharge qui peut être ouvert avec WinDbg
  2. pour appliquer une commande QEmu qui crée une décharge d'un type particulier puis utilisez un autre utilitaire pour le rendre lisible avec WinDbg

Je sais "dump-guest-mémoire" de QEmu (crée une décharge ELF-), plugin rekall raw2dmp et plug-in de volatilité raw2dmp. La sortie peut être scannée par WinDbg, mais en fait vous rencontrez le problème d'un mauvais en-tête - probablement la partie la plus importante d'un vidage, qui ne sert à rien lorsque la sauvegarde a été créée en utilisant les outils/plugins mentionnés ci-dessus. Beaucoup de domaines manquent de détails corrects. Comparaison avec un vidage normal créé par Windows OS lui-même (par exemple, lors d'un plantage), qui contient des informations complètes et correctes.

Je suis un étudiant et j'ai eu la tâche de résoudre ce problème. Je pense qu'il est raisonnable de veiller à ce que personne ne l'ait encore achevé, ce qui est logique.

+0

http://resources.infosecinstitute.com/kernel-debugging-qemu-windbg/? –

+0

@ThomasWeller bien, merci, mais c'est un peu différent. Je m'intéresse exactement aux décharges. Et j'ai oublié de mentionner que l'OS hôte est Linux. – StrausMG

+0

ne pouvez pas exécuter deux instances qemu avec windows sur ce linux utiliser un qemu comme hôte et l'autre comme cible initier une connexion kd entre eux et utiliser la commande .crash ou la commande .dump pour obtenir un vidage? ou est-ce que je me méprends sur votre requête? – blabb

Répondre

1

si Qemu commandes du moniteur sont ensemble acceptable la clé de Registre crashonctrlscroll dans l'OS invité

définir les paramètres de création de vidage dans SystemApplet

Mycomputer->properties->Advanced->Startup and Recovery->Settings->Complete memory dump) 
path , no overwrite , uncheck automatically restart  

et de Qemu surveiller l'utilisation shell sendkeys ctrl_r-scroll_lock-scroll_lock

qui sera générer une sauvegarde qui sera compatible windbg

manually initiated_crash bugcheck code 0xe2 

screen shot d'un 700 Mo de RAM OS invités XP64 fonctionnant à l'intérieur qemu sur un 32 bits XP32 os enter image description here

+0

oui, c'est un cas simple alors que nous pouvons manuellement provoquer la création d'un vidage d'origine, ce qui sera absolument correct et normal. Mais l'objectif est de concevoir une méthode permettant d'obtenir un vidage normal dans des situations anormales lorsque le système d'exploitation invité ne peut pas nous fournir un tel vidage. Donc, dans ce cas, nous ne pouvons utiliser que les commandes de qemu (et par la suite, si nécessaire, d'autres outils pour traiter la sortie de qemu). – StrausMG

+0

vous souhaitant bonne chance trouver en-tête de vidage officiel et le format détails/documentation afaik ms jamais publié ces détails la dernière fois j'ai vérifié les seules méthodes disponibles étaient de reverse engineering dumpchk dans windbg et corréler j'ai probablement le code dans un lecteur flash dans un grenier simule dumpchk en utilisant dbghelp/dbgeng fonctions ping si vous les voulez mal essayer de les localiser andreas schuster (forensikxxxx.de) avait deux messages détaillant les en-têtes mdmp et du64 google – blabb

+0

merci, mais vous ne devriez pas le faire, j'ai déjà commencé à chercher :) Juste essayé de savoir si le problème est déjà résolu (ou presque résolu). – StrausMG