- var_dump: documentation ( source)
- array_slice: documentation ( source)
- unserialize: documentation ( source)
- serialize: documentation ( source)
- implode: documentation ( source)
- explode: documentation ( source)
- sprintf: documentation ( source)
<?php
class CantUnserializeThis extends ArrayObject
{
}
$className = 'CantUnserializeThis';
$serialized = serialize(new ArrayObject());
$chunks = explode(':', $serialized);
$serializedValuesChunks = implode(':', array_slice($chunks, 3));
var_dump(unserialize(sprintf(
'C:%d:"%s":%s',
strlen($className),
$className,
$serializedValuesChunks
)));
var_dump(unserialize(sprintf(
'O:%d:"%s":%s',
strlen($className),
$className,
$serializedValuesChunks
)));