Analysieren einer Dump-Datei mit WinDbg

952
dushkin

Ich wurde gebeten, eine Dump-Datei (keine Quelldateien angegeben) mit windbg zu untersuchen und einige Informationen daraus zu extrahieren:

  • Bestimmen, was das Problem ist (Hang / Crash)
  • welches Modul den Hang verursacht
  • Was ist die Hauptursache des Absturzes.
  • Zählen Sie alle Unternehmensmodule auf, die in den Prozess eingefügt wurden
  • Zählen Sie alle Hooks auf, die im Prozess von Company-Modulen ausgeführt wurden

Die einzige Datei, die ich habe, ist diese Dmp-Datei. Ich arbeite an Windows10 64bit.

Ich arbeite schon eine Weile daran:

  1. Zunächst habe ich mit .sympath und .reload überprüft, ob Microsoft-Symbole geladen werden.
  2. Dann habe ich .analyze benutzt! -v, um eine Analyse der Datei zu erstellen.
  3. In dieser Analyse fand ich Folgendes:

    ein. Es gab eine Break-Befehlsausnahme 80000003 im Thread 7030

    b. Die Ausnahme war ein Power Point-Prozess von Microsoft Office 2010.

    c. Die Ausnahme war bei der Methode CpupSyscallStub

    d. Das Modul ist wow64cpu.

    e. Da es sich um eine Ausnahme von 0x80000003 handelt, ist dies ein Hinweis auf einen manuell generierten Anwendungsdump.

    f. Ich habe den Befehl ~ verwendet, um die Liste der Threads im Prozess anzuzeigen. Alle waren nicht gefroren. G. Allerdings benutzte ich ! Runaway und sah, dass Thread 7030 für mehr als 7 Minuten aktiv war und viel mehr als andere Threads im Prozess.

    ich. Also ist es vielleicht eine hängende Situation. Ich bin nicht sicher, da ich vermute, dass der erste Thread in der Liste der Haupt-Thread ist, und natürlich kann es mehr Verarbeitungszeit haben.

    h. Die Hauptursache ist wahrscheinlich "Ein oder mehrere Argumente sind ungültig", wie im Wert des Schlüssels EXCEPTION_CODE festgelegt.

    ich. Die Verwendung von ~ # hätte mir den Thread geben müssen, der die Ausnahme verursacht hat:

     . 0 Id: 5cf8.7030 Suspend: 0 Teb: 00000000`00c5b000 Unfrozen Start: *** ERROR: Symbol file could not be found. Defaulted to export symbols for POWERPNT.EXE - POWERPNT+0x10c8 (00000000`2d7710c8) Priority: 0 Priority class: 32 Affinity: f 

    j. Aber beim Aufruf von -ecxr : „Minidump hat keinen Ausnahmekontext“, also bin ich verwirrt…

  4. Injektionen finden:

    ein. Früher habe ich .hideinjectedcode ab jetzt der Hoffnung ! Analyze -v mir geben Injektion Informationen. Aber ich habe die gleichen Analyseprotokolle…

    b. Mit lm -v habe ich eine Liste aller Module erhalten, die sich im Prozess befinden. Die injizierten Module sind wahrscheinlich alle 14 DLLs, die das Attribut "CompanyName:" haben, und möglicherweise auch die 2 "OpenSSL-Projekt" -LLLs, an denen die injizierende Firma beteiligt sein könnte.

    Aber ich bin mir nicht sicher ...

  5. Um die Hook-Funktionen herauszufinden, habe ich versucht, alle importierenden Tabellen der injektierenden Firmen-DLLs anzusehen, um die Hook-Funktionen zu finden. Nach 6-7 DLLs habe ich keine solche gefunden. Also gab ich diese Methode auf…

Hier finden Sie eine! Analize-Befehlsausgabe.

Wie Sie sehen, habe ich viel Zeit in diese Übung investiert. Es sind aber keine klaren Schlüsse gezogen. Ihre Hilfe wird sehr wertvoll sein.

Vielen Dank!!!

