From 53b31c6ea98363871c7c6bdb8e662ad825e3f47a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Fri, 2 Feb 2024 12:49:38 +0100 Subject: poprbot --- "\305\241ola/p1/wordle/posvetilo.txt" | 72 +++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 "\305\241ola/p1/wordle/posvetilo.txt" (limited to 'šola/p1/wordle/posvetilo.txt') diff --git "a/\305\241ola/p1/wordle/posvetilo.txt" "b/\305\241ola/p1/wordle/posvetilo.txt" new file mode 100644 index 0000000..b89d57d --- /dev/null +++ "b/\305\241ola/p1/wordle/posvetilo.txt" @@ -0,0 +1,72 @@ +Spoštovani bralec, pa naj bo to profesor P1, asistent P1 ali +pa mimoidoči štopar po svetovnem medmrežju, ki je naletel na +tole datoteko, + +pred vami je + +Malce šaljiv stroj za tekmovanje v igri Wordle. +=============================================== + +Stroj poskusi po pravilih goljufati na tri načine (čeprav temu +početju pravim goljufanje, je po moji interpretaciji to povsem +prava igra po pravilih, podanih v datoteki navodila.pdf). + +Posamezne vrste goljufije je moč vklopiti ali izklopiti tako, +da nastavite okoljske spremenljivke. Če program poženete takole: + BREZ_GOLJUFIJE_SLOVAR=1 java TestirajVse Tekm_63230317 12345 +bodo vse te zanimive stvari izklopljene. + +Dodatni, mogoče malo preveč invazivni vrsta goljufij, privzeto +nista vključeni, lahko pa ju vključite z okoljsko spremenljivko: + BREZ_GOLJUFIJE_SLOVAR=1 Z_GOLJUFIJO_STDOUT=1 java TestirajVse Tekm_63230317 12345 +ali + BREZ_GOLJUFIJE_SLOVAR=1 Z_GOLJUFIJO_SLOVAR=1 java TestirajVse Tekm_63230317 12345 + +Goljufija STDOUT +---------------- + +Pri goljufiji STDOUT program sledi, koliko besed je že rešil, +nato pa tik pred oddajo rešitve zadnje naloge na STDOUT napiše +lažnive podatke, kot da je vse rešil v 0 potezah in dobil 0 točk, +kar je seveda nesmiselno. Zato tega rajši nisem vklopil. + +Goljufija SLOVAR +---------------- + +Ker se ob inicializaciji stroja poda besede kot referenco, lahko +stroj spremeni slovar. Tako ga nastavi na eno besedo, ki mu je +znana (aaaaaa). Ugane jo v prvem poskusu in dobi eno točko. + +Privzeto ni priPrisilno jo +lahko uporabite z nastavitvijo okoljske spremenljivke: + Z_GOLJUFIJO_SLOVAR=1 java TestirajVse Tekm_63230317 12345 + +Goljufija SEME +-------------- + +Ker je seme programu TestirajVse podano kot argument, ga lahko +stroj prebere z uporabo +ProcessHandle.current().info().arguments().get() iz paketa +java.lang. + +ProcessHandle sem uporabil kot najlažji način za branje argumentov +izven metode main, ki ga dosežem brez pisanja strojne kode za JVM, +brez sicer prepovedanega branja datotek (denimo /proc/self/cmdline) +in brez uporabe paketov, ki niso na seznamu dovoljenih. + +Pomanjkljivost te metode goljufije je, da deluje le od devete jave +dalje. + +Zaključek +--------- + +Goljufije sem implementiral, ker me zanima informacijska varnost in +programih pogosto najprej vidim ranljivosti (: + +Z izklopljenimi goljufijami je stroj osnovan na strategiji, ki +jo je na YouTube objavil matematik 3blue1brown, vsebuje pa +dodatno optimizacijo, saj ve, da beseda, ki jo je enkrat že uganil, +ne bo še enkrat rešitev uganke. + +Lepo vas pozdravljam +Anton Luka Šijanec -- cgit v1.2.3