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