Ejemplo n.º 1
0
def _delete_deobf_drefs():
  for b in blocks:
    for i in range(b[1]):
      addr = b[0] + (i*8)
      derefs = get_drefs(addr)
      for d in derefs:
        idaapi.del_dref(d, addr)
Ejemplo n.º 2
0
 def clear_struct_xrefs(self):
     if not self.node.create(NETNODE_NAME):
         xrefs = self.load()
         for (ea, struct_id, member_id) in xrefs.keys():
             if member_id is None:
                 idaapi.del_dref(ea, struct_id)
             else:
                 idaapi.del_dref(ea, member_id)
         self.xrefs = {}
         self.save()
         log.debug("Cleared %d xrefs", len(xrefs))
Ejemplo n.º 3
0
def remove_all_refs(ea):
    """Remove all references to something."""
    assert False
    dref_eas = list(drefs_from(ea))
    cref_eas = list(crefs_from(ea))

    for ref_ea in dref_eas:
        idaapi.del_dref(ea, ref_ea)

    for ref_ea in cref_eas:
        idaapi.del_cref(ea, ref_ea, False)
        idaapi.del_cref(ea, ref_ea, True)
Ejemplo n.º 4
0
def remove_all_refs(ea):
  """Remove all references to something."""
  assert False
  dref_eas = list(drefs_from(ea))
  cref_eas = list(crefs_from(ea))

  for ref_ea in dref_eas:
    idaapi.del_dref(ea, ref_ea)

  for ref_ea in cref_eas:
    idaapi.del_cref(ea, ref_ea, False)
    idaapi.del_cref(ea, ref_ea, True)
Ejemplo n.º 5
0
def del_ref(frm, to):
    idaapi.del_dref(frm, to)
    idaapi.del_dref(to, frm)
    idaapi.del_cref(frm, to, 0)
    idaapi.del_cref(to, frm, 0)
Ejemplo n.º 6
0
 def del_data(ea, target=None):
     if target is None:
         [idaapi.del_dref(ea, target) for target in xref.data_down(ea)]
         return False if len(xref.data_down(ea)) > 0 else True
     idaapi.del_dref(ea, target)
     return target not in xref.data_down(ea)
Ejemplo n.º 7
0
 def del_data(ea, target=None):
     if target is None:
         [ idaapi.del_dref(ea, target) for target in xref.data_down(ea) ]
         return False if len(xref.data_down(ea)) > 0 else True
     idaapi.del_dref(ea, target)
     return target not in xref.data_down(ea)