我正在为obsfucate php项目创建一个脚本。我想重命名变量,我正在尝试,但我不能。
例如......
El día $dia me he comprando una $casaca en la tienda;
我想更改
El día $wdw_SDw_x me he comprando una $wdw_WsS en la tienda;
我有这段代码
if($v != 'this' && $v != 'GLOBALS' && $v != '_SERVER' && $v != '_GET' && $v != '_POST' && $v != '_FILES' && $v != '_REQUEST' && $v != '_SESSION'
&& $v != '_ENV' && $v != '_COOKIE' && $v != 'php_errormsg' && $v != 'HTTP_RAW_POST_DATA ' && $v != 'http_response_header' && $v != 'argc' && $v != 'argv')
{
$file_content = preg_replace(('/\W(\$' . $v . ')\W/'), ('$' . '_' . $v), $file_content);
//$file_content = str_replace('$' . $v, '$' . md5($GLOBALS['key'] . $v), $file_content);
}
这很有效,但我只需要单独改变单词。
"return $this->db->query($sql)->row()->Total == 0 ? true : false;";
但是不起作用
return$_this->db->query$_sql->row()->Total == 0 ? true : false;
我不想更改预定义变量,如:
$ GLOBALS,$ _SERVER,$ _GET,$ _POST,$ _FILES,$ _REQUEST,$ _SESSION,$ _ ENV,$ _COOKIE,$ php_errormsg,$ HTTP_RAW_POST_DATA,$ http_response_heade,$ argc,$ argv
答案 0 :(得分:0)
你错过了'?'在第二个\W
之后,导致它是可选的。
$file_content = preg_replace(('/\W(\$' . $v . ')\W?/'), ('$' . '_' . $v), $file_content);