-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
I want to access request query params during profiling to implement trigger functionality similar to the xDebug one. I'm trying to access sapi_request_info.query_string to do this. I tried to create new "intptr_t" and "char" types and combine them with Pointer::indexedAt(), but as a result I get some random characters
Example
$zend_type_reader = $this->getTypeReader($php_version);
[$offset, $size] = $zend_type_reader->getOffsetAndSizeOfMember(
'sapi_request_info',
'query_string'
);
$pointer = new Pointer(
RawPointer::class, // intptr_t
$sg_address + $offset,
$size // 8
);
$charPtr = $dereferencer->deref($pointer)->value;
$pointer = new Pointer(
RawPointer::class,
$sg_address + $offset,
$size // 8
);
$charPtr = $dereferencer->deref($pointer)->value;
$pointer = new Pointer(
Char::class, // char
(int) $charPtr,
$size // 4
);
$firstChar = $dereferencer->deref($pointer)->value; // some random character
Is it possible to do something like this?
Metadata
Metadata
Assignees
Labels
No labels