Гугление на тему обфускации ничего не дала, нашел только 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, то код перестает работать.
Проверил, если удалить пробелы, переносы, или заменить символы сущностями 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
Я вывел ссылки в переменные
Главное теперь что-то с $mp3_link сделать, чтобы нельзя было понять, что там ссылка :)
Я вывел ссылки в переменные
*цикл перебора всех треков*
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()
и всё.
парсить не смогут, скорее всего. Просвещенные понять смогут, что там, но все-же
Добавляешь в сам скрипт обработки функцию base64_decode() - погугли
А входящие переменные просто фикси в base64_encode()
и всё.
парсить не смогут, скорее всего. Просвещенные понять смогут, что там, но все-же
Спустя 12 часов, 1 минута, 25 секунд (22.07.2011 - 09:21) twin написал(а):
Цитата (quickxyan @ 21.07.2011 - 13:19) |
да просто поудалять все пробелы и энтеры |
В JS? А ты в курсе, что там не обязательны точки с запятой?