Ich habe versucht, ein PHP-Modul zu schreiben, das verwendet wird, um zend interne Funktion zu erkennen, die in einer PHP-CGI-Datei aufgerufen wird. Ich mochte den unten gezeigten Code, ich möchte seinen Namen bekommen - 'printf' in meinem Code.Wie bekomme ich einen Funktionsnamen, wenn ich es in eine PHP-Erweiterung sendete
<?php printf("Hello SO!");?>
Jetzt hakte ich diese Funktion mit einer Funktion namens ‚zend_set_user_opcode_handler'.However, ich bin nicht in der Lage, die Funktion Namen zu erhalten, die süchtig wurde. (Es ist‚printf‘in diesem Beispiel.) Also, was sollte Ich mache, wenn ich das 'printf' in der Funktion hook_handler() erreichen will?
Codes hier.
int shellhook_handler(ZEND_OPCODE_HANDLER_ARGS){
/* What should I do to catch function name here*/
return ZEND_USER_OPCODE_DISPATCH;
}
PHP_MINIT_FUNCTION(shellhook)
{
REGISTER_INI_ENTRIES();
zend_set_user_opcode_handler(ZEND_DO_FCALL, hook_handler);
return SUCCESS;
}