So, my actual
question is... Brendan's code used get_member_offset(). I can see from the SVN that
this was removed back in 2010, so what's the method of doing the same thing in
today's code?
The bits are loosely there in my head - just trying to put them together in my head!
It's hard, but I'm loving it =)
Adam
On Sunday, 9 March 2014, 21:46, Michael Ligh <michael.ligh(a)mnin.org> wrote:
Hey Adam,
0xfea0dc70 is a virtual address in this case, its the location of the tagWND structure in
kernel memory. Indeed, you can pull the text out of edit controls and various other window
elements that we don’t currently analyze. Brendan Dolan-Gavitt’s initial set of GDI
utilities [1] contained definitions for _TOOLBAR_WINDOW32, _TEXT_DESCRIPTOR, _EDIT_BOX,
_STATUS_BAR, and a few of the critical structures for MSHTML documents. However, they’re
for XP SP2/SP3 and may have changed since then, so its definitely possible, but will just
require a bit of research.
Also, if you have access to a retail version of Visual Studio (not the free express
version), then you should have Spy++ [2]. This lets you select any window on your desktop
using your cursor and it will display the details like handle value, address in kernel
memory, coordinates, and types of messages it sends/receives.
Hope this helps!
Michael
[1].
http://www.cc.gatech.edu/~brendan/volatility/dl/gdiutils-0.3.zip
[2].
http://msdn.microsoft.com/en-us/library/dd460756.aspx
--------------------------------------------------
Michael Ligh (@iMHLv2)
GPG:
http://mnin.org/gpg.pubkey.txt
Blog:
http://volatility-labs.blogspot.com
Training:
http://memoryanalysis.net
On Mar 8, 2014, at 7:14 PM, Bridgey <adam.bridge(a)yahoo.com> wrote:
Hi all,
In my continuing exploration of Windows memory and Volatility I'm current looking at
Windows, literally, the GUI.
Looking at a notepad process, wintree shows me:
.Untitled - Notepad (visible) notepad.exe:100 Notepad
..#20128 notepad.exe:100 6.0.7601.17514!msctls_statusbar32
..#20126 (visible) notepad.exe:100 6.0.7601.17514!Edit
.Default IME notepad.exe:100 IME
.MSCTFIME UI notepad.exe:100 MSCTFIME UI
So, I'm assuming #20128 is the status bar at the bottom of the Notepad window, and
#20126 is the edit control, that is, the textarea into which the user types.
This is the corresponding output from the windows plugin for the edit control:
Window Handle: #20126 at 0xfea0dc70, Name:
ClassAtom: 0xc119, Class: 6.0.7601.17514!Edit
SuperClassAtom: 0xc018, SuperClass: Edit
pti: 0xfe2a4008, Tid: 1692 at 0x8550d368
ppi: 0xffa95550, Process: notepad.exe, Pid: 100
Visible: Yes
Left: 10, Top: 52, Bottom: 485, Right: 701
Style Flags: WS_VSCROLL,WS_CHILD,WS_OVERLAPPED,WS_VISIBLE,WS_HSCROLL
ExStyle Flags: WS_EX_CLIENTEDGE,WS_EX_LTRREADING,WS_EX_RIGHTSCROLLBAR,WS_EX_LEFT
Window procedure: 0x744399d0
Question 1:
Window Handle: #20126 at 0xfea0dc70 - what is the offset? Physical, virtual? Of what? The
Edit control object?
(I'm guessing: physical, yes, of the edit control object.)
Question 2:
I can see that it's Window-esque properties (X, Y, width, height, style flags, et al)
are all clearly present., but where can I find information specific to this control (in
this instance, an 'Edit'). For example, maybe the text it contains?
(I'm guessing, take a look at 0xfea0dc70 and there'll be some kind of structure
to parse.)
As always, many thanks. (This is all going towards a plugin that I'm hoping to
write!)
Also as always, if I could've found this information on my own, please let me know
where to look.
I've read the Command Reference and the associated MoVP posts.
Adam
_______________________________________________
Vol-users mailing list
Vol-users(a)volatilityfoundation.org
http://lists.volatilityfoundation.org/mailman/listinfo/vol-users
_______________________________________________
Vol-users mailing list
Vol-users(a)volatilityfoundation.org
http://lists.volatilityfoundation.org/mailman/listinfo/vol-users
Fingerprint: 2E87 17A1 EC10 1E3E 11D3 64C2 196B 2AB5 27A4 AC92
<0x27A4AC92.asc>_______________________________________________
Vol-users mailing list
Vol-users(a)volatilityfoundation.org