[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обфускация / преобразование текста средствами PHP
Glorious
Есть страница, на которой присутствует jquery код, который необходимо привести к не читаемому виду, при этом, чтобы браузер понимал этот код.

Гугление на тему обфускации ничего не дала, нашел только stand-alone программы, либо делать через Zend.

Что необходимо?
К примеру jquery код поместить в переменную и уже с ней колдовать.
В идеале, конечно, найти стоковую или самописную функцию PHP, которая бы делала обфускацию.

Если же такой функции нет, то как лучше всего сделать замену, ведь если делать замену через функцию htmlentities, то выйдет очень попсово.

Что думаете на эту тему?



Спустя 4 минуты, 37 секунд (21.07.2011 - 16:19) quickxyan написал(а):
да просто поудалять все пробелы и энтеры

Спустя 17 минут, 46 секунд (21.07.2011 - 16:37) alex12060 написал(а):
$new = preg_replace('#[\s]*#', '', $jqueryCode);

Спустя 6 минут, 4 секунды (21.07.2011 - 16:43) VolDroN написал(а):
можно попробовать регуляркой найти все "var *" и заменить все *, с помощью str_replace, на какую-нибудь рандомную цифру. Эту цифру записать в массив, и дальше уже проверять, при такой же замене, забита ли уже эта цифра, если нет то заменять, если да, то заново сгенерировать её.

Спустя 14 секунд (21.07.2011 - 16:43) Glorious написал(а):
quickxyan, alex12060

Проверил, если удалить пробелы, переносы, или заменить символы сущностями htmlentities, то код перестает работать.

Спустя 7 минут, 10 секунд (21.07.2011 - 16:50) alex12060 написал(а):
Glorious

Код в студию.

Спустя 15 минут, 28 секунд (21.07.2011 - 17:06) Glorious написал(а):

$(document).ready(function(){
*** код который не представляет важность ***
<? echo preg_replace('#[\s]*#', '', $jquery); //Код который нужно преобразовать ?>
});



$jquery = '
var audioPlaylist = new Playlist("2", [
{
name:"Tempered Song",
mp3:"http://www.jplayer.org/audio/mp3/Miaow-01-Tempered-song.mp3",
oga:"http://www.jplayer.org/audio/ogg/Miaow-01-Tempered-song.ogg"
},
{
name:"Hidden",
mp3:"http://www.jplayer.org/audio/mp3/Miaow-02-Hidden.mp3",
oga:"http://www.jplayer.org/audio/ogg/Miaow-02-Hidden.ogg"
}

]
, {
ready: function() {
audioPlaylist.displayPlaylist();
audioPlaylist.playlistInit(false); // Parameter is a boolean for autoplay.
},
ended: function() {
audioPlaylist.playlistNext();
},
play: function() {
$(this).jPlayer("pauseOthers");
},
swfPath: "js",
supplied: "oga, mp3"
});
'
;

Спустя 1 час, 35 минут, 9 секунд (21.07.2011 - 18:41) alex12060 написал(а):
Да, я наврел тебе немного :)

echo preg_replace('#[\r\n\t]*#', '', $jquery); //Код который нужно преобразовать

Спустя 10 минут, 9 секунд (21.07.2011 - 18:51) Glorious написал(а):
Цитата (alex12060 @ 21.07.2011 - 15:41)
Да, я наврел тебе немного :)

Спасибо, теперь работает)
Но все равно можно легко выдрать ссылки на треки.

Может посоветуешь, как заменить ссылки на набор кодируемых символов, или что-то другое, но чтобы jquery без проблем это читал?

Например: site.ru > & #78; & #78;& #78; & #78;& #78; & #78;

Спустя 9 минут, 55 секунд (21.07.2011 - 19:01) alex12060 написал(а):
Glorious

Можно сделать твой скрипт вообще неузнаваемым, спокойно.

Спустя 15 минут, 22 секунды (21.07.2011 - 19:16) Glorious написал(а):
alex12060

Я вывел ссылки в переменные

*цикл перебора всех треков*
echo '
{
name:"Hidden",
mp3:"'
.$mp3_link.'",
oga:"'
.$ogg_link.'"
}
'
;
*/
цикл перебора всех треков*

Главное теперь что-то с $mp3_link сделать, чтобы нельзя было понять, что там ссылка :)

Спустя 2 часа, 3 минуты, 50 секунд (21.07.2011 - 21:20) alex12060 написал(а):
Glorious

Добавляешь в сам скрипт обработки функцию base64_decode() - погугли
А входящие переменные просто фикси в base64_encode()
и всё.
парсить не смогут, скорее всего. Просвещенные понять смогут, что там, но все-же

Спустя 12 часов, 1 минута, 25 секунд (22.07.2011 - 09:21) twin написал(а):
Цитата (quickxyan @ 21.07.2011 - 13:19)
да просто поудалять все пробелы и энтеры

В JS? А ты в курсе, что там не обязательны точки с запятой?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.