def __process_exports(self): exports = list() for i in range(0, ida_entry.get_entry_qty()): ordinal = ida_entry.get_entry_ordinal(i) ea = ida_entry.get_entry(ordinal) flags = ida_bytes.get_full_flags(ea) type = 'unknown' if ida_bytes.is_func(flags): type = 'function' elif ida_bytes.is_data(flags): type = 'data' export = { 'ordinal': ordinal, 'rva': ea - self._base, 'name': ida_entry.get_entry_name(ordinal), 'type': type } exports.append(export) return exports
def iter_exports(): """ Iterate API exports. :yield: (ea, name) """ for i in range(ida_entry.get_entry_qty()): ordinal = ida_entry.get_entry_ordinal(i) ea = ida_entry.get_entry(ordinal) name = ida_entry.get_entry_name(ordinal) yield ea, name
def Entries(): """ Returns a list of entry points @return: List of tuples (index, ordinal, ea, name) """ n = ida_entry.get_entry_qty() for i in xrange(0, n): ordinal = ida_entry.get_entry_ordinal(i) ea = ida_entry.get_entry(ordinal) name = ida_entry.get_entry_name(ordinal) yield (i, ordinal, ea, name)