gruntjs — обфусцированный PHP, использующий grunt-hazy, имеет синтаксическую ошибку

Я знакомлюсь с Грантом, пытаюсь запутать мой тестовый php-файл.

Вот оригинальный код, просто привет мир

<?php
echo 'hello world';

Обфусцируется с помощью хрюканства:

<?php eval("?>".base64_decode("PD9waHANCmVjaG8gJ2hlbGxvIHdvcmxkJzs=")."<?"); ?>

И ошибка:

Parse error: syntax error, unexpected '<' in D:\Projects\Grunter\hazed\index.php(1) : eval()'d code on line 2

Вот мой Gruntfile

module.exports = function(grunt){
grunt.initConfig({
hazy: {
php: {
expand: true,
cwd: '',
dest: 'hazed',
src: [ '*.php' ]
}
},
watch: {
scripts: {
files: ['*.php'],
tasks: ['hazy']
}
}
});

grunt.loadNpmTasks('grunt-hazy');
grunt.loadNpmTasks('grunt-contrib-watch');
};

Что я делаю неправильно? Это ошибка с плагином?

1

Решение

Глядя на декодированный код, который прошел через eval, вы получите это.

?><?php
echo 'hello world';<?

Итак, как вы можете видеть, вы закрываете тег PHP, затем он открывает новый, повторяет некоторый текст, затем пытается открыть другой тег, не закрывая первый.

Если вы попытаетесь добавить закрывающий тег PHP в ваш тестовый скрипт, я думаю, он будет работать нормально.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]