(self, data, peekSize = 16, peekStep = 1)
return result
Tries to guess which values in the given data are valid pointers,
        and reads some data from them.

        @see: L{peek}

        @type  data: str
        @param data: Binary data to find pointers in.

        @type  peekSize: int
        @param peekSize: Number of bytes to read from each pointer found.

        @type  peekStep: int
        @param peekStep: Expected data alignment.
            Tipically you specify 1 when data alignment is unknown,
            or 4 when you expect data to be DWORD aligned.
            Any other value may be specified.

        @rtype:  dict( str S{->} str )
        @return: Dictionary mapping stack offsets to the data they point to.
Tries to guess which values in the given data are valid pointers,
        and reads some data from them.
Tries to guess which values in the given data are valid pointers and reads some data from them .
def peek_pointers_in_data(self, data, peekSize = 16, peekStep = 1):
        """
        Tries to guess which values in the given data are valid pointers,
        and reads some data from them.

        @see: L{peek}

        @type  data: str
        @param data: Binary data to find pointers in.

        @type  peekSize: int
        @param peekSize: Number of bytes to read from each pointer found.

        @type  peekStep: int
        @param peekStep: Expected data alignment.
            Tipically you specify 1 when data alignment is unknown,
            or 4 when you expect data to be DWORD aligned.
            Any other value may be specified.

        @rtype:  dict( str S{->} str )
        @return: Dictionary mapping stack offsets to the data they point to.
        """
        result = dict()
        ptrSize = win32.sizeof(win32.LPVOID)
        if ptrSize == 4:
            ptrFmt = '<L'
        else:
            ptrFmt = '<Q'
        if len(data) > 0:
            for i in compat.xrange(0, len(data), peekStep):
                packed          = data[i:i+ptrSize]
                if len(packed) == ptrSize:
                    address     = struct.unpack(ptrFmt, packed)[0]
##                    if not address & (~0xFFFF): continue
                    peek_data   = self.peek(address, peekSize)
                    if peek_data:
                        result[i] = peek_data
        return result
def peek_pointers_in_data ( self , data , peekSize = 16 , peekStep = 1 ) : result = dict ( ) ptrSize = win32 . sizeof ( win32 . LPVOID ) if ptrSize == 4 : ptrFmt = '<L' else : ptrFmt = '<Q' if len ( data ) > 0 : for i in compat . xrange ( 0 , len ( data ) , peekStep ) : packed = data [ i : i + ptrSize ] if len ( packed ) == ptrSize : address = struct . unpack ( ptrFmt , packed ) [ 0 ] ##                    if not address & (~0xFFFF): continue peek_data = self . peek ( address , peekSize ) if peek_data : result [ i ] = peek_data return result