Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Szyfrowane liczby w Javascript
Napster
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 31.05.2008

Ostrzeżenie: (0%)
-----


Witam.
Potrzebuje parsować listę adresów serwerów proxy oraz port za pomocą wyrażeń regularnych. Z adresem IP nie mam problemu, jednak nie potrafię odczytać portu, bo jest jakby zaszyfrowany, chyba specjalnie.

Adres do strony
http://www.samair.ru/proxy/

Przykładowy fragment kodu:
  1. <tr><td>116.236.216.116<script type="text/javascript">document.write(":"+z+o+z+o)</script></td><td>anonymous </td><td>May-18, 09:58</td><td>China</td></tr>
  2. <tr><td>218.207.195.217<script type="text/javascript">document.write(":"+z+o)</script></td><td>anonymous </td><td>May-18, 10:24</td><td>China</td></tr>
  3. <tr><td>213.248.60.252<script type="text/javascript">document.write(":"+z+o)</script></td><td>anonymous </td><td>May-16, 16:04</td><td>Russian Federation</td></tr>
  4. <tr><td>84.73.154.109<script type="text/javascript">document.write(":"+z+o)</script></td><td>anonymous </td><td>May-17, 03:22</td><td>Switzerland</td></tr>
  5. <tr><td>183.88.159.147<script type="text/javascript">document.write(":"+z+o+z+o)</script></td><td>anonymous </td><td>May-18, 10:56</td><td>Thailand</td></tr>
  6. <tr><td>180.183.43.234<script type="text/javascript">document.write(":"+l+m+j+z)</script></td><td>anonymous </td><td>May-17, 09:52</td><td>Thailand</td></tr>


Chodzi o to np.
  1. <script type="text/javascript">document.write(":"+l+m+j+z)</script>


W źródle znalazłem takie coś:
[JAVASCRIPT] pobierz, plaintext
  1. eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('e=5;d=1;c=6;a=8;b=3;g=0;f=4;h=9;i=7;j=2;',20,20,'||||||||||z|l|q|m|k|u|o|t|n|'.split('|'),0,{}))
[JAVASCRIPT] pobierz, plaintext


Jak to odczytywać? Z początku myślałem, że każda litera ma przypisaną liczbę, ale tak nie jest, bo jest to zmienne.

Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


http://jsbeautifier.org/


--------------------
Go to the top of the page
+Quote Post
redeemer
post
Post #3





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Zawsze możesz użyć rozwiązania typu PhantomJS, zamiast bawić się w "rozszyfrowywanie" javascriptu. Takie rozwiązanie będzie też bardziej "future proof".


--------------------
Go to the top of the page
+Quote Post
Comandeer
post
Post #4





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Dokładnie jak mówi @redeemer - jeśli trzeba coś pobrać ze strony, która do wyświetlania tego używa JS, najlepiej to odpalić w takiej "pseudoprzeglądarce", która po prostu wykona JS, a Tobie pozwoli pobrać odpowiednie rzeczy przez DOM - prosto i przyjemnie. Minus? Trza umieć w JS wink.gif

Co do wyrażeń regularnych i parsowania stron - chyba najlepiej oddaje to ten wpis na SO: http://stackoverflow.com/a/1732454

Ten post edytował Comandeer 18.05.2015, 18:53:03


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:07