-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Roman Tyczka <n...@b...no>
Newsgroups: pl.comp.programming
Subject: Re: popaprany JS
Date: Tue, 28 Mar 2017 09:58:30 +0200
Organization: ATMAN - ATM S.A.
Lines: 74
Sender: r...@t...no.found
Message-ID: <1wyqjrjy0hoxc$.dlg@tyczka.com>
References: <j6xj1vxv7su9$.dlg@tyczka.com> <obbmf2$5ps$1@node1.news.atman.pl>
NNTP-Posting-Host: 94.75.90.137
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1490687910 14607 94.75.90.137 (28 Mar 2017 07:58:30 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 28 Mar 2017 07:58:30 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.84
Xref: news-archive.icm.edu.pl pl.comp.programming:210356
[ ukryj nagłówki ]On Mon, 27 Mar 2017 20:42:41 +0200, bartekltg wrote:
>> function(e, s, i)
>> {
>> var n, a, o = "",
>> l = t.isArray(e),
>> r = 0;
>> for (n = 0, a = s.length; n < a; n += 1) "+" === s.charAt(n) ? o +=
>> i.charAt(n) : "*" === s.charAt(n) && (o += l ? e[r++].value :
>> e.charAt(r++));
>> return o
>> }
> Jeśli to dobrze rozumiem, to genialny przykład "chackerstwa" (tak, ch;))
Być może to wynik pracy jakiegoś obfuscatora, udany wynik jak widać.
> "+" === s.charAt(n) ? o += i.charAt(n)
>
> Na razie prosto. Operator trójargumentowy ?: jak w c++.
>
> Czy n-ta (kto normalny iteruje po n, czyję się zgorszony!:)
> literaka s to "+"
> (porównujemy ===, bo == jest miękkie :)
>
> Jeśli tak, to dodajemy literkę na koniec o,
> o += i.charAt(n)
> (nie wynika nic z tego, co jest po :)
> jeśli nie, to (co innego, o tym poźniej).
>
> Teraz zaczynają się schody, jeśli s[n] nie ejst plusem,
> wykona się to:
>
> "*" === s.charAt(n) && (o += l ? e[r++].value : e.charAt(r++))
>
> Nieco rozszerzając:
>
> "*" === s.charAt(n)
> &&
> (o += l ? e[r++].value : e.charAt(r++))
>
> Sztuczka polega na tym, że to wyrażenie wylicza
> się do boola. Jeśli s[n] to '*', zadziała
> leniwa ewaluacja i nawias się nie wykona.
> Jeśli jest czym innym niż *, mamy (strzelam dodatkowe
> nawiasowanie):
Jeśli jest cymś innym? Czy raczej jeśli jest * właśnie?
[...]
> Ostatecznie strzelałbym, że to znaczy(to nie JS:)
>
> if ("+"== s.charAt(n))
> o += i.charAt(n);
> else if ('*' ~= a.charAt(n) )
> o+ = (l ? e[r++].value : e.charAt(r++) );
~= oznacza różny?
Jeśli tak to warunek byłby dziwny:
jeśli n-ty znak jest + to zrób to,
w przeciwnym wypadku, jeśli n-ty znak jest różny od * (czyli znów równy +)
to zrób tamto.
I chyba literówka, nie a.charAt(n) tylko s.charAt(n).
> A, drobna uwaga, nie znam JS ;-)
Tak czy owak wielkie dzięki za pochylenie się nad tym ścierwem, dużo mi
pomogłeś :-)
--
pozdrawiam
Roman Tyczka
Następne wpisy z tego wątku
- 28.03.17 12:04 bartekltg
- 28.03.17 16:56 Roman Tyczka
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML