Giter Site home page Giter Site logo

gdiobjdump's Introduction

GDIObjDump:

What is this?:

GDIObjDump is a debugger extension (WinDbg/Kd) to aid in the process 
of exploiting SessionPool overflows. It can extract information for 
all GDI Objects listed in either PEB.GdiSharedHandleTable or WIN32K!gpentHmgr.

GDIObjDump can output information in either text (console/logfile) 
or binary format (GDIObjView).

GDIObjView:

GDIObjView is a stand alone application that displays binary output 
from GDIObjDump in a graphical way. Instead of having to dig through 
thousands of lines of text, it displays the gdi table visually as a 
grid of cells, each cell representing a GDI object.

It also allows the user to filter and/or sort the grid by object address, 
type, handle or pid.

Installation:

To "install", copy gdiobjdump.dll to the winext folder for x64 WinDbg/Kd. 
The path to the winext folder usually looks something like 
"<Program Files>Debugging Tools for Windows (x64)\winext"

After that, you can issue "!load gdiobjdump" to load the extension into 
WinDbg/Kd. 

NOTE: Only x64 Windbg/Kd is supported. Use the x64 debugger versions even 
for x86 targets.

Usage:

!gdiobjdump -[uk] -[ab][filename] -filter

-u dumps PEB.GdiSharedHandleTable (default)
-k dumps WIN32K!gpentHmgr
-a [filename] - text output
-b [filename] - binary output

Filter options (matches only):
    -h <hex> specific handle
    -p <hex> specific pid
    -t <hex> specific type

Output:

If neither -b or -a switches are used, default output is printed on to debugger console.
If -a switch is used, a filename is required and text output is written there.
If -b switch is used, a filename is required and binary output is written there.

Examples:

Parse PEB.GdiSharedHandleTable and output text to the debugger console.

!gdiobjdump -u

Parse WIN32K!gpentHmgr and write binary output to "c:\temp\out.gdidump"

!gdiobjdump -k -b c:\temp\out.gdidump                   

Parse PEB.GdiSharedHandleTable, output text to "c:\temp\out.log", log file will only include information about GDI objects matching Pid:0x644 and Type:0x0a (GDIObjType_LFONT_TYPE) and Handle:0x150a02dc

!gdiobjdump -a c:\temp\out.log -p 644 -t a -h 150a02dc

gdiobjdump's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.