2
Können Sie uns den Dump zur Analyse vorlegen? Sie werden an keiner Stelle die Ausnahme analysieren, da es sich hierbei um einen manuell erstellten Speicherauszug handelt. Die Ausnahme hat nichts damit zu tun, woran der Prozess hängt. Wenn es abstürzte, gäbe es keinen zu analysierenden Prozess - es stürzte ab. fwiw - Ein besseres Werkzeug zum Analysieren von Hängen ist Etw (aber es ist etwas gewöhnungsbedürftig - nicht meine Tasse Tee). Lieven Keersmaekers vor 6 Jahren 0
Vielen Dank Lieven, Wow, es ist eine 1 GB-Datei, die auf 300 MB komprimiert ist. Wird die Ausgabe von "! Analysis -v" ausreichen? dushkin vor 6 Jahren 0
Es würde nicht schaden. Sie können auch `! Analysis -v -hang` und die automatisierte Dump-Analyse [debugdiag] (https://www.microsoft.com/en-us/download/details.aspx?id=49924] versuchen. Lieven Keersmaekers vor 6 Jahren 0
https://drive.google.com/open?id=1jSXwXC-tCAD73AMkGVoxA4vqjWtTa5RE dushkin vor 6 Jahren 0
Ich kann dort "BusyHang" sehen. Ist das ein Beweis des Aufhängens? dushkin vor 6 Jahren 0
Es ist der Beweis, dass mindestens ein Thread in einer Schleife stecken bleibt. Wenn es sich um Ihren Haupt-Thread handelt, wird die gesamte Anwendung [eingefroren] angezeigt (https://blogs.msdn.microsoft.com/marklon/2005/08/12/hanged-if-you-do-hanged-if-you-dont/ ). (Ich kann den Anhang nicht öffnen, das muss warten, bis ich nach Hause komme) Lieven Keersmaekers vor 6 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/70105/discussion-between-dushkin-and-lieven-keersmaekers). dushkin vor 6 Jahren 0
Sie können Powerpoint-Abstürze nicht debuggen. Microsoft bietet keine Debug-Symbole (PDBs) für Office an. Sie erhalten dieses wow64-Rauschen, weil 64-Bit-Taskmgr verwendet wurde, um einen Dump für 32-Bit-Office zu generieren magicandre1981 vor 6 Jahren 0
@ magicandre1981 Danke Andre! Kann ich also Hängen erkennen? Ist "BusyHang" eine Hang-Situation? dushkin vor 6 Jahren 0
Sie können es nicht wirklich ohne die Debug-Dateien debuggen. magicandre1981 vor 6 Jahren 0
@ magicandre1981 - Es gibt keine andere Möglichkeit, als einen Dump mit der richtigen Bitness zu erfassen, um mit dem aktuellen Dump irgendwo hin zu kommen? Lieven Keersmaekers vor 6 Jahren 0
@LievenKeersmaekers vielleicht hilft der Befehl [! Locks] (https://docs.microsoft.com/de-de/windows-hardware/drivers/debugger/debugging-a-deadlock), möglicherweise werden jedoch auch PDBs benötigt magicandre1981 vor 6 Jahren 0

1 Antwort auf die Frage

0
Stef

Führen Sie zuerst CMD aus und dann -
SC für den Dienststeuerungsbefehl
SYSTEMINFO - Listet die Systemkonfiguration auf

Sehen Sie, was in der Ausgabe ist und was für Ihren Absturz ist

Vielen Dank, Stef. Meinen Sie Windows Cmd? Da der Speicherauszug nicht auf einem System erstellt wurde, auf das ich Zugriff habe ... dushkin vor 6 Jahren 0
Ja, ich bitte die Eingabeaufforderung - Start-Schaltfläche - Ausführen - "CMD" Stef vor 6 Jahren 0
Sie haben also ein anderes Problem - geben Sie dies Ihrem Systemadministrator mit, wenn Sie keinen Zugriff haben - http://www.osronline.com/page.cfm?name=analyze Stef vor 6 Jahren 0
Ich habe keinen Sysadmin, mit dem ich arbeiten kann. Es ist eine Aufgabe, die ich als Übung erhalten habe ... :( dushkin vor 6 Jahren 0
Ок, dann probieren Sie es selbst aus, aber denken Sie daran, eine Dump-Datei zu analysieren ist keine leichte Aufgabe. Möglicherweise benötigen Sie ein Werkzeug, um etwas für Sie zu erledigen - suchen Sie im Web nach "Werkzeug zum Analysieren der Datei". Stef vor 6 Jahren 0
Wenn Sie mich entschuldigen, muss ich wirklich rauchen! Stef vor 6 Jahren 1
Vielen Dank für Ihre Tipps. Ich habe bereits eine OSR-Site ausprobiert, aber leider ist meine Dump-Dateigröße 1 GB ... Dies ist, was ich bekommen habe, und OSR unterstützt diese Größe nicht :( dushkin vor 6 Jahren 0
Suchen Sie dann nach einem verdammten Werkzeug von God F ^ & * ng, laden Sie es herunter und installieren Sie es, damit Sie es nicht in Zeile 1 verwenden müssen Stef vor 6 Jahren 0
Ich hatte gehofft, Windbg ist der ... dushkin vor 6 Jahren 0
Als ich rot bin, ist es Mist Stef vor 6 Jahren 0