#1
|
|||
|
|||
![]()
Niedawno JDownloader przestał znajdować linki do playerów online na stronach **External links are only visible to Support Staff****External links are only visible to Support Staff**. Przeprowadziłem dochodzenie w tej sprawie.
Linki w HTMLu wyglądają następująco: {"a":"AXms9rrFMBktWuI+bKDGlxmCeUQqvOEW3WfxvB8iYMVCLT915vsxALtxf0UO54td","b":"1fb5ea6a4e4787455f625e9 6c767f9ef","v":"a1e0708b0b6ed1e2"} Jeżeli w na stronie zadeklarowane są: Code:
<script src="**External links are only visible to Support Staff**></script> <script src="**External links are only visible to Support Staff**></script> Code:
<script> (function ($) { console.log(e('{"a":"AXms9rrFMBktWuI+bKDGlxmCeUQqvOEW3WfxvB8iYMVCLT915vsxALtxf0UO54td","b":"1fb5ea6a4e4787455f625e96c767f9ef","v":"a1e0708b0b6ed1e2"}')); })(jQuery); </script> Bardzo interesuje mnie, jak odtworzyć proces deszyfrowania poza przeglądarką. Dodanie funkcjonalności deszyfrowania tak zapisanych linków w JDownloaderze wydaje mi się być ciekawym pomysłem. |
#2
|
||||
|
||||
![]()
Przeglądarka wywołuje skrypty przechowywane na serwerze.
Skrypty można podejrzeć używając wbudowanych w przeglądarki narzedzi programistycznych (np. przeglądarki oparte na Chrome maja wbudowane Chrome DevTools) - nawet można je wykonywać krokowo. Ale dodanie obsługi tego do wtyczki to już kawał potężnej pracy - kilka wtyczek ma zaszyta obsługę javascriptów ze stron ale to rzadkość - każda zmiana po stronie serwisu to ponowne debugowanie i śledzenie krokowo skryptów - raczej preferujemy, żeby serwisy dostarczały w takich przypadkach API. Nakład pracy i czasu spędzonego nad tego typu przypadkami (obsługa linków przez skrypty) jest zbyt duży.
__________________
--------------------- Poradnik użytkownika jD - najczęściej spotykane problemy Instalatory JD2: http://jdownloader.org/jdownloader2 |
#3
|
|||
|
|||
![]()
Jeżeli odtworzenie samej procedury deszyfracji jest zbyt skomplikowane, to można pokusić się o odtworzenie środowiska w którym oryginalny kod działa. Na razie nie mam jednak pomysłu na to jak zmusić jakąś przeglądarkę do wczytania odpowiednio spreparowanej strony i zapisania wyniku lub logu do pliku. Podejście takie nie wymaga pełnej analizy kodu źródłowego. Potrzebne jest jednak coś na kształt przeglądarki działającej w trybie wsadowym.
|
#4
|
|||
|
|||
![]()
Tę teorię obaliłem, tworząc eksperymentalny kod HTML pobierający biblioteki JQuery z dysku twardego komputera zamiast z oryginalnych serwerów. Dla pewności odłączyłem też kabel sieci Ethernet. Przeglądarka nie mogła więc połączyć się z serwerem, aby pobrać z niego kod do wykonania.
Wniosek. Cały kod potrzebny do rozszyfrowania linku znajduje się w bibliotekach JQuery (jquery-1.8.2.min.js i jquery-ui.min.js). |
#5
|
||||
|
||||
![]()
Uważasz, że przeglądarki przechowują lokalnie wszystkie możliwe skrypty ze wszystkich stron?
![]() Zauważ co masz w kodzie strony: <script src="**External links are only visible to Support Staff**></script> <script src="**External links are only visible to Support Staff**></script> - dokładne wskazania, gdzie są umiejscowione źródła skryptów. Jeśli skrypt nie jest zawarty w kodzie strony, to właśnie po to umieszczane są tagi jak wyżej, aby przeglądarka interpretując i wczytując kod strony "wiedziała" gdzie ich szukać. ![]()
__________________
--------------------- Poradnik użytkownika jD - najczęściej spotykane problemy Instalatory JD2: http://jdownloader.org/jdownloader2 |
#6
|
|||
|
|||
![]()
Faktycznie.
jquery-ui.min.js zawiera bibliotekę CryptoJS z kodem Open Source. Firefox też posiada debugera java scriptu. Musiałem jedynie nauczyć się, jak zmusić go do śledzenia wewnątrz ładowanych z innych serwerów bibliotek. W rezultacie funckja rozszyfrowująca e ma następujący kod: function e(f) { return JSON.parse(CryptoJS.DES.decrypt(f, 's05z9Gpd=syG^7{', { format: d }).toString(CryptoJS.enc.Utf8)); } Na razie nie mam jeszcze sposobu na alternatywne deszyfrowanie DES. |
#7
|
|||
|
|||
![]()
W końcu doszedłem do wniosku że najłatwiej będzie wykorzystać do deszyfrowania przeglądarkę. W chwili obecnej automat zbiera zaszyfrowane linki z podstron, następnie tworzy jeden plik html zawierający wszystkie likni zawierający dla każdego z nich wpis
<p id=initial-d-final-stage-01d.mp4></p> <script> (function ($) {document.getElementById("initial-d-final-stage-01d.mp4").innerHTML =e('{"a":"XWK6qyndOUPqcZufG75ICrJV1937pH5p3DgZ4\/HAs3IZ6ZT8+9HozcRAKG5OAWYry+R1JVmQ7rM+Er0+j6rYjg==","b":"6ff64707e758addca949a1fce3f880c8","v":"f434 8b436ceae890"}')+' initial-d-final-stage-01d.mp4'; })(jQuery); Rezultatem otwarcia pliku html jest tekst zawierający rozszyfrowane linki dla JDownloadera. Trzeba potem ręcznie tekst zaznaczyć i skopiować do schowka. Tego etapu nie udało mi się zautomatyzować. |
![]() |
Thread Tools | |
Display Modes | |
|
|