Пример #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
Пример #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
Пример #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)
Пример #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)
Пример #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
Пример #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
Пример #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
Пример #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
Пример #9
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)