u_sergey_v пишет:Сервис предоставленный мной выше без проблем декодирует html5
Вглядывался-вглядывался в этот код и.... посмотрел как так всё. Мои подозрения оправдались. Это очень серьёзная шифровка.
Как это делается.
Загружаем страницу, находим этот код, который вы приводили:
this.videoplayer1989 = new Uppod({m:"video",uid:"videoplayer1989", file:"#06807407407003a02f02f07303702e07407606206507307402e06e06507402f06606906c06d02f06602f03203003103702f06606f07207306506706505f03802e06d070034",st:"uppodvideo"});
Ставим там точку останова и смотрим где же этот класс Uppod у нас объявляется. При наводе на неё мышкой щелкаем на подсказке и переходим в файл /player/uppod.js.
Внизу наживаем на "{}" Pretty print, чтобы лучше видеть и смотрим, где проверяется на сивол "#" в начале строки объекта file.
if (this.file)
if (this.file.indexOf("#") == 0)
this.file = tb(this.file);
Ага, вызывается функция tb! Ищем её и находим:
function tb(b) {
if (b.indexOf(".") == -1) {
b = b.substr(1);
s2 = "";
for (j = 0; j < b.length; j += 3)
s2 += "%u0" + b.slice(j, j + 3);
b = unescape(s2)
}
return b
}
Так и видим, что это просто строка в UTF кодировке вида %u0XXX, просто символы %u убраны, а эта функция их добавляет к каждым трём.
После суперсложных преобразований, эта функция декодирования таких ссылок выглядит на PHP вот так:
function Html5Decode($b) {
if (strpos($b, ".") == false) {
$b = substr($b, 1);
$s2 = "";
for ($j = 0; $j < strlen($b); $j += 3)
$s2 .= '\\u0' . substr($b, $j, 3);
$b = json_decode('"' . $s2 . '"');
}
return $b;
}
Sony Bravia KDL-32CX523