An alternative to ROP wherein instead of hijacking control flow, carefully overwrite program data to puppet it. Depends heavily on program