Ejemplo n.º 1
0
 def deleting_enum_member(self, id, cid):
     ename = ida_enum.get_enum_name(id)
     value = ida_enum.get_enum_member_value(cid)
     serial = ida_enum.get_enum_member_serial(cid)
     bmask = ida_enum.get_enum_member_bmask(cid)
     self._send_event(EnumMemberDeletedEvent(ename, value, serial, bmask))
     return 0
Ejemplo n.º 2
0
 def deleting_enum_member(self, id_of_struct, cid):
     if not shared.PAUSE_HOOK:
         log("Enum member deleted {0} {1}".format(id_of_struct, cid))
         name = ida_enum.get_enum_name(id_of_struct)
         value = ida_enum.get_enum_member_value(cid)
         serial = ida_enum.get_enum_member_serial(cid)
         bmask = ida_enum.get_enum_member_bmask(cid)
         pass_to_manager(DeleteEnumMemberEvent(name, value, serial, bmask))
     return ida_idp.IDB_Hooks.deleting_enum_member(self, id_of_struct, cid)
Ejemplo n.º 3
0
 def deleting_enum_member(self, id, cid):
     ename = ida_enum.get_enum_name(id)
     value = ida_enum.get_enum_member_value(cid)
     serial = ida_enum.get_enum_member_serial(cid)
     bmask = ida_enum.get_enum_member_bmask(cid)
     print(
         "Detected a new enum member created: 0x%x (%s), 0x%x (%s) = 0x%x, 0x%x"
         % (id, ename, cid, serial, value, bmask))
     return 0
Ejemplo n.º 4
0
 def deleting_enum_member(self, id, cid):
     print("enum member")
     return
     ename = ida_enum.get_enum_name(id)
     value = ida_enum.get_enum_member_value(cid)
     serial = ida_enum.get_enum_member_serial(cid)
     bmask = ida_enum.get_enum_member_bmask(cid)
     self._send_packet(
         evt.EnumMemberDeletedEvent(ename, value, serial, bmask))
     return 0
Ejemplo n.º 5
0
    def _serial(self):
        """
            Property which return the "serial" of this enum member. This is
            used only for interfacing with native IDAPython API.

            The serial is not a unique id for this enum, the serials for enum
            members always start at 0 and is incremented only when two enum
            members have the same value.

            :return: The serial integer for this enum member.
        """
        return ida_enum.get_enum_member_serial(self._mid)
Ejemplo n.º 6
0
 def implement(self):
     enum_name = ida_enum.get_enum_name(self._id)
     value = ida_enum.get_enum_member_value(self._member_id)
     serial = ida_enum.get_enum_member_serial(self._member_id)
     bmask = ida_enum.get_enum_member_bmask(self._member_id)
     ida_enum.del_enum_member(enum_name, value, serial, bmask)