(self, cfg, irsb, irsb_addr, stmt_idx, data_addr, max_size)
return 'cgc-extended-application', max_size
Identifies the extended application (a PDF file) associated with the CGC binary.

        :param angr.analyses.CFG cfg: The control flow graph.
        :param pyvex.IRSB irsb: The IRSB object.
        :param int irsb_addr: Address of the block.
        :param int stmt_idx: Statement ID.
        :param int data_addr: Address of the data in memory.
        :param int max_size: Maximum size possible.
        :return: A 2-tuple of data type and size.
        :rtype: tuple
Identifies the extended application (a PDF file) associated with the CGC binary.
Identifies the extended application ( a PDF file ) associated with the CGC binary .
def _cgc_extended_application_handler(self, cfg, irsb, irsb_addr, stmt_idx, data_addr, max_size):  # pylint:disable=unused-argument
        """
        Identifies the extended application (a PDF file) associated with the CGC binary.

        :param angr.analyses.CFG cfg: The control flow graph.
        :param pyvex.IRSB irsb: The IRSB object.
        :param int irsb_addr: Address of the block.
        :param int stmt_idx: Statement ID.
        :param int data_addr: Address of the data in memory.
        :param int max_size: Maximum size possible.
        :return: A 2-tuple of data type and size.
        :rtype: tuple
        """

        if max_size < 100:
            return None, None

        data = self.fast_memory_load(data_addr, 20, bytes)

        if data is not None and data[:4] != b'The ':
            return None, None

        # read everything in
        data = self.fast_memory_load(data_addr, max_size, str)

        m = re.match(r"The ([\d]+) byte CGC Extended Application follows.", data)
        if not m:
            return None, None
        pdf_size = int(m.group(1))

        if '%PDF' not in data:
            return None, None
        if '%%EOF' not in data:
            return None, None

        pdf_data = data[data.index('%PDF') : data.index('%%EOF') + 6]

        if len(pdf_data) != pdf_size:
            return None, None

        return 'cgc-extended-application', max_size
def _cgc_extended_application_handler ( self , cfg , irsb , irsb_addr , stmt_idx , data_addr , max_size ) : # pylint:disable=unused-argument if max_size < 100 : return None , None data = self . fast_memory_load ( data_addr , 20 , bytes ) if data is not None and data [ : 4 ] != b'The ' : return None , None # read everything in data = self . fast_memory_load ( data_addr , max_size , str ) m = re . match ( r"The ([\d]+) byte CGC Extended Application follows." , data ) if not m : return None , None pdf_size = int ( m . group ( 1 ) ) if '%PDF' not in data : return None , None if '%%EOF' not in data : return None , None pdf_data = data [ data . index ( '%PDF' ) : data . index ( '%%EOF' ) + 6 ] if len ( pdf_data ) != pdf_size : return None , None return 'cgc-extended-application' , max_size