If an attacker observes two or three consecutive outputs of Math.random(), they can reverse-engineer the internal state of the generator and predict all future (and past) values with 100% accuracy. This has been demonstrated in multiple research projects and open-source tools.
Jestem dużym fanem userscriptów w js do #tampermonkey i zdecydowanie wolę je niż roszerzenia w przeglądarkach. To co lubię w userskryptach to że, z założenia użytkownik ma wiedzieć jaki kod się u niego odpala i na jakich domenach, roszerzenia oferują więcej ale trzeba się nagrzebać żeby czytać ich kod. Też jak padnie roszerzenie trzeba liczyć, że twórca urzymuje i naprawi, a skrypt można sobie samemu na kolanie naprawić jak trzeba.
Przez lata napisałem tych skryptów setki od kilku linijkowych do jakiś mini appek na stronach dodające funkcjonalności. I sobie wypracowałem jakiś flow na live rebuild, testowanie wydawanie etc. ale zawsze jak coś parsowałem to kopiowałem ostatni i czyściłem i stawiałem coś nowego.
I ostatnio się wziąłem za templatkę i wyszedł manager do developmentu wielu skryptów z jednego miejsca, i obecnie szlifuje i testuje ale jest fajnie bardzo. Mam full support dla TypeScripta, lokalnie mi przebudowywuje skrypt i jak klikam F5 to na stronie do której developuje skrypt i odrazu mogę testować update.
Teraz przenoszę parser do wpisów na hejto z 2024 żeby zliczyć roczne wyniki w #diffle i żeby przetestować flow, ale wszystko wskazuje na to, że mam fajną czystą baze pod pisanie skryptów i jak będzie gotowe to zrobe publiczną jako templatka dla innych i niech sobie siedzi na githubie. Github jest też o tyle supper, że jak jest url do repozytorium to linkując do skryptu z paramem do "raw" żeby dostać kod będziemy mieć działający URL do aktualizacji jak ktoś korzysta z naszych skryptów może je aktualizować prosto z repo.
@Felonious_Gru kolego ja myślę, że będzie większy problem bo chyba jak się wchodzi na strone tagu to powyżej którejś strony pokazuje w kółko 20 strone a nie 21 czy 22. xD
@Deykun O, potrzebowałem coś takiego xD. Też jestem fanem userscriptów do Tampermonkey.
Ja żeby mieć live rebuild zrobiłem tak, że sam skrypt w przeglądarce jest pusty i ma po prostu @require ze ścieżką do lokalnego pliku na dysku (trzeba w ustawieniach włączyć dostęp do plików z dysku). I zwyczajnie podaje ścieżkę do pliku który jest bundlem z Vite.js. W jego configu ustawiłem sobie aby budowało mi ten plik za każdym razem jak edytuje pliki z JS i to działa. Chętnie przetestuje twoje rozwiązanie jak już to upublicznisz. Bo znalazłem kiedyś coś podobnego na GH ale nie chciało mi działać.
@Deykun chciałbym umić w programowanie na tyle, żeby zrozumieć. Znaczy się wiem co to userscript, chociaż sam żadnego nie napisałem, to korzystałem kiedyś z Greasemonkey. Jak rozumiem Tampermonkey jest odpowiednikiem w Chromie. Ale clou Twojego dzieła mi umyka. Manager tworzenia usersciptów z szablonów? W sensie że nie musisz zaczynać od zera m tylko korzystasz z wcześniej napisanych skryptów? Dobrze kombinuję?
Jak rozumiem Tampermonkey jest odpowiednikiem w Chromie.
Jest na oba, GM też używałem w przeszłości ale ludzie rekomendowali zmianę i Tampermonkey jest popularniejszy wszędzie, tez na FF.
W sensie że nie musisz zaczynać od zera m tylko korzystasz z wcześniej napisanych skryptów?
Obecnie jak się ma TM to się klika dodaj skrypt i droga wolna pisze się czysty "js" i nawet jest jakieś podkreślanie składni, ale jak masz większy skrypt to masz 600 linii ciągiem bez typów czyli z linii 600 wywołujesz funkcję zdefiniowaną w linii 100 i musisz pamiętać jakie parametry przekazać i wszystko. Tak się nie piszę solidnego JS w 2025. Ja mam u siebie jeden index z wywołaniem tej funkcji jak w linii 600, ale u mnie w kodzie to jest importowane z innego pliku i ma informacje co dostaje i co zwraca.
A mówię manager, bo w repo mogę mieć 5 skryptów i wszystkie je mogę z tego 1 repozytorium budować, bo są w swoich folderach, ale mam też funkcję którą chcę użyć kilku to mogę ją dać do folderu nad nimi i wszystkie mogą ją importować.
Trochę przerąbane, że żeby wykryć klik na danym bloku muszę przejść przez listę bloczków i znaleźć taki .png co jest granicach kliku i jednocześnie kliknięty pixel w obrazku nie jest transparenty (wtedy obrazek za lepszy). W sumie skomplikowane, ale jak się to poskłada to działa dość prosto.
Aby zrozumieć dlaczego virtio jest fajnym rozwiązaniam trzeba się najpierw zagłębić w to jak w ogóle wygląda postawienie systemu np. Androida na urządzeniu. Każdy telefon jest trochę inny. W inne miejsce może być podpięta pamięć, serial itd. Dlatego zawsze kilka tygodni zajmuje pokonfigurowanie kernela. Potem trzeba napisać HAL, który tłumaczy androidowi jak np. używać GPS. To znów wymaga czasu. Każda aktualizacja androida wymaga dopasowania tego co już jest. Często więc dużo czasu i pieniędzy wymaga takie coś - jest też Treble, ale mniejsza z tym teraz.
Konkluzja jest taka:
Różne systemy operacyjne odpalane na czymś w stylu telefonu. Jest system linux host, który przez virtio przekazuje wszystko do guesta (usb, bt, wifi itd) np. Androida i dzięki temu działa od razu bez zabawy w drivery po stronie androida.
To jest o tyle fajne, że jeśli się przyjmie na szeroką skalę to aktualizacja systemu będzie możliwa na dowolnym urządzeniu. Wymiana systemu na dowony inny używający virtio też nie będzie problemem. Może rynek telefonów zacznoe przypominać rynek PC, gdzie możesz sobie podmoenić system i wszystko śmiga.
@Klopsztanga Ostatnio zacząłem się interesować troche fizyką kwantową i okazuje się, że IBM u siebie na stronie ma darmowe narzędzie do budowy obwodów kwantowych - https://quantum-computing.ibm.com/composer/files/new
Czy ktoś ma również problem na #firefox z Hejto? Wszystko się wyświetla, ale nic nie mogę kliknąć. Cache czyszczone, strona wczytywana od zera, nic nie pomaga.