CoddityTeam / movaicode

Concours mensuel du Pire Développeur de France
123 stars 10 forks source link

Samedime a une ossature lourde #189

Open p33r-positron opened 2 years ago

p33r-positron commented 2 years ago

J'ai fais de mon mieux pour que personne n'y comprenne rien. C'est de l'assembleur 16-Bits Mode Réel BIOS Hérité, à assembler avec NASM et lancer avec QEMU comme ceci: nasm "samedime a une ossature lourde.asm" -f bin -o "samedime a une ossature lourde.flp" qemu-system-x86_64 -drive "file=samedime a une ossature lourde.flp,format=raw,index=0,if=floppy" Dépendances: NASM et QEMU de ce fait (À ajouter au PATH si vous utiliser Microdoux Fenêtre)

Bonne chance pour ceux qui veulent déchiffrer, voici la bête:

[BITS 16]
[ORG 0b0111110000000000]

call siugotru
mov si, rxiug
call greuigr

call dhgkjef
call gteijgt
call cnkjkdz

dfhugijo:
    mov bx, 0x01F
    mov dx, 0b00000010
    cmp bx, dx
    jne dfhugijo

siugotru:
    mov ah, 0b00001110
    cmp ah, 0b00001111
    jne dgoofxg

greuigr:
    mov bh, [si]
    cmp bh, 0b00000000
    je dgoofxg
    mov bl, bh
    mov cl, bh
    mov ch, cl
    mov dl, ch
    mov dh, dl
    mov al, dh
    int 0b010000
    add si, 1
    cmp al, 0x00
    jne greuigr

dgoofxg:
    ret

cnkjkdz:
    cmp dx, 0
    jne chvjmbc
    call siugotru
    mov si, nnjj
    call greuigr
    jmp dgoofxg

chvjmbc:
    cmp dx, 1
    jg zsdifj
    call siugotru
    mov si, dgjk
    call greuigr
    jmp dgoofxg

zsdifj:
    cmp dx, 2
    jg dfgokr
    call siugotru
    mov si, tihj
    call greuigr
    jmp dgoofxg

dfgokr:
    cmp dx, 3
    jg doifjr
    call siugotru
    mov si, xdfn
    call greuigr
    jmp dgoofxg

doifjr:
    cmp dx, 4
    jg cxniru
    call siugotru
    mov si, skjp
    call greuigr
    jmp dgoofxg

cxniru:
    cmp dx, 5
    jg irethc
    call siugotru
    mov si, ndxf
    call greuigr
    jmp dgoofxg

irethc:
    cmp dx, 6
    jg foisej
    call siugotru
    mov si, idur
    call greuigr
    jmp dgoofxg

foisej:
    cmp dx, 7
    jg cdoksr
    call siugotru
    mov si, ewui
    call greuigr
    jmp dgoofxg

cdoksr:
    cmp dx, 8
    jg uigfjp
    call siugotru
    mov si, nves
    call greuigr
    jmp dgoofxg

uigfjp:
    cmp dx, 9
    jg inuvne
    call siugotru
    mov si, qiue
    call greuigr
    jmp dgoofxg

inuvne:
    cmp dx, 10
    jg lijdsk
    call siugotru
    mov si, xckk
    call greuigr
    jmp dgoofxg

lijdsk:
    call siugotru
    mov si, dfot
    call greuigr
    jmp dgoofxg

dgjiior:
    sub dx, 7
    jmp dgoofxg

gteijgt:
    call dgjiior
    cmp dx, 11
    jg gteijgt
    cmp dx, 0
    jl gteijgt
    jmp dgoofxg

dhgkjef:
    mov bx, ax
    sub ax, bx
    int 0x1A
    mov ah, bh
    jmp dgoofxg

rxiug: db 0b01010110, 0b01101111, 0b01110100, 0b01110010, 0b01100101, 0b00100000, 0b01110000, 0b01101100, 0b01100001, 0b01110100, 0b00100000, 0b01110011, 0b01100101, 0b01110010, 0b01100001, 0b00111010, 0b00100000, 0b00001101, 0b00001010, 0b00000000

nnjj: db 0b01100111, 0b01100001, 0b01110101, 0b01100110, 0b01110010, 0b01100101, 0b01110011, 0b00001101, 0b00001010, 0b00000000
dgjk: db 0b01100011, 0b01110010, 0b01101111, 0b01110101, 0b01110011, 0b01110100, 0b01101001, 0b01101100, 0b01101100, 0b01101111, 0b01101110, 0b01110011, 0b00100000, 0b01100100, 0b01110101, 0b00100000, 0b01100011, 0b01101000, 0b00100111, 0b01101110, 0b01101111, 0b01110010, 0b01100100, 0b00001101, 0b00001010, 0b00000000
tihj: db 0b01100010, 0b01110101, 0b01100111, 0b01101110, 0b01100101, 0b01110011, 0b00001101, 0b00001010, 0b00000000
xdfn: db 0b01100111, 0b01100001, 0b01101110, 0b01110011, 0b01100101, 0b01110011, 0b00001101, 0b00001010, 0b00000000
skjp: db 0b01110000, 0b01100101, 0b01110100, 0b01110011, 0b00100000, 0b01100100, 0b01100101, 0b00100000, 0b01101110, 0b01101111, 0b01101110, 0b01101110, 0b01100101, 0b00001101, 0b00001010, 0b00000000
ndxf: db 0b01110010, 0b01101111, 0b01110101, 0b01110011, 0b01110011, 0b01100101, 0b01110100, 0b01110100, 0b01100101, 0b01110011, 0b00001101, 0b00001010, 0b00000000
idur: db 0b01101101, 0b01100101, 0b01110010, 0b01110110, 0b01100101, 0b01101001, 0b01101100, 0b01101100, 0b01100101, 0b01110011, 0b00001101, 0b00001010, 0b00000000
ewui: db 0b01100011, 0b01110010, 0b01101111, 0b01110101, 0b01100011, 0b01101000, 0b01100101, 0b01110000, 0b01100101, 0b01110100, 0b01110100, 0b01100101, 0b01110011, 0b00001101, 0b00001010, 0b00000000
nves: db 0b01100010, 0b01101111, 0b01110101, 0b01100111, 0b01101110, 0b01100101, 0b01110100, 0b01110100, 0b01100101, 0b01110011, 0b00001101, 0b00001010, 0b00000000
qiue: db 0b01100010, 0b01100101, 0b01110101, 0b01100111, 0b01101110, 0b01101111, 0b01110100, 0b00001101, 0b00001010, 0b00000000
xckk: db 0b01100010, 0b01101111, 0b01110100, 0b01110100, 0b01100101, 0b01110010, 0b01100101, 0b01100001, 0b01110101, 0b01111000, 0b00001101, 0b00001010, 0b00000000
dfot: db 0b01101111, 0b01110010, 0b01100101, 0b01101001, 0b01101100, 0b01101100, 0b01100101, 0b01110100, 0b01110100, 0b01100101, 0b01110011, 0b00001101, 0b00001010, 0b00000000

times 510-($-$$) db 0b00000000
db 0b01010101
db 0b10101010

Ce qui est sûr c'est si que vous me redonnez le même programme demain, je n'y comprendrai plus rien !

louismarslen commented 2 years ago

Salut salut,

Malheureusement tu n'as pas gagné l'édition 9 de MOVAICODE (c'est S4lem qui gagne : #186) 😭 Toutefois nous t'invitons fortement à participer à l'édition 10 qui vient d'être lancée : le README est ici

Merci pour ta prestation 🤘