示例#1
0
def make_array(ea, size):
    if ea != idc.BADADDR and ea != 0:
        flags = idc.GetFlags(ea)
        if not idc.isByte(flags) or idc.ItemSize(ea) != 1:
            idc.MakeUnknown(ea, 1, idc.DOUNK_SIMPLE)
            idc.MakeByte(ea)
        idc.MakeArray(ea, size)
示例#2
0
 def create_table(self):
     screen_ea = idaapi.get_screen_ea()
     print("Creating table at: ", hex(screen_ea))
     ida_bytes.del_items(screen_ea, 0, 4*6)
     ret = ida_bytes.create_data(screen_ea, ida_bytes.FF_DWORD, 4, idaapi.BADNODE)
     print("got return: ", ret)
     idc.MakeArray(screen_ea, 6)
示例#3
0
def make_array(ea, size):
    if ea != idc.BADADDR and ea != 0:
        flags = idc.get_full_flags(ea)
        if not idc.isByte(flags) or idc.get_item_size(ea) != 1:
            idc.del_items(ea, idc.DOUNK_SIMPLE, 1)
            idc.MakeByte(ea)
        idc.MakeArray(ea, size)
示例#4
0
 def make_arr(self, addr, arr_size, struc_size, type):
     res = idc.MakeArray(addr, arr_size)
     if res == False:
         idc.MakeUnknown(addr, arr_size * struc_size, idc.DOUNK_SIMPLE)
         idc.SetType(addr, type)
         idc.MakeArray(addr, arr_size)