ida_entry ========= .. py:module:: ida_entry .. autoapi-nested-parse:: Functions that deal with entry points. Exported functions are considered as entry points as well. IDA maintains list of entry points to the program. Each entry point: * has an address * has a name * may have an ordinal number Attributes ---------- .. autoapisummary:: ida_entry.SWIG_PYTHON_LEGACY_BOOL ida_entry.AEF_UTF8 ida_entry.AEF_IDBENC ida_entry.AEF_NODUMMY ida_entry.AEF_WEAK ida_entry.AEF_NOFORCE Functions --------- .. autoapisummary:: ida_entry.get_entry_qty ida_entry.add_entry ida_entry.get_entry_ordinal ida_entry.get_entry ida_entry.get_entry_name ida_entry.rename_entry ida_entry.set_entry_forwarder ida_entry.get_entry_forwarder Module Contents --------------- .. py:data:: SWIG_PYTHON_LEGACY_BOOL .. py:function:: get_entry_qty() -> size_t Get number of entry points. .. py:data:: AEF_UTF8 the name is given in UTF-8 (default) .. py:data:: AEF_IDBENC the name is given in the IDB encoding; non-ASCII bytes will be decoded accordingly. Specifying AEF_IDBENC also implies AEF_NODUMMY .. py:data:: AEF_NODUMMY automatically prepend the name with '_' if it begins with a dummy suffix. See also AEF_IDBENC .. py:data:: AEF_WEAK make name weak .. py:data:: AEF_NOFORCE if the specified address already has a name, the new name will be appended to the regular comment, except for the case when the old name is weak and the new one is not. .. py:function:: add_entry(ord: int, ea: ida_idaapi.ea_t, name: str, makecode: bool, flags: int = 0) -> bool Add an entry point to the list of entry points. :param ord: ordinal number if ordinal number is equal to 'ea' then ordinal is not used :param ea: linear address :param name: name of entry point. If the specified location already has a name, the old name will be appended to the regular comment. :param makecode: should the kernel convert bytes at the entry point to instruction(s) :param flags: See AEF_* :returns: success (currently always true) .. py:function:: get_entry_ordinal(idx: size_t) -> int Get ordinal number of an entry point. :param idx: internal number of entry point. Should be in the range 0..get_entry_qty()-1 :returns: ordinal number or 0. .. py:function:: get_entry(ord: int) -> ida_idaapi.ea_t Get entry point address by its ordinal :param ord: ordinal number of entry point :returns: address or BADADDR .. py:function:: get_entry_name(ord: int) -> str Get name of the entry point by its ordinal. :param ord: ordinal number of entry point :returns: size of entry name or -1 .. py:function:: rename_entry(ord: int, name: str, flags: int = 0) -> bool Rename entry point. :param ord: ordinal number of the entry point :param name: name of entry point. If the specified location already has a name, the old name will be appended to a repeatable comment. :param flags: See AEF_* :returns: success .. py:function:: set_entry_forwarder(ord: int, name: str, flags: int = 0) -> bool Set forwarder name for ordinal. :param ord: ordinal number of the entry point :param name: forwarder name for entry point. :param flags: See AEF_* :returns: success .. py:function:: get_entry_forwarder(ord: int) -> str Get forwarder name for the entry point by its ordinal. :param ord: ordinal number of entry point :returns: size of entry forwarder name or -1