Explorar o código

Use proper access of parent vtable

nosoop hai 10 meses
pai
achega
53713681c7
Modificáronse 1 ficheiros con 2 adicións e 6 borrados
  1. 2 6
      src/smgdc/angr/vtable_disamb.py

+ 2 - 6
src/smgdc/angr/vtable_disamb.py

@@ -346,12 +346,8 @@ class VtableDisambiguator(angr.Analysis):
                     # HACK: some virtual destructors got optimized out and are represented by nullptrs
                     for parent_vt in self.superclass_map[vt]:
                         # HACK: in that case we try to match functions from the parent
-                        vptr = (
-                            self.loader.fast_memory_load_pointer(
-                                parent_vt.rebased_addr + (0x4 * n) + 0x8
-                            )
-                            or 0
-                        )
+                        pvptr_first, *_ = self.get_vfptrs_from_table(parent_vt)
+                        vptr = pvptr_first[n]
                         if vptr:
                             break