Vinderne af den 29. C Obfuscated Code Writing Contest annonceret

Kildekoden til de vindende bidrag i den niogtyvende IOCCC (International Obfuscated C Code Contest) er blevet offentliggjort. Deltagerne blev bedt om at skabe den mest obfuskerede og vanskeligt parsede C-kode. Bidragene skal på den ene side hindre analyse og forståelse af det problem, der løses, men på den anden side skal koden være interessant og bemærkelsesværdig (bidragene kan have et usædvanligt format eller fremhæve uventede aspekter af C-sproget). Programkodefilens størrelse må ikke overstige 4993 bytes, og den rene kode må ikke overstige 2503 bytes efter behandling med iocccsize-værktøjet.

Blandt vinderne:

  • En URISC-computeremulator, hvis instruktionssæt er begrænset til en enkelt SUBLEQ-instruktion (SUbtract and Branch if Less than or EQual to zero). Emulatoren er kun 366 bytes stor, på trods af at den ud over CPU'en emulerer en framebuffer med en opløsning på 800x512, bruger SDL3-biblioteket til grafikoutput og kan indlæse et billede fra Linux og kør spillet Doom i den.
  • Generator til billeddannelse af sorte huller. Applikationen indeholder en simpel fortolker til en delmængde af Fortran 66-sproget, hvis program er specificeret i form af hulkort, kodet med mellemrum og tabulatorer i kildekoden. Det kodede Fortran-program replikerer den første kode til simulering af sorte huller, der blev udgivet af Jean-Pierre Luminet i 1978. Billedet genereres som en punktsky og gemmes i PGM-format. Ud over simuleringen af ​​sorte huller tilbydes der også kodede "hulkort"-varianter til beregning af Mandelbrot-mængden, beregning af primtal og strålesporing.
  • En variant af patch-værktøjet, der genererer et diff-værktøj gennem en række transformationer af sin egen kode. I det første trin får det kompilerede patch-værktøj sin egen kildekode, som bruges til at generere en diff-fil. Efter at have anvendt denne diff på kildekoden, gennemgår det resulterende program sin egen kode for at generere et sæt patchede commits i "git am"-format. Når disse commits kombineres med kommandoen "git log --pretty=format:%s > final.c", implementerer den resulterende kode diff-værktøjet.
  • Et roguelike-spil, der spilles i en tekstterminal, hvor spillerne navigerer i en automatisk genereret labyrint, samler artefakter og undgår monstre. Koden er formateret som et billede af en fangehulsbeboer og forvirret (strenge krypteres, løkker implementeres ved hjælp af goto, og arrays håndteres ved hjælp af syntaksen "index[array]").

  • En ASCII-animationsgenerator, der genskaber Doctor Who-introsekvensen og simulerer "HowlRound"-effekten (en tunnel af krympende billeder), der blev brugt i introsekvensen fra 1963.
  • En GameBoy-emulator optimeret til Tetris, men også i stand til at køre andre spil (ROM-filer til et dusin spil er blevet testet). Outputtet genereres som pseudografik ved hjælp af Unicode-tegn.
  • En surflydsimulator med automatisk genereret meditativ musik i baggrunden. Outputtet er en 5-minutters WAV-fil.
  • En implementering af den selvmodificerende Quine Pong spilleautomat med to spil: bordtennis og en dinosaur-forhindringsbane (ligesom Google Chromes påskeæg). Programmet er kendt for sin billedvisning, som opnås gennem cyklisk koderegenerering (start af programmet resulterer i outputtet af kildekoden til den første frame; kompilering af denne kode genererer koden til den næste frame osv.). Gameplayet implementeres gennem et shell-script, der udfører cyklisk koderekompilering.
  • En compiler og kodegenerator til Zoltraak-sproget. Sproget består af kun ét ord, "zoltraak", som er kombineret i forskellige former med mellemrum og tomme linjer. Enhver tekstfil indtastes, og den konverteres til et C-program bestående af en header og en Zoltraak-sekvens. Kompilering og udførelse af det genererede C-program genererer indholdet af den originale tekstfil.


Afspil video
/


Kilde: opennet.ru
Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster