31 (2016.03.03 16:48:50 отредактировано Anixiy)

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Та и без нее вот это
hp4r
8�`5� �d�4���h/�~ph}�h�t�sl5{�ipt$sl��A�g�d7�h>r�s$% �s`��r�w6@rd2oe853�r43c$3�2d340v
у меня уже просто мандраж, я 5 день играюсь и без результатно, по этому тыкаю везде всякую фигню в надежде на авось.
Итоговым должно быть http://duvideo.net/get.php?action=playl … 49f9132614
как мне кажется, там закодирован сам hash=9639e45d54602d8c0b3cdf49f9132614, а не вся ссылка

32

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Там всё тупо и как обычно.
Я же, прежде чем вам писать проверил и получил настоящую рабочую ссылку. Только мне пришлось переписывать некоторые функции опять.
Заменить на StrBreakApart и List.Strings[n] на ExtractWord и StringReplace на ReplaceStr (у меня нет Делфи, я в HMS проверяю):

+ открыть спойлер
  if Copy(sData, Length(sData),Length(sData)) = '!' then begin
    sData := Copy(sData,0 ,Length(sData)-1);
    tab_a := ExtractWord(4, hash, #13);
    tab_b := ExtractWord(3, hash, #13);
    end else begin
    tab_a := ExtractWord(2, hash, #13); // tab_a = bzaclmepsJxdftioYkngryTwuv
    tab_b := ExtractWord(1, hash, #13); // tab_b = 0123456789WGXMHRUZID=NQVBL
  end;
 for i := 1 to Length(tab_a) do begin
    sData := ReplaceStr(sData, tab_b[i], '___');
    sData := ReplaceStr(sData, tab_a[i], tab_b[i]);
    sData := ReplaceStr(sData, '___',tab_a[i]);
  end;
  // sData = aHR0cDovL2R1dmlkZW8ubmV0L2dldC5waHA0aW9uPXBsYXlsaXN0JnBsPV9Nb2xvZGV6aGthLnMzJmhhc2g9NjBhNjY3YzNhZGJlZTdkMjNiNmM0M2QzMjdhZGQ0NTUA
  // HmsBase64Decode(sData) = http://duvideo.net/get.php4ion=playlist&pl=_Molodezhka.s3&hash=60a667c3adbee7d23b6c43d327add455

Хорошо, покажите мне весь код вместе с функцией DecodeUppod_tr. Может быть вы и туда чего-нибудь вставили.

Sony Bravia KDL-32CX523
Спасибо сказали: Anixiy1

33 (2016.03.03 17:08:05 отредактировано Anixiy)

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

+ открыть спойлер
Function TForm3.DecodeUppod_tr(sData, ch1, ch2: String): String;
var
  sNewData, sLoc3: string; i, n: Integer; e, iLoc3: Extended;
begin
  sNewData := '';
  if (sData[Length(sData)-1] = ch1) AND (sData[3] = ch2) then begin
    i := Length(sData);
    while (i > 0) do begin sNewData := sNewData + sData[i]; i := i - 1; end;
    sData := sNewData;
    sLoc3 := Copy(sData, Length(sData)-1, 2);
    sData := Copy(sData, 3, Length(sData)-5);
    iLoc3 := StrToFloatDef(sLoc3, 10000) / 2;
    if iLoc3 < Length(sData) then begin
      e := iLoc3; i := Length(sData); n := 0;
      while (e <= i) do begin
        sData := Copy(sData, 0,Trunc(e)) + Copy(sData, Trunc(e)+2, 10000);
        e := e + iLoc3 * 1;
        i := Length(sData);
        n := n + 1;
      end;
    end;
    sData := sData + '!';
  end;
  Result := sData;
End;

но если у вас все получилось, значит я где-то косячу. буду ковырять сейчас тоже

вот эта часть у меня такая же
tab_a := ExtractWord(2, hash, #13); // tab_a = bzaclmepsJxdftioYkngryTwuv
    tab_b := ExtractWord(1, hash, #13); // tab_b = 0123456789WGXMHRUZID=NQVBL

34 (2016.03.03 17:10:44 отредактировано Anixiy)

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

огромное спасибо, rfIgnoreCase все таки играл роль, после того, как убрал его. все получилось. Хотя я думал, что в таком случае он больше нужен, чем нет.

35

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Опа-на, а я вас обманул же. Оказывается "%2FUxy" это не лишние символы. А просто %2F это символ "/". Т.е. urlDecode нужно этой строке или типа того.
Тогда ссылка получается более полной и вообще нормальной (а те ссылки были не совсем того).

Но у вас другая проблема. У вас вообще цикл замен по таблицам нормально не срабатывает похоже.

Перед тем как делать замены вот в этом вот цикле, sData должна быть перед ним равна тем же что и изначально в оригинале, т.е.

+ открыть спойлер
//sData = 2iob3gRLvaozG54ZkxsB05wbvaG4GCmV2iA/Uxyb2xJBPfu8Uf482fyb9Iu8PwJy0aWLkdwe2dMhvIt195hh3aDJyjuhyjUcU1yhkd94kQGZtjyHy5tbtaT1tjGhkdTbyQYA
  sData := StringReplace(sData, #13, '',[rfReplaceAll, rfIgnoreCase]);
  for i := 1 to Length(tab_a) do begin
    sData := StringReplace(sData, tab_b[i], '___',[rfReplaceAll, rfIgnoreCase]);
    sData := StringReplace(sData, tab_a[i], tab_b[i],[rfReplaceAll, rfIgnoreCase]);
    sData := StringReplace(sData, '___',tab_a[i],[rfReplaceAll, rfIgnoreCase]);
  end;
//sData = aHR0cDovL2R1dmlkZW8ubmV0L2dldC5waHA/YWN0aW9uPXBsYXlsaXN0JnBsPV9Nb2xvZGV6aGthLnMzJmhhc2g9NjBhNjY3YzNhZGJlZTdkMjNiNmM0M2QzMjdhZGQ0NTUA

А по выходу это просто Base64 строка. Получившаяся после замен по таблицам. Попробуйте убрать rfIgnoreCase, зачем вы его поставили.

P.S. Писал сообщение ещё до того, как видел ваше последнее.

Sony Bravia KDL-32CX523
Спасибо сказали: Anixiy1

36

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Да, вы правы на счетrfIgnoreCase и urlDecode. Все получилось. Спасибо огромное!!!!!!!!!!

37

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

WendyH пишет:

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

WendyH, Если я вас правильно понял то есть возможность обойти блокировку по ip?
Если написать на ActionScript программу которая будет парсить страницу сайта с зашифрованной ссылкой, в данном случае запрос на сайт будет идти от клиента?
На ActionScript ни разу не писал ни чего, так что не судите строго.

38

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Sitronik92 пишет:

Если я вас правильно понял то есть возможность обойти блокировку по ip?
Если написать на ActionScript программу которая будет парсить страницу сайта с зашифрованной ссылкой, в данном случае запрос на сайт будет идти от клиента?

Ага.

Sony Bravia KDL-32CX523
Спасибо сказали: Sitronik921

39

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

WendyH пишет:
Sitronik92 пишет:

Если я вас правильно понял то есть возможность обойти блокировку по ip?
Если написать на ActionScript программу которая будет парсить страницу сайта с зашифрованной ссылкой, в данном случае запрос на сайт будет идти от клиента?

Ага.

Нашел код для ActionScript с помощью которого можно получить страницу сайта:

import flash.net.*

var _loader:URLLoader = new URLLoader();
var _req:URLRequest = new URLRequest('http://www.google.com');
_loader.addEventListener(Event.COMPLETE, _onComplete);
_loader.load(_req);

function _onComplete(e:Event):void{
    trace(String(_loader.data));
}

Собственно вопрос, есть ли у вас опыт в написании ActionScript приложений?
Если есть то подскажите пожалуйста как этот код правильно подключить к html странице c которой будет идти запрос на сайт с шифрованной ссылкой.

40

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Sitronik92, судя по вашим вопросам, у вас их будет ещё оччень много.
Поэтому сразу говорю - тут не учебный курс по языкам программирования и Adobe Flash. Все ответы на подобные вопросы можно найти у гугла, stackoverflow и форумам, посвященным этому языку и технологии.
Поэтому даже не знаю как ответить.
Этот код (приведённый вами) к html странице никак не подключить. Этот код можно использовать при создании Adobe Flash приложения, которое можно откомпилировать в SWF-файл. Который может исполнятся Флеш-плеером, который уже как ActiveX или объект может подключаться в html коде с указанием параметров и файла запуска.
Вот, всё это можно было узнать у гугла.
Что там делать и как это работает объяснять долго и много, поэтому прошу вас искать информацию на эту тему на других ресурсах.

Sony Bravia KDL-32CX523
Спасибо сказали: Sitronik921

41

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

WendyH пишет:

Sitronik92, судя по вашим вопросам, у вас их будет ещё оччень много.
Поэтому сразу говорю - тут не учебный курс по языкам программирования и Adobe Flash. Все ответы на подобные вопросы можно найти у гугла, stackoverflow и форумам, посвященным этому языку и технологии.
Поэтому даже не знаю как ответить.
Этот код (приведённый вами) к html странице никак не подключить. Этот код можно использовать при создании Adobe Flash приложения, которое можно откомпилировать в SWF-файл. Который может исполнятся Флеш-плеером, который уже как ActiveX или объект может подключаться в html коде с указанием параметров и файла запуска.
Вот, всё это можно было узнать у гугла.
Что там делать и как это работает объяснять долго и много, поэтому прошу вас искать информацию на эту тему на других ресурсах.

Ясно спасибо вам за оперативные ответы, пошел я изучать ActionScript.

42

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

добрый день
что то не пойму
может сайт обновился
на первой странице расписан алгоритм расшифровки ссылка с сайта kset.kz
вроде все понятно
смотрю подкаст keyset
к примеру сериал
11.22.63 сезон 1 / 11.22.63 season 1 (2016)
получение настроек для плеера в файле
http://kset.kz/cinema/config?id=53721_0
смотрим его - для раскодирования ссылок и получаем
, �M>��K3�|���+�� �����AP������AX|�B��X��/�����lY�&EV���)��D�F�����(:��**�CeA��l:�U!B���ܞZ��U�R�vS�mT,J�@=$Q;O���141EE0E66C4CDFA186EAECC90584CECFF929EC8B966D25E0B912F7CABBA9D9010EC5CE82D4B5DE79914C8537FE36F6BBACECF304F9ED75AA45E4E5F77BEAFA7E46D8096FFCF6780BFB49058F4CFFAA3B35EA5E34497701A4F137F9261658CEF3E9D7D282CF851C2C43F9A226F0B2A9740D64AB9F10D7B123064F9CC8687972F6E0275A424AE7D630108CBE549083D665E6CC5765BBBFFCD593CA54ED443090D0C132A13D5B9C9AF9287D40CD27D293282C2C62E8C4F578D79F24E8FD6CE6E05C5B88064D30525B4A025BB2BDFB196AEDD1A8E15792E33E261C7B4F2E8EB50419254460DFFA45F1EA10CAC2BCEA39F897B2C59E13028F4B8E2E0994CAF51FD25F8A50E29FD2E8F2C6799F2939819D7965024B6F0B3CAC433BF9364BDCC2D6BE8B73370D442EF754E624D4A247FE27E9EC00391E46F29A35FF40F204DF3F1090EBDE8DBCCE35E71B4E28CB412E9B96A5905CB1A739996636133F35BAF2DE1AEBED9201F0B0375F54352DA10ECC3D1F2837E3AD24B7967BE6A95EF1FDE1094DB8889CBB581952B07DFBD328C8D0348FD76E5D87A9099C2CC2D7572D1561FF9E3AB565BF2978ADD247E65E91F5295F7C2D77EB77A650139F5AE6CDA2830C6420A2B3252E7DDBD02CB82DEE3FB564D7D65038A038C01AB975C16F72E083719C3009DF9E1B698E8E03B4161806A9D617FE60659848E60F69282CF47679E1D4BAA8714229E85C68C502AF6F1736117EA654DB4BE20BE8359196DD2931CBA5775E128A5A2B21D96BA3E4ADA13C2893EFFDE6EB5139004C4D2970106CEBD26225040FC9C527C4391C5F3C01C5349F90A00B27BA74BCD6F252A7A827B8D4EDAF57BB017B66DB7221A3FA62F3B85AB4CF0EEFF7A3AC86CD3A3DE7E648EE5D63A836980929DBB9A288AD725A3BF2A824E27831C88475A52EA410983BE45F51829508A1A5D48A33A96752A0052F3A98836EC90E1DF474F5A91AEEF48E5F5EB5D70D7713849C1578FB6E18001AB7E1F23FA0E7B43B060092B2A39F8EFC59A9D741058C746220C125FADDEFE03AFC6DE25BB0D13CF0FA911374F57FEF4D182970DD3E1FC2C65D34CAD89EBEB1D71F35D6A4ECDC15FF4A08E5B4E8FE9842EEFC5A15F053D721AACC2F7EF1D167EA5EAE1BEA01CC8E7D9BBAA9F42F02463A46E84E9DAF3346F9D316428C8AF4EB9C4A940DC92123056FD5D05C8C8D762337EBC39AEA209D5A47152CFEFE9AEB8BFCFE12A4F4EDA11590A58981BD0A4B0F38F2958078F1C2D82BCD93826C1B62AA20487B3E545E934825E0212BE8FDB8A1073A5633E98A1E5455BE90CAB8C4038162CC3202ADA3E4C59C8A65C108BD28E7EBE607451A8DC43F34413E65ADC6961666F681FB6632180F4D4067EF31E1AF5467C1872864069427914BBC602810C5035FDB3A8B08C6CC312EC5967103A858F0704520F0631936FA5E4FC7D9831515DF7DDE78CE2EC91CF83DD460EE68C846C9CEE0218FCAEF49EA594FFD29FA864E39FA7C42FE24E6B8D3B312E1491D41BB8CDA29703CEC54347406E78A6F956E837EA4FA6DFD3DF8E8EAEDA346397BA04E79F71034CE3AE71037C32419C3C5DB20477C56CFBDC9C872984F5CC22E77C5D5D084BF3505DE2BD0F18261FF6997406BFF34E52014F44526BE721E766E650E4F3EF1F807BF117473A42EE96642C868FA22ED993A1FAB629C5CB801D2730A9DC37941241A59534755FDB04A02FDC616BF24AE52E14D36155D281EAA34553BEBA307C0D50259A153AFEB6F425C56EA8FD61B4B89EBF5C444288F44F062D1B36F83D680AEEA85D5892D58002E4241BAD34E47B5967CBFDC8B738526EF005C6BD1A609CE05D1A5FDADF6B0D446C3D2FE2082C00D6F569A6EE55DC813B17FB1345C7B0BDF1A35065BD402D023FFA9E4EA8A22FA53823F7834984A909ACF1E04F15747CC29B842CD6700A5A3579D13139AEDDF53B037688922144915D0FCA514B8C3109C33722F705EFABA33CC93FEF1D96153A32DEE3A7C3AC4F7D435E163E718AF2577730A301F0FB028CCA57FF078E0C9AF26626494C27CC61D6BAA9AA6CC1295D0A7A83050282494B5C31D0253C76EAB15E79935AD7027223014DF90D8BDE8C8962B4392613389589508329ADE9DD4716F6D530D87F8B691E7331876F4F0C67970E4D35C61BEDED4524FE43A05630933D6F5BA29AA3B0475A48AB1FE17A7162BAA5BB1A228FA6612DD343E3BAAB2DB6386A7EEA2CC385BBFF4ADCD0F6A378D141801B3D09DCD583B79F18F224E76E845F7DE54EF7C4BFE9395F4AD4A7F9A585DAF9F57D9E48EE43FC76A6D9630BE1401A9FDF193CFDB493A25219B374BB2B7B016DDB3FAAA0F36672DFA404D16470E5E29DC9EB3B854CC2D5ED6C442030118DF6583F2B8954BE3F839033F63612AE604A51F52B882A6B94B8127DFF858CE07805EBD0CA385F94FAA7153666E7D67F192AB5120996F69F61578FD78F91717F1D7225AD08A6307E64A673C2A7E2DBB015B0EC2C2E95E68C98D858148134E924CD3F57AC35848AA61E6DE63A546C732D99BDAF8555E18FEACA9EC230A0CEBE2C3205323ACA17943A2810C4CB1D37B4FE9223881DD8B6B7CCA8290B263E6DCF1150E79E37C2A1A080D46E8A81CFA854F6D1EFA7BF37450F072E9A796875DDBCE213979E32C0E183C8729EF97D09750DDC503BB5C7741B82741408EC16E480FA9E2E47E550D2CD2D17C8949DD1EC174EE5012906A7D0240197AB1584EBC5EDE

вопрос - как это раскодировать
спасибо

43

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

foma, сайт однозначно обновился. Теперь там защита интересней. Наконец-то нашёл время покопаться. У них во флеш плеере как на ладони в исходниках видно как это работает.
Приватный ключ RSA зашит во флеш плеере.

+ приватный ключ, если кому надо

-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDEmOXz8AzUVbQXktx6f7zpmHtd1fS1KgC1H66z9kiNJa5w1+rI
jwejtQ/7xunCEpicX80BVUkIo9DJCkAb4rxJ4hG/32egfj2HiGFiPjeK9SsT+Uuq
j88dwLWsgqVrZN0YFvoaUs5vvvHFYucAtsMJm+lavcFd6dZ/pNV+FImSQQIDAQAB
AoGAENW2+0iXEKe2ID6nOqYtmyM/jS2BIvJR1TC9WRPB6rRLV8ZliH8W/GHI2JqT
8dZ90wYxG+gdtOuyOUTzcG/eB580QN0ogyxTCWq+i1NDLpSKSiLDSWjMtARalaTd
ZvCz/LJ9GltJ6vCtj1+Zdbo2B1zyhGe2QD0YUs5b4KPywLECQQDg850rupUCF/pi
+yqD12cogesqGEpCYr6rZ46wgmcGmMGCBWDa83vWFiNvRsoFCgphsfzUDNto7yyW
YIHyjS+XAkEA37trE5ciQUqx7EoGA8uHQZT3UCOtHeLBM6iHT7eNq1EMBdIEcaOQ
WN6Mu5IabU8YRaA5IrIj1VwbduM9dq2H5wJAUsGMur+jfeewV6WrGGGwM7jH+O6C
szV8i7ZHSixPFqAv4FN2NFaK4lG2q4NRYtU0yIggSSqJtWr37kKGy+Kg9QJBAMjd
xFGvU+LYxAsHnoTTuxiHPM8naKq3RYwyl2Fbw4Z22ltzZef82IDhNerFTpKq+3iv
U/yxgPhynHnNpQYi4CsCQApOXt21398s8XSs0Hx7MFZm2vqXW4LLXjY6m8uvk8BM
jpWLo/GrWDeI3KH58VdwF4g7CqdF4OhlmHftiOD2flA=
-----END RSA PRIVATE KEY-----

То, что загружается по ссылке http://kset.kz/cinema/config?id=53721_0 - это ключ и данные.
Первые 128 байт - ключ (парольная фраза), который дешифруется приватным ключом RSA.
Потом этим дешифрованным ключом дешифруются данные по алгоритму Blowfish (cbc8, Null Padding).
Эти данные и есть плейлист со ссылками на файлы видео.

Как именно это всё провернуть, зависит от языка программирования. С ходу проверить и написать скрипт не получилось, из-за того, что не разобрался как в HMS работать с RSA шифрованием.
Потом на досуге могу на PHP проверить.

Sony Bravia KDL-32CX523

44

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Короче, вот такой скрипт на PHP получился:

+ открыть спойлер
<?php

$videoID = $_GET["id"];

$P_KEY = "-----BEGIN RSA PRIVATE KEY-----\r\nMIICXAIBAAKBgQDEmOXz8AzUVbQXktx6f7zpmHtd1fS1KgC1H66z9kiNJa5w1+rI\r\njwejtQ/7xunCEpicX80BVUkIo9DJCkAb4rxJ4hG/32egfj2HiGFiPjeK9SsT+Uuq\r\nj88dwLWsgqVrZN0YFvoaUs5vvvHFYucAtsMJm+lavcFd6dZ/pNV+FImSQQIDAQAB\r\nAoGAENW2+0iXEKe2ID6nOqYtmyM/jS2BIvJR1TC9WRPB6rRLV8ZliH8W/GHI2JqT\r\n8dZ90wYxG+gdtOuyOUTzcG/eB580QN0ogyxTCWq+i1NDLpSKSiLDSWjMtARalaTd\r\nZvCz/LJ9GltJ6vCtj1+Zdbo2B1zyhGe2QD0YUs5b4KPywLECQQDg850rupUCF/pi\r\n+yqD12cogesqGEpCYr6rZ46wgmcGmMGCBWDa83vWFiNvRsoFCgphsfzUDNto7yyW\r\nYIHyjS+XAkEA37trE5ciQUqx7EoGA8uHQZT3UCOtHeLBM6iHT7eNq1EMBdIEcaOQ\r\nWN6Mu5IabU8YRaA5IrIj1VwbduM9dq2H5wJAUsGMur+jfeewV6WrGGGwM7jH+O6C\r\nszV8i7ZHSixPFqAv4FN2NFaK4lG2q4NRYtU0yIggSSqJtWr37kKGy+Kg9QJBAMjd\r\nxFGvU+LYxAsHnoTTuxiHPM8naKq3RYwyl2Fbw4Z22ltzZef82IDhNerFTpKq+3iv\r\nU/yxgPhynHnNpQYi4CsCQApOXt21398s8XSs0Hx7MFZm2vqXW4LLXjY6m8uvk8BM\r\njpWLo/GrWDeI3KH58VdwF4g7CqdF4OhlmHftiOD2flA=\r\n-----END RSA PRIVATE KEY-----";
$data  = "";
$signLenght = 128; // Длина ключа в зашифрованных данных

// Чтение зашифрованных данных
$options  = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n" .
              "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36\r\n"
  )
);
$context = stream_context_create($options);
$data    = file_get_contents("http://kset.kz/cinema/config?id=" . $videoID, false, $context);

$sign      = substr($data, 0, $signLenght); // Получаем из начала данных зашифрованный ключ
$conf_data = substr($data, $signLenght);    // Получаем из данных зашифрованный плейлист

// Расшифровка приватным ключом RSA зашифрованного ключа из данных
$res = openssl_get_privatekey($P_KEY);
openssl_private_decrypt($sign, $pwd, $res);

// Расшифровка плейлиста расшифрованным ключом 
$decrypted = decrypt_blowfish($conf_data, $pwd);

// Выводим расшифрованный плейлист
echo $decrypted;


// =================================================================
// Функция расшифровки алгоритмом Blowfish
function decrypt_blowfish($data, $key){
    $iv=pack("H*" , substr($data, 0, 16));
    $x =pack("H*" , substr($data, 16)); 
    $res = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $x , MCRYPT_MODE_CBC, $iv);
    return $res;
}

Проверить его работу можно открыв ссылку, где в параметре id передаётся идентификатор плейлиста из ссылки

http://kset.kz/cinema/config?id=53721_0

http://wonky.lostcut.net/kset.php?id=53721_0

Sony Bravia KDL-32CX523

45

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

привет
очень интересно
по поводу языка - мне проще на питоне
но все равно - очень интересно - буду пробовать и разбираться
а приватный ключ RSA я видел
огромное спасибо

46

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Суппер ! спсибо за  PHP скрипт для http://kset.kz
Вопрос, а можно такой для seasonvar сделать или у них есть привязка к IP клиента ? и выдернув ссылку она будет игатья только с места где расположен скрипт ?
еще раз спасибо !

47

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

alsoft пишет:

Вопрос, а можно такой для seasonvar сделать или у них есть привязка к IP клиента ? и выдернув ссылку она будет игатья только с места где расположен скрипт ?

Да, у них привязка, ссылки играются только с тех IP, откуда получали список ссылок. Они в данный момент даже шифровать перестали плейлист (ибо смысл).

Sony Bravia KDL-32CX523
Спасибо сказали: alsoft1

48

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

А кроме IP что-то еще фиксируют ? не знаете ? просто хочу от клиента делать запрос результат отправлять на сервер для обработки и возвращать клиенту чистый URL.  Просто если знаете мне это сэкономит время, нет буду пробовать сам ковыряться тогда... Спасибо

49

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

alsoft пишет:

А кроме IP что-то еще фиксируют ? не знаете ? просто хочу от клиента делать запрос результат отправлять на сервер для обработки и возвращать клиенту чистый URL.  Просто если знаете мне это сэкономит время, нет буду пробовать сам ковыряться тогда... Спасибо

Знаю. Всё как обычно: также делают защиту через http заголовки с проверкой, откуда идёт запрос (Referer), ограничение на межсайтовые запросы (Origin), определённые значения в куках и иногда проверка, что запросы именно с сайта через js (X-Requested-With).

У вас запросы будут выполнятся у клиента в браузере? Хотите сделать свой сайт с их контентом? Если да - забудьте. Именно для этого все эти защиты и были изобретены.

Если будет работать программа или скрипт у клиента, то заголовки всегда можно подделать.

И чё там обрабатывать на вашем стороннем сервере? Если бы вы немного хотя бы попытались посмотреть как там в seasonvar сейчас, то увидели бы, что со страницы сериала можно получить данные для запроса по адресу player.php с указанием параметров secureMark, id и serial_id и в ответ вы получите данные, содержащие ссылки на видео. Даже не зашифрованные. Т.е. всё просто. Предельно. И ковыряться самому всегда нужно. Ибо по-другому вы ничему не научитесь.

Ну и помнить нужно. Сайты живут, особенно популярные. И периодически меняются. Поэтому постоянно придётся менять логику под них (это сегодня у них не шифруются, буквально в прошлом году они были одни из самых зашифрованных - зашифрован в несколько раз только сам участок, который делал запросы с параметрами. Нда, было интересно, меня ведь хлебом не корми, дай чёнть расшифровать).

Sony Bravia KDL-32CX523

50

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

В этом все и дело я пишу приложения для самрт ТВ.  А апрувит их LG по 4 месяца и если сайт хоть что-то поменяет у людей 4 месяца не будет работать до нового релиза. в Смарте конечно есть браузер. Я конечно посмотрел и player.php конечно видел,  просто хотел спросить если уже сталкивались. а вы сразу хоть немного хоть пытались....в любом случае спасибо разберусь.

51

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

alsoft, хм, тогда делать обслуживающий сервер может быть и есть смысл.
Например, у клиента забирать страничку сериала, а на сервер передавать её полностью, там и обрабатывать (друг шифровки появиться в странице).
Дело в том, что я не знаю как там они проверяют запрос player.php.

Вот сейчас проверил. Сделал скрипт на PHP, выложил на сторонний сервер. Локально получил со страницы сериала данные id, serial_id и secure, отправил моему скрипту и тот попытался получить данные уже от player.php - вроде получилось.

Вот таким скриптом проверял:

+ открыть спойлер
<?php

$id     = isset($_GET['id'    ]) ? $_GET['id'    ] : 13471;
$serial = isset($_GET['serial']) ? $_GET['serial'] : 8212 ;
$type   = isset($_GET['type'  ]) ? $_GET['type'  ] : "html5";
$secure = isset($_GET['secure']) ? $_GET['secure'] : "f451c4438522d3c3b093cf20ed8890cd";

$proxy = '127.0.0.1:8888';

$myCurl = curl_init();
$params = array(
    'id'     => $id,
    'serial' => $serial,
    'type'   => $type,
    'secure' => $secure,
);

$headers = array();
$headers[] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$headers[] = 'Origin: http://seasonvar.ru';
$headers[] = 'X-Requested-With: XMLHttpRequest';
$headers[] = 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36';
$headers[] = 'Referer: http://seasonvar.ru/';
$headers[] = 'Cookie: wserials=1; sva=lVe324PqsI24;';

curl_setopt_array($myCurl, array(
//  CURLOPT_PROXY          => $proxy,
    CURLOPT_URL            => 'http://seasonvar.ru/player.php',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => http_build_query($params),
    CURLOPT_HTTPHEADER     => $headers
));

$response = curl_exec($myCurl);
curl_close($myCurl);

// Берём первый попавшийся плейлист
if (preg_match('#"(/playls2/[^"]+\.xml)"#', $response, $matches)) {

   $playlist = file_get_contents('http://seasonvar.ru'.$matches[1]);
   echo $playlist;

} else {

   echo "В ответе не найдена ссылка на плейлист.\r\n<br \>";
   echo $response;

}

Проверять как http://wonky.lostcut.net/sv.php?id=1328 … 20ed8890cd

И вроде ссылки полученные через сторонний сервер (ip другой страны вообще) играют норм у клиента.

Т.е. получается, главное - изначально значение secure кода получить у клиента.

P.S.: И вообще, тут сразу видно стало, что в ссылках на видео файлы в плейлисте значение кода secure вставляется как есть.
Удачи с приложением, надеюсь всё получится.

Sony Bravia KDL-32CX523
Спасибо сказали: alsoft1

52 (2016.04.16 21:15:54 отредактировано alsoft)

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Вот Спасибо за коммент и за спойлер! :)  Вы оказались на шаг впереди я пропустил ORIGIN чего -то файербаг его не показал в запросе.
Но у меня пока чего-то не играет видео полученное по ссылке и да secure  код не меняется вообще похоже, что это MD5 от IP пользователя....


А.


.... Так и есть взял Вашу ссылку полученную с бог знает какого сервера поменял в ней только secure key на тот что выдается мне  - играется.

53 (2016.05.21 00:19:32 отредактировано alsoft)

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

kset.kz что-то поменял похоже перестал скрипт работать :(
декомпилировал флэшку приватный ключ как и был не поменялся...
kset - перестал отдавать ключ по ссылке http://kset.kz/cinema/config?id=   если использовать file_get_contents   Если через curl то все отдает

54

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

alsoft пишет:

kset.kz что-то поменял похоже перестал скрипт работать :(
декомпилировал флэшку приватный ключ как и был не поменялся...
kset - перестал отдавать ключ по ссылке http://kset.kz/cinema/config?id=   если использовать file_get_contents   Если через curl то все отдает

Да, что-то подкрутили там. Возможно, user-agent на валидный проверяют.
Поправил скрипт и вместо этого:

// Чтение зашифрованных данных
$data = file_get_contents("http://kset.kz/cinema/config?id=" . $videoID);

Использую это:

// Чтение зашифрованных данных
$options  = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n" .
              "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36\r\n"
  )
);
$context = stream_context_create($options);
$data    = file_get_contents("http://kset.kz/cinema/config?id=" . $videoID, false, $context);
Sony Bravia KDL-32CX523

55

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Спасибо автору темы! Давно искал это решение. Не зная ActionScript долго с ним мучился, в поиске кода шифровки ссылки. По вашим примерам составил вот такой  код:

import base64

def dec(dt):
    a = ["v", "2", "U", "V", "N", "5", "R", "w", "p", "y", "T", "X", "z", "Q", "x", "8", "s", "f", "g", "i", "c", "t", "m", "3", "n", "="]
    b = ["u", "Y", "0", "6", "B", "l", "G", "H", "D", "e", "L", "J", "9", "I", "d", "a", "1", "Z", "b", "M", "7", "o", "4", "W", "k", "P"]
    #a = ["l", "u", "T", "D", "Q", "H", "0", "3", "G", "1", "f", "M", "p", "U", "a", "I", "6", "k", "d", "s", "b", "W", "5", "e", "y", "="]
    #b = ["w", "g", "i", "Z", "c", "R", "z", "v", "x", "n", "N", "2", "8", "J", "X", "t", "9", "V", "7", "4", "B", "m", "Y", "o", "L", "h"]
    
    out = ''
    for s in dt:
        out += b[a.index(s)] if s in a else a[b.index(s)] if s in b else s
    return base64.b64decode(out)

print dec('8wGU7ptuTYBngMlr83lu8WXhfClvfJIuf451fJiuOJhMLwBl74llSpXh6jGpxsXoxjFwfeHdBpIdOpbsB90eTUF1xR6eGY6D7WIvijAdBSlE6nGS8JAvf4dY')
Спасибо сказали: WendyH1

56

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

А вот функция на JS  ;)  :

function decr(key){
    var a = ["v", "2", "U", "V", "N", "5", "R", "w", "p", "y", "T", "X", "z", "Q", "x", "8", "s", "f", "g", "i", "c", "t", "m", "3", "n", "="];
    var b = ["u", "Y", "0", "6", "B", "l", "G", "H", "D", "e", "L", "J", "9", "I", "d", "a", "1", "Z", "b", "M", "7", "o", "4", "W", "k", "P"];
    var out = '';
    for (var i = 0, len = key.length; i < len; i++) {
        s = key[i];
        idx = a.indexOf(s);
        if (idx != -1){ out += b[idx];}
        else{
            idx = b.indexOf(s);
            if (idx != -1){out += a[idx];}
            else{out += s;}
        }
    }
    return atob(out)
}

57

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

DreamerAG, оригинально. На Python всю логику в одну строчку. Да и на JS своеобразно. Респект за творческий подход. )

Sony Bravia KDL-32CX523

58

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

Может кто подскажет как расшифровать HTML5 Uppod ссылки.
http://kinokrad.net/uppod-0.5.41.js
Распаковать можно тут http://matthewfl.com/unPacker.html
Или лучше скрипт для определения "ключа" и дешифровки. желательно на python но не критично:)

Возможно код дешифровки не в этом файле находится, могу ошибаться:)

59

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

decode: http://m.cdn.kinokrad.net/files/r0NXQQS … .HDRip.mp4
encode: #06807407407003a02f02f06d02e06306406e02e06b06906e06f06b07206106402e06e06507402f06606906c06507302f07203004e05805105105304c07006e04104903306e04b04502d06204206c07307702c03103403603603503403303503603702f04406506e02e06d06107406507206902e03203003103602e04804405206907002e06d070034

60

Re: Если вы на сайте встретили флеш-плеер Uppod и зашифрованные ссылки

А всё, нашел:))

function un(s){
    if(s.indexOf('.')==-1){
        s=s.substr(1); s2='';
        for(i=0; i<s.length; i+=3){
            s2+='%u0'+s.slice(i,i+3)
        }
        s=unescape(s2)
    }
    return s
}
Спасибо сказали: WendyH1