From b79541dfce84e52101c7af31d318e6cb56ff2a66 Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Wed, 25 May 2011 05:46:02 +0000 Subject: [PATCH] ready for release 0.0.18 git-svn-id: https://pykd.svn.codeplex.com/svn@65847 9b283d60-5439-405e-af05-b73fd8c4d996 --- changelog | 13 +++++++++++++ pykd/pykd.rc | 8 ++++---- snippets/gdt.py | 31 ++++++++++++++++++------------- 3 files changed, 35 insertions(+), 17 deletions(-) diff --git a/changelog b/changelog index 6502312..f843e7b 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,16 @@ +version 0.0.18 25/05/2011 + +[+] added : rdmsr routine ( Return MSR value ) +[+] added : typeException, memoryException classes and their translation into python +[+] added : typeInfo class +[+] added : loadWChars routine +[+] added : callback for load/unload modules + +[~] removed : typeClass class + +[!] fixed : issue 8669 ( typedVar() creates an object for a non-existent structure type ) +[!] fixed : issue 8655 ( Unnamed structure/unioin not added to fields of typedVarClass ) + version 0.0.17 15/04/2011 [+] added: isDumpAnalyzing function. Check if it is a dump analyzing or live debuggiv [+] added : loadChars routine. Load raw buffer. diff --git a/pykd/pykd.rc b/pykd/pykd.rc index 28e51fb..740f894 100644 --- a/pykd/pykd.rc +++ b/pykd/pykd.rc @@ -53,8 +53,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,0,17,0 - PRODUCTVERSION 0,0,17,0 + FILEVERSION 0,0,18,0 + PRODUCTVERSION 0,0,18,0 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -70,11 +70,11 @@ BEGIN BLOCK "041904b0" BEGIN VALUE "FileDescription", "pykd - python extension for windbg" - VALUE "FileVersion", "0, 0, 17, 0" + VALUE "FileVersion", "0, 0, 18, 0" VALUE "InternalName", "pykd" VALUE "OriginalFilename", "pykd.dll" VALUE "ProductName", "pykd - python extension for windbg" - VALUE "ProductVersion", "0, 0, 17, 0" + VALUE "ProductVersion", "0, 0, 18, 0" END END BLOCK "VarFileInfo" diff --git a/snippets/gdt.py b/snippets/gdt.py index 1ca254d..3a0ab50 100644 --- a/snippets/gdt.py +++ b/snippets/gdt.py @@ -30,6 +30,14 @@ def printGdtEntry( addr ): dprint( "attr: %x ( " % attr + "".join( [ ( attr & ( 1 << ( 11 - i ) ) ) and "1" or "0" for i in range(0,12) ] ) + " )" ) dprint( " base: %x" % base ) dprintln( " limit: %x" % limit ) + + +def printGdt( gdtr ): + for s in ( "cs", "es", "ds", "ss", "gs", "fs", "tr" ): + dprintln( s + " (%x):" % reg(s) ) + printGdtEntry( gdtr + ( reg( s ) & 0xFFF8 ) ) + dprintln("") + def printGdtHelp(): @@ -42,23 +50,20 @@ def printGdtHelp(): if __name__ == "__main__": - if not isWindbgExt(): - print "script is launch out of windbg" - quit( 0 ) + if not isWindbgExt(): + print "script is launch out of windbg" + quit( 0 ) - gdtr = reg("gdtr") + gdtr = reg("gdtr") - if len( sys.argv)==1: - for s in ( "cs", "es", "ds", "ss", "gs", "fs", "tr" ): - dprintln( s + " (%x):" % reg(s) ) - printGdtEntry( gdtr + ( reg( s ) & 0xFFF8 ) ) - dprintln("") + if len( sys.argv)==1: + printGdt( gdtr ) - elif sys.argv[1] == "help": + elif sys.argv[1] == "help": printGdtHelp() - elif len( sys.argv )==2: + elif len( sys.argv )==2: printGdtEntry( gdtr + ( int( sys.argv[1], 16 ) & 0xFFF8 ) ) - else: - printGdtEntry( int( sys.argv[1], 16 ) + ( int( sys.argv[2], 16 ) & 0xFFF8 ) ) + else: + printGdtEntry( int( sys.argv[1], 16 ) + ( int( sys.argv[2], 16 ) & 0xFFF8 ) )