예제 #1
0
 def _each(enum):
     bmask = -1&mask(enum)
     res = idaapi.get_first_enum_member(enum, bmask)
     yield res
     while res != idaapi.get_last_enum_member(enum, bmask):
         res = idaapi.get_next_enum_member(enum, res, bmask)
         yield res
     return
예제 #2
0
 def __iterate__(cls, eid):
     bmask = -1 & mask(eid)
     res = idaapi.get_first_enum_member(eid, bmask)
     if res == idaapi.BADADDR: return
     yield res
     while res != idaapi.get_last_enum_member(eid, bmask):
         res = idaapi.get_next_enum_member(eid, res, bmask)
         yield res
     return
예제 #3
0
    def __iterate__(cls, eid):
        '''Iterate through all the members of the enumeration identified by `eid`.'''
        bmask = idaapi.BADADDR & mask(eid)

        res = idaapi.get_first_enum_member(eid, bmask)
        if res == idaapi.BADADDR: return

        yield res

        while res != idaapi.get_last_enum_member(eid, bmask):
            res = idaapi.get_next_enum_member(eid, res, bmask)
            yield res
        return
예제 #4
0
    def __iterate__(cls, eid):
        '''Iterate through all the members of the enumeration identified by `eid`.'''
        bmask = idaapi.BADADDR & mask(eid)

        res = idaapi.get_first_enum_member(eid, bmask)
        if res == idaapi.BADADDR: return

        yield res

        while res != idaapi.get_last_enum_member(eid, bmask):
            res = idaapi.get_next_enum_member(eid, res, bmask)
            yield res
        return