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
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
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)
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)
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
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
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
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)