Exemple #1
0
 def enum_member_created(self, id, cid):
     ename = ida_enum.get_enum_name(id)
     name = ida_enum.get_enum_member_name(cid)
     value = ida_enum.get_enum_member_value(cid)
     bmask = ida_enum.get_enum_member_bmask(cid)
     self._send_event(EnumMemberCreatedEvent(ename, name, value, bmask))
     return 0
Exemple #2
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
Exemple #3
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)
Exemple #4
0
    def _bmask(self):
        """
            Property for getting the bitmask of this enum member. This is used
            only for interfacting with native IDAPython API. Do not know what
            the bitmask is actual used for in IDA.

            :return: An integer representing the bitmask for this member.
        """
        return ida_enum.get_enum_member_bmask(self._mid)
Exemple #5
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
Exemple #6
0
 def enum_member_created(self, id, cid):
     ename = ida_enum.get_enum_name(id)
     name = ida_enum.get_enum_member_name(cid)
     value = ida_enum.get_enum_member_value(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, name, value, bmask))
     return 0
Exemple #7
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
Exemple #8
0
 def enum_member_created(self, id, cid):
     print("enum member created")
     return
     ename = ida_enum.get_enum_name(id)
     name = ida_enum.get_enum_member_name(cid)
     value = ida_enum.get_enum_member_value(cid)
     bmask = ida_enum.get_enum_member_bmask(cid)
     self._send_packet(evt.EnumMemberCreatedEvent(ename, name, value,
                                                  bmask))
     return 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)