PHP screw encrypted by PHP code, now is there a way to decrypt it?
Title, now need to know if this thing can be decrypted.
------Solution--------------------
Screw is relatively simple, the algorithm is open, if someone wants to crack it is not difficult
------Solution--------------------
Oh, learn, encryption is really not met!
------Solution--------------------
C + + code
As long as you have a Linux host, and then install a program, you can browse the source code. #ifdef have_config_h#include "config.h" #endif include "Php.h" #include "php_ini.h" #include "ext/standard/info.h" # Include "Php_vld.h" #include "srm_oparray.h" static zend_op_array* (*old_compile_file) (zend_file_handle* File_handle, int type TSRMLS_DC), static zend_op_array* vld_compile_file (zend_file_handle*, int tsrmls_dc), static void (*old_execute ) (Zend_op_array *op_array tsrmls_dc); static void Vld_execute (Zend_op_array *op_array tsrmls_dc); Function_entry vld_ Functions[] = {{null, NULL, null}};zend_module_entry vld_module_entry = {#if zend_module_api_no >= 20010901standard_ Module_header, #endif "VLD", Vld_functions,php_minit (VLD), Php_mshutdown (VLD), Php_rinit (VLD), Php_rshutdown (VLD), Php_minfo (VLD), #if zend_module_api_no >= 20010901 "0.8.0", #endifSTANDARD_MODULE_PROPERTIES}; #ifdef Compile_dl_ Vldzend_get_module (VLD) #endifZEND_BEGIN_MODULE_GLOBALS (VLD) int active;int skip_prepend;int Skip_append;int Execute ; Zend_end_module_globals (VLD) zend_declare_module_globals (VLd) #ifdef Zts#define Vld_g (v) tsrmg (vld_globals_id, zend_vld_globals *, v) #else # define VLD_G (v) (VLD_GLOBALS.V) # Endifphp_ini_begin () std_php_ini_entry ("Vld.active", "0", Php_ini_system, Onupdatebool, active, Zend_vld_globals, VLD _globals) std_php_ini_entry ("Vld.skip_prepend", "0", Php_ini_system, Onupdatebool, Skip_prepend, Zend_vld_globals, vld_globals) std_php_ini_entry ("Vld.skip_append", "0", Php_ini_system, Onupdatebool, Skip_append, Zend_vld_globals, vld_globals) std_php_ini_entry ("Vld.execute", "1", Php_ini_system, Onupdatebool, execute, zend_vld_globals, vld_ Globals) Php_ini_end () static void Vld_init_globals (Zend_vld_globals *vld_globals) {vld_globals->active = 0;vld_ Globals->skip_prepend = 0;vld_globals->skip_append = 0;vld_globals->execute = 1;} Php_minit_function (VLD) {zend_init_module_globals (VLD, Vld_init_globals, NULL); Register_ini_entries (); old_compile_file = Zend_compile_file;old_execute = Zend_execute;return SUCCESS;} Php_mshutdown_function (VLD) {unregister_ini_entries(); zend_compile_file = Old_compile_file;zend_execute = Old_execute;return SUCCESS;} Php_rinit_function (VLD) {if (Vld_g (active)) {Zend_compile_file = Vld_compile_file;if (! Vld_g (Execute)) {Zend_execute = Vld_execute;}} return SUCCESS;} Php_rshutdown_function (VLD) {zend_compile_file = Old_compile_file;zend_execute = Old_execute;return SUCCESS;} Php_minfo_function (VLD) {Php_info_print_table_start ();p Hp_info_print_table_header (2, "VLD support", "enabled");p hp _info_print_table_end ();} static int Vld_check_fe (Zend_op_array *fe, Zend_bool *have_fe tsrmls_dc) {if (Fe->type = = zend_user_function) {*have_f e = 1;} return 0;} static int Vld_dump_fe (Zend_op_array *fe tsrmls_dc) {if (Fe->type = = zend_user_function) {fprintf (stderr, "FUNCTION%s : ", Fe->function_name); Vld_dump_oparray (Fe); fprintf (stderr," End of function%s. ", fe->function_name);} return zend_hash_apply_keep;} #ifdef zend_engine_2static int vld_dump_cle (zend_class_entry **class_entry tsrmls_dc) #elsestatic int vld_dump_cle ( Zend_class_entry *class_entry tsrmls_dc) #endif {zend_class_entry *ce;zend_bool have_fe = 0; #ifdef zend_engine_2ce = *class_entry;# Elsece = Class_entry; #endifif (ce->type! = Zend_internal_class) {zend_hash_apply_with_argument (&ce-> Function_table, (apply_func_arg_t) Vld_check_fe, (void *) &have_fe tsrmls_cc); if (Have_fe) {fprintf (stderr, "Class% S: ", ce->name); Zend_hash_apply (&ce->function_table, (apply_func_t) Vld_dump_fe TSRMLS_CC); fprintf (stderr , "End of class%s.", ce->name);} else {fprintf (stderr, "Class%s: [no user Functions]", ce->name);}} return zend_hash_apply_keep;} /* {{{Zend_op_array vld_compile_file (file_handle, type) * This function provides a hooks for compilation */static Zend_op_ Array *vld_compile_file (zend_file_handle *file_handle, int type tsrmls_dc) {Zend_op_array *op_array;if (! Vld_g (Execute) && (Vld_g (skip_prepend) && PG (AUTO_PREPEND_FILE) && PG (AUTO_PREPEND_FILE) [0] && PG (auto_prepend_file) = = File_handle->filename) (Vld_g (Skip_append) && PG (AUTO_APPEND_FILE) && PG (AUTO_APPEND_FILE) [0] && PG (AUTO_APPEND_ file) = = File_handle->filename)) {Zval NOP; Zval_stringl (&nop, "return;", 8, 0); return compile_string (&nop, "NOP" tsrmls_cc);;} Op_array = Old_compile_file (file_handle, type TSRMLS_CC), if (Op_array) {Vld_dump_oparray (Op_array);} Zend_hash_apply (CG (function_table), (apply_func_t) Vld_dump_fe tsrmls_cc), zend_hash_apply (CG (class_table), (apply_ func_t) vld_dump_cle tsrmls_cc); return op_array;} /*}}} *//* {{{void Vld_execute (Zend_op_array *op_array tsrmls_dc) * This function provides a hooks for execution */static void Vld_execute (Zend_op_array *op_array tsrmls_dc) {//Nothing to Do}/*}}} */