2017-07-22 1 views

Antwort

1

Ich dachte, es mit Netext möglich war, aber es ist nur in der Nähe SOSEx‘!strings, so braucht es etwas mehr Scripting

0:000> .load F:\...\netext\2.0.1.5580\x86\NetExt.dll 
NetExt version 2.0.1.5580 Aug 3 2015 
License and usage can be seen here: !whelp license 
Check Latest version: !wupdate 
For help, type !whelp (or in WinDBG run: '.browse !whelp') 
Questions and Feedback: http://netext.codeplex.com/discussions 
Copyright (c) 2014-2015 Rodney Viana (http://blogs.msdn.com/b/rodneyviana) 
Type: !windex -tree or ~*e!wstack to get started 

0:000> !windex 
Starting indexing at 20:55:54 
Indexing finished at 20:55:54 
30,707 Bytes in 343 Objects 
Index took 00:00:00 

0:000> !wfrom /nofield /type System.String where (m_stringLength>50) select m_stringLength 
0n100 
0n137 
0n130 
0n100 
... 

Um den 0n Präfix loszuwerden, verwenden wir $substr(m_stringLength,2,100).

So erhalten wir einen Überblick über die Längen von Strings. Diese Liste einige Sortierung benötigt, so lassen Sie uns einen .shell und die sort /R Befehl DOS verwenden:

!! -ci "!wfrom /nospace /nofield /type System.String where (m_stringLength>50) select $substr(m_stringLength,2,100)" sort /R 

Aus dem Ergebnis wollen wir die Top-N Artikel erhalten eine Schleife und einige Elemente übersprungen werden. Ersetzen 0n2 durch die Anzahl der Artikel, die Sie wollen minus 1.

.foreach /pS 0n2 /ps 999999 (length {!! -ci "!wfrom /nospace /nofield /type System.String where (m_stringLength>50) select $substr(m_stringLength,2,100)" sort /R}) {.echo length} 

Jetzt, wo wir die Mindestlänge der Top-N-Strings kennen, können wir es auf den ursprünglichen !wfrom Befehl erneut anwenden.

Hey, war das nicht so einfach? Die Ausgabe in eine Textdatei ist manchmal eine ziemlich gute Lösung ...

+0

Oh Junge, ich habe am Ende Ausgabe in eine Textdatei den gesamten Inhalt von '! Dumpheap -mt 00007fff6c9c16b8', wo' 00007fff6c9c16b8' ist die MT von String . – mark

1

sosex hat ! Strings Befehl, der einen Schalter hat, wo wir min Länge angeben.

Sorry, ich bin nicht in der Nähe einer Maschine, wo ich Sex ausprobieren kann. aber es sollte wie z.B. ! strings -m 1000. Sie können den soshelp Befehl versuchen und dieses bekommen! Sosex.help Zeichenketten Dieses druckt alle Zeichenketten, die nur mehr als 1000 sind. Wie ich verwendete, versuchte und gebe große Werte wie 10000 und erhält große Zeichenketten.

Verwandte Themen