def dispatch(): if "original1" not in _ver_storage or "original2" not in _ver_storage: raise Exception("original code not found") write_bytes(addressof(_code.mark1), bytes(_ver_storage["original1"])) write_bytes(addressof(_code.mark2), bytes(_ver_storage["original2"])) return "dispatch success"
def patch(): if _code.mark1[:] != [0x90, 0x90]: _ver_storage["original1"] = _code.mark1[:] if _code.mark2[:] != [0x90, 0x90]: _ver_storage["original2"] = _code.mark2[:] _storage.save() write_bytes(addressof(_code.mark1), b'\x90' * 2) write_bytes(addressof(_code.mark2), b'\x90' * 2) return "patch success"
def dispatch(self): write_bytes(self.addr1, self.originals[0]), write_bytes(self.addr1 + 0x15, self.originals[1]), write_bytes(self.addr2, self.originals[2]), write_bytes(self.addr2 + 0xA, self.originals[3]), return "dispatch success"
def patch(self): write_bytes(self.addr1, nop), write_bytes(self.addr1 + 0x15, nop), write_bytes(self.addr2, nop), write_bytes(self.addr2 + 0xA, nop), return "patch success"