#grywebowe

1
884
#difflelog #diffle #gamedev hehe

Pojawiło się pytanie o to jak działają hashe w linkach. A siedziałem cicho, bo kogo to interesuje. A ja szczerze bardzo zadowolony jestem jak to działa i tylko czekałem. dx

@Heheszki zwrócił uwagę, że te same hasła mają ten sam koniec. To prawda.

Wczorajszy (niedzisiejszy) wynik:
https://deykun.github.io/diffle-lang/pl?r=QIpUTYtUWbl5SM2UWLllGcuQDZk1iclRnL0gDOtMXYr5CMuITMuEjLxEjL2gTMtQXeyVWblhSI

Jego hash:
QIpUTYtUWbl5SM2UWLllGcuQDZk1iclRnL0gDOtMXYr5CMuITMuEjLxEjL2gTMtQXeyVWblhSI

Wchodzimy np. https://onlinestringtools.com/reverse-stringi odwracamy kod:
IShlbWVyeXQtMTg2LjExLjEuMTIuMC5rYXMtODg0LnRlci1kZDQucGllLWU2MS5lbWUtYTUpIQ

Dekodujemy bash64 np. https://www.base64decode.org/ i dostajemy:
!(emeryt-186.11.1.12.0.kas-884.ter-dd4.pie-e61.eme-a5)!

Jak ktoś da za krótki link to mu urwie hasło i wyświetli “Niestety ten link wygasł lub jest uszkodzony.” @Felonious_Gru czasami wstawia takie linki dając spacje. !( i )! są z tego samego powodu.

Co znaczą części
emeryt - hasło

186 - dzień roku
jeśli ktoś przestawi godzinę i wrzuci to jak zobaczy, że my mamy 185 dzień i to jutrzejsze hasło to zamiast spoilerów jest “Ten link powinien wkrótce działać".

11 - prawidłowych
1 - w złej pozycji
12 - nieprawidłowych
0 - wpisanych jako nieprawidłowe
Te liczby nie są wyświetlane w rezultacie, po nich są słowa i dla hasła emeryt i słów dalej jest liczony wynik tak jak w normalnej grze, te cyfry służą jako suma kontrolna, jak coś jest inaczej to link wygasł.

kas-884 - kasztan
ter-dd4 - terror
pie-e61 - pierw
eme-a5 - emeryt (hasło)
Z tego jestem dumny. Jak wpisujecie kasztan, to diffle pobiera chunk-kas.json z tablicą słów na kas, kąs etc. 884 to pozycja słowa kasztan w systemie szesnastkowym w pobranej tablicy.

Dlaczego? Bo krócej. 243 to w systemie szesnastkowym F3. A Bash64 to będzie MjQz i RjM, cel to mieć url sensownej długości. Z tego samego powodu nie ma tam całych słów.

Akurat w naszym przypadku to nie ma takiego znaczenia, bo link by był krótszy z całymi słowami.
!(emeryt-186.11.1.12.0.kasztan.terror.pierw.emeryt)!

Ale hasło było krótkie i nie miało polskich znaków (te w bashu są zwykle dłuższe) tu długość jest stała 6 znaków, a przy słowach startowych po 15 liter to się szybko zwraca.

But there is more…
Wychodzę z założenia, że jak ktoś strzela dużo słów to w pewnym momencie ma początek słowa.

I na przykład wpisane po kolei:
korzyść, korzeń, korytarz, kora, koran

W tym co wyżej skutkuje kor-123.kor-420.kor-312.kor-12.kor-1098
Ale ja wiedząc, że początek jest ten sam tnę te słowa do kor-123.420.312.12.1098
+ potem do szesnastkowego jeszcze (1098 -> 44a, 12 -> c).

Jak po kor jest kon to jest n-cyfra i odtwarza te litery patrząc na wcześniejsze słowo.

I teraz czasami aktualizuje słownik słów (nie wygrywających tylko tych do wpisania) i wtedy te cyfry się mogą przesunąć, jeśli suma kontrolna się rozejdzie, jest informacja, że link wygasł, ale teoretycznie jeśli po aktualizacji suma działa to link może działać i jest też jakieś ryzyko, że słowa się zmieniły, ale bez wpływu na wynik wtedy czyjś wynik ma oszukane słowo/a.

Nie ma co tej wiedzy używać do oszukiwania, bo wystarczy w trybie prywatnym zgadnąć hasło i potem w normalnym wpisać co się chce i się będzie miało super linka z wynikiem.

Z programistycznych rzeczy to testy jednostkowe nie są tak szanowane, ale właśnie ten ficzer jest nimi pokryty i każdy etap tego wygenerowania linku z słów i słów z linku jest pokryty testami i to po prostu ma działać i się nie psuć.

#difflepl #diffleen #grywebowe
Felonious_Gru

@Deykun no elo, coś mam zjebane w telefonie i czasem doklei spacje, czasem enter gdzies pod koniec. Jak zauważę to poprawiam a jak nie to nie xd

Heheszki

@Deykun Ha! DZIĘKUJĘ że zaspokoiłeś moją ciekawość 🥹 Dotarłem do odwrócenia, ale skorzystałem z kiepskiego dekodera który wyrzucił krzaki, wróciłem do punktu wyjścia. W końcu doszedłem do wniosku, że pewnie api podmienia niektóre znaki w sposób który mnie nie ciekawi, bo jednak szukałem czegoś co będzie widać też gołym okiem :) Bardzo fajne.

Felonious_Gru

@Deykun


Nie ma co tej wiedzy używać do oszukiwania

Teraz to mi nadepnąłes na odcisk

Zaloguj się aby komentować

Zostań Patronem Hejto i odblokuj dodatkowe korzyści tylko dla Patronów

  • Włączona możliwość zarabiania na swoich treściach
  • Całkowity brak reklam na każdym urządzeniu
  • Oznaczenie w postaci rogala , który świadczy o Twoim wsparciu
  • Wcześniejszy dostęp, do wybranych funkcji na Hejto
Zostań Patronem
03.07.2024 – #diffle #diffleen #grywebowe

Chyba wolę angielskie Diffle, chociaż w pierwszym słowie udało mi się nie trafić żadnej literki.

18 letters in 3 words
🟢 6 🟡 1  11  0

https://deykun.github.io/diffle-lang/en?r=hkCN30CbhJmL20CbvBnLyATMtMWZz5CMuETMuEjL24SN4ETLkxWYihSI
Cholernie zlosliwe. Po pierwsze, jest dozwolone nawet jeśli wydawałoby się, że nie. Po drugie, jest niedopuszczalne w grach (wg słownika), ale nasz używa.

03.07.2024 – #diffle #difflepl #grywebowe

30 liter w 4 słowach
18  1

https://deykun.github.io/diffle-lang/pl?r=QIpMTMtImLy0CcvRnLlFGNtUHdz5yYtEGdzVWau5SMukjLz4COx4SN4ETL6NXYpJ2b0hSI