Skip to content

Instantly share code, notes, and snippets.

@kusano
Created December 12, 2021 05:22
Show Gist options
  • Save kusano/3a3cf509cdfb2acc46b91c46356e6e6c to your computer and use it in GitHub Desktop.
Save kusano/3a3cf509cdfb2acc46b91c46356e6e6c to your computer and use it in GitHub Desktop.
#!/bin/sed -f
# Check flag format
# Some characters are used internally
/^SECCON{[02-9A-HJ-Z_a-km-z]*}$/!{
cINVALID FORMAT
b
}
:t
p
s/>o/o>/;tt
s/>1/1>/;tt
s/o-/-1/;tt
s/o1-/oo/;tt
s/11-/1o/;tt
s/1-//;tt
s/xo/ox/;tt
s/x1/1x/;tt
s/x>/>x/;tt
s/xa/ax/;tt
s/xb/bx/;tt
s/yo/oy/;tt
s/y1/1y/;tt
s/y>/>y/;tt
s/ya/ay/;tt
s/yb/by/;tt
s/x/a/;tt
s/y/b/;tt
s/<>/<#/;tt
s/#a/o#/;tt
s/#b/1#/;tt
s/#/>/;tt
s/@ooo/@xoo/;tt
s/@oo1/@yo1/;tt
s/@o1o/@y1o/;tt
s/@o11/@x11/;tt
s/@1oo/@yoo/;tt
s/@1o1/@xo1/;tt
s/@11o/@x1o/;tt
s/@111/@y11/;tt
s/@oo>/>x/;tt
s/@o1>/>y/;tt
s/@1o>/>y/;tt
s/@11>/>x/;tt
s/o</o-<@o/;tt
s/1</1-<@o/;tt
s/</tot/;tt
s/tot1/t1t/;tt
s/toto/f/;tt
s/t1t1/t1ot/;tt
s/t1to/f/;tt
s/t1oto/t11t/;tt
s/t1ot1/f/;tt
s/t11t1/t1oot/;tt
s/t11to/f/;tt
s/t1ooto/t1o1t/;tt
s/t1oot1/f/;tt
s/t1o1t1/t11ot/;tt
s/t1o1to/f/;tt
s/t11ot1/t111t/;tt
s/t11oto/f/;tt
s/t111to/t1ooot/;tt
s/t111t1/f/;tt
s/t1ooot1/t1oo1t/;tt
s/t1oooto/f/;tt
s/t1oo1t1/t1o1ot/;tt
s/t1oo1to/f/;tt
s/t1o1ot1/t1o11t/;tt
s/t1o1oto/f/;tt
s/t1o11t1/t11oot/;tt
s/t1o11to/f/;tt
s/t11oot1/t11o1t/;tt
s/t11ooto/f/;tt
s/t11o1t1/t111ot/;tt
s/t11o1to/f/;tt
s/t111ot1/t1111t/;tt
s/t111oto/f/;tt
s/t1111to/t1oooot/;tt
s/t1111t1/f/;tt
s/t1oooot1/t1ooo1t/;tt
s/t1ooooto/f/;tt
s/t1ooo1t1/t1oo1ot/;tt
s/t1ooo1to/f/;tt
s/t1oo1ot1/t1oo11t/;tt
s/t1oo1oto/f/;tt
s/t1oo11to/t1o1oot/;tt
s/t1oo11t1/f/;tt
s/t1o1oot1/t1o1o1t/;tt
s/t1o1ooto/f/;tt
s/t1o1o1t1/t1o11ot/;tt
s/t1o1o1to/f/;tt
s/t1o11oto/t1o111t/;tt
s/t1o11ot1/f/;tt
s/t1o111to/t11ooot/;tt
s/t1o111t1/f/;tt
s/t11ooot1/t11oo1t/;tt
s/t11oooto/f/;tt
s/t11oo1t1/t11o1ot/;tt
s/t11oo1to/f/;tt
s/t11o1oto/t11o11t/;tt
s/t11o1ot1/f/;tt
s/t11o11to/t111oot/;tt
s/t11o11t1/f/;tt
s/t111ooto/t111o1t/;tt
s/t111oot1/f/;tt
s/t111o1t1/t1111ot/;tt
s/t111o1to/f/;tt
s/t1111ot1/t11111t/;tt
s/t1111oto/f/;tt
s/t11111t1/t1ooooot/;tt
s/t11111to/f/;tt
s/t1oooooto/t1oooo1t/;tt
s/t1ooooot1/f/;tt
s/t1oooo1t1/t1ooo1ot/;tt
s/t1oooo1to/f/;tt
s/t1ooo1ot1/t1ooo11t/;tt
s/t1ooo1oto/f/;tt
s/t1ooo11t1/t1oo1oot/;tt
s/t1ooo11to/f/;tt
s/t1oo1oot1/t1oo1o1t/;tt
s/t1oo1ooto/f/;tt
s/t1oo1o1to/t1oo11ot/;tt
s/t1oo1o1t1/f/;tt
s/t1oo11ot1/t1oo111t/;tt
s/t1oo11oto/f/;tt
s/t1oo111to/t1o1ooot/;tt
s/t1oo111t1/f/;tt
s/t1o1ooot1/t1o1oo1t/;tt
s/t1o1oooto/f/;tt
s/t1o1oo1t1/t1o1o1ot/;tt
s/t1o1oo1to/f/;tt
s/t1o1o1ot1/t1o1o11t/;tt
s/t1o1o1oto/f/;tt
s/t1o1o11t1/t1o11oot/;tt
s/t1o1o11to/f/;tt
s/t1o11ooto/t1o11o1t/;tt
s/t1o11oot1/f/;tt
s/t1o11o1t1/t1o111ot/;tt
s/t1o11o1to/f/;tt
s/t1o111oto/t1o1111t/;tt
s/t1o111ot1/f/;tt
s/t1o1111to/t11oooot/;tt
s/t1o1111t1/f/;tt
s/t11oooot1/t11ooo1t/;tt
s/t11ooooto/f/;tt
s/t11ooo1to/t11oo1ot/;tt
s/t11ooo1t1/f/;tt
s/t11oo1ot1/t11oo11t/;tt
s/t11oo1oto/f/;tt
s/t11oo11t1/t11o1oot/;tt
s/t11oo11to/f/;tt
s/t11o1ooto/t11o1o1t/;tt
s/t11o1oot1/f/;tt
s/t11o1o1t1/t11o11ot/;tt
s/t11o1o1to/f/;tt
s/t11o11oto/t11o111t/;tt
s/t11o11ot1/f/;tt
s/t11o111t1/t111ooot/;tt
s/t11o111to/f/;tt
s/t111ooot1/t111oo1t/;tt
s/t111oooto/f/;tt
s/t111oo1to/t111o1ot/;tt
s/t111oo1t1/f/;tt
s/t111o1ot1/t111o11t/;tt
s/t111o1oto/f/;tt
s/t111o11t1/t1111oot/;tt
s/t111o11to/f/;tt
s/t1111oot1/t1111o1t/;tt
s/t1111ooto/f/;tt
s/t1111o1t1/t11111ot/;tt
s/t1111o1to/f/;tt
s/t11111oto/t111111t/;tt
s/t11111ot1/f/;tt
s/t111111to/t1oooooot/;tt
s/t111111t1/f/;tt
s/t1oooooot1/t1ooooo1t/;tt
s/t1ooooooto/f/;tt
s/t1ooooo1t1/t1oooo1ot/;tt
s/t1ooooo1to/f/;tt
s/t1oooo1oto/t1oooo11t/;tt
s/t1oooo1ot1/f/;tt
s/t1oooo11to/t1ooo1oot/;tt
s/t1oooo11t1/f/;tt
s/t1ooo1ooto/t1ooo1o1t/;tt
s/t1ooo1oot1/f/;tt
s/t1ooo1o1t1/t1ooo11ot/;tt
s/t1ooo1o1to/f/;tt
s/t1ooo11oto/t1ooo111t/;tt
s/t1ooo11ot1/f/;tt
s/t1ooo111t1/t1oo1ooot/;tt
s/t1ooo111to/f/;tt
s/t1oo1oooto/t1oo1oo1t/;tt
s/t1oo1ooot1/f/;tt
s/t1oo1oo1to/t1oo1o1ot/;tt
s/t1oo1oo1t1/f/;tt
s/t1oo1o1ot1/t1oo1o11t/;tt
s/t1oo1o1oto/f/;tt
s/t1oo1o11to/t1oo11oot/;tt
s/t1oo1o11t1/f/;tt
s/t1oo11ooto/t1oo11o1t/;tt
s/t1oo11oot1/f/;tt
s/t1oo11o1t1/t1oo111ot/;tt
s/t1oo11o1to/f/;tt
s/t1oo111oto/t1oo1111t/;tt
s/t1oo111ot1/f/;tt
s/t1oo1111t1/t1o1oooot/;tt
s/t1oo1111to/f/;tt
s/t1o1oooot1/t1o1ooo1t/;tt
s/t1o1ooooto/f/;tt
s/t1o1ooo1t1/t1o1oo1ot/;tt
s/t1o1ooo1to/f/;tt
s/t1o1oo1ot1/t1o1oo11t/;tt
s/t1o1oo1oto/f/;tt
s/t1o1oo11t1/t1o1o1oot/;tt
s/t1o1oo11to/f/;tt
s/t1o1o1ooto/t1o1o1o1t/;tt
s/t1o1o1oot1/f/;tt
s/t1o1o1o1to/t1o1o11ot/;tt
s/t1o1o1o1t1/f/;tt
s/t1o1o11oto/t1o1o111t/;tt
s/t1o1o11ot1/f/;tt
s/t1o1o111t1/t1o11ooot/;tt
s/t1o1o111to/f/;tt
s/t1o11oooto/t1o11oo1t/;tt
s/t1o11ooot1/f/;tt
s/t1o11oo1t1/t1o11o1ot/;tt
s/t1o11oo1to/f/;tt
s/t1o11o1oto/t1o11o11t/;tt
s/t1o11o1ot1/f/;tt
s/t1o11o11to/t1o111oot/;tt
s/t1o11o11t1/f/;tt
s/t1o111oot1/t1o111o1t/;tt
s/t1o111ooto/f/;tt
s/t1o111o1to/t1o1111ot/;tt
s/t1o111o1t1/f/;tt
s/t1o1111ot1/t1o11111t/;tt
s/t1o1111oto/f/;tt
s/t1o11111t1/t11ooooot/;tt
s/t1o11111to/f/;tt
s/t11ooooot1/t11oooo1t/;tt
s/t11oooooto/f/;tt
s/t11oooo1to/t11ooo1ot/;tt
s/t11oooo1t1/f/;tt
s/t11ooo1oto/t11ooo11t/;tt
s/t11ooo1ot1/f/;tt
s/t11ooo11to/t11oo1oot/;tt
s/t11ooo11t1/f/;tt
s/t11oo1ooto/t11oo1o1t/;tt
s/t11oo1oot1/f/;tt
s/t11oo1o1to/t11oo11ot/;tt
s/t11oo1o1t1/f/;tt
s/t11oo11ot1/t11oo111t/;tt
s/t11oo11oto/f/;tt
s/t11oo111to/t11o1ooot/;tt
s/t11oo111t1/f/;tt
s/t11o1oooto/t11o1oo1t/;tt
s/t11o1ooot1/f/;tt
s/t11o1oo1t1/t11o1o1ot/;tt
s/t11o1oo1to/f/;tt
s/t11o1o1oto/t11o1o11t/;tt
s/t11o1o1ot1/f/;tt
s/t11o1o11t1/t11o11oot/;tt
s/t11o1o11to/f/;tt
s/t11o11ooto/t11o11o1t/;tt
s/t11o11oot1/f/;tt
s/t11o11o1to/t11o111ot/;tt
s/t11o11o1t1/f/;tt
s/t11o111ot1/t11o1111t/;tt
s/t11o111oto/f/;tt
s/t11o1111t1/t111oooot/;tt
s/t11o1111to/f/;tt
s/t111oooot1/t111ooo1t/;tt
s/t111ooooto/f/;tt
s/t111ooo1t1/t111oo1ot/;tt
s/t111ooo1to/f/;tt
s/t111oo1oto/t111oo11t/;tt
s/t111oo1ot1/f/;tt
s/t111oo11to/t111o1oot/;tt
s/t111oo11t1/f/;tt
s/t111o1oot1/t111o1o1t/;tt
s/t111o1ooto/f/;tt
s/t111o1o1t1/t111o11ot/;tt
s/t111o1o1to/f/;tt
s/t111o11ot1/t111o111t/;tt
s/t111o11oto/f/;tt
s/t111o111t1/t1111ooot/;tt
s/t111o111to/f/;tt
s/t1111ooot1/t1111oo1t/;tt
s/t1111oooto/f/;tt
s/t1111oo1t1/t1111o1ot/;tt
s/t1111oo1to/f/;tt
s/t1111o1ot1/t1111o11t/;tt
s/t1111o1oto/f/;tt
s/t1111o11to/t11111oot/;tt
s/t1111o11t1/f/;tt
s/t11111oot1/t11111o1t/;tt
s/t11111ooto/f/;tt
s/t11111o1t1/t111111ot/;tt
s/t11111o1to/f/;tt
s/t111111ot1/t1111111t/;tt
s/t111111oto/f/;tt
s/t1111111to/t1ooooooot/;tt
s/t1111111t1/f/;tt
s/t1oooooooto/t1oooooo1t/;tt
s/t1ooooooot1/f/;tt
s/t1oooooo1t1/t1ooooo1ot/;tt
s/t1oooooo1to/f/;tt
s/t1ooooo1oto/t1ooooo11t/;tt
s/t1ooooo1ot1/f/;tt
s/t1ooooo11to/t1oooo1oot/;tt
s/t1ooooo11t1/f/;tt
s/t1oooo1ooto/t1oooo1o1t/;tt
s/t1oooo1oot1/f/;tt
s/t1oooo1o1to/t1oooo11ot/;tt
s/t1oooo1o1t1/f/;tt
s/t1oooo11ot1/t1oooo111t/;tt
s/t1oooo11oto/f/;tt
s/t1oooo111to/t1ooo1ooot/;tt
s/t1oooo111t1/f/;tt
s/t1ooo1oooto/t1ooo1oo1t/;tt
s/t1ooo1ooot1/f/;tt
s/t1ooo1oo1t1/t1ooo1o1ot/;tt
s/t1ooo1oo1to/f/;tt
s/t1ooo1o1oto/t1ooo1o11t/;tt
s/t1ooo1o1ot1/f/;tt
s/t1ooo1o11t1/t1ooo11oot/;tt
s/t1ooo1o11to/f/;tt
s/t1ooo11oot1/t1ooo11o1t/;tt
s/t1ooo11ooto/f/;tt
s/t1ooo11o1t1/t1ooo111ot/;tt
s/t1ooo11o1to/f/;tt
s/t1ooo111oto/t1ooo1111t/;tt
s/t1ooo111ot1/f/;tt
s/t1ooo1111to/t1oo1oooot/;tt
s/t1ooo1111t1/f/;tt
s/t1oo1oooot1/t1oo1ooo1t/;tt
s/t1oo1ooooto/f/;tt
s/t1oo1ooo1t1/t1oo1oo1ot/;tt
s/t1oo1ooo1to/f/;tt
s/t1oo1oo1oto/t1oo1oo11t/;tt
s/t1oo1oo1ot1/f/;tt
s/t1oo1oo11to/t1oo1o1oot/;tt
s/t1oo1oo11t1/f/;tt
s/t1oo1o1oot1/t1oo1o1o1t/;tt
s/t1oo1o1ooto/f/;tt
s/t1oo1o1o1to/t1oo1o11ot/;tt
s/t1oo1o1o1t1/f/;tt
s/t1oo1o11oto/t1oo1o111t/;tt
s/t1oo1o11ot1/f/;tt
s/t1oo1o111to/t1oo11ooot/;tt
s/t1oo1o111t1/f/;tt
s/t1oo11oooto/t1oo11oo1t/;tt
s/t1oo11ooot1/f/;tt
s/t1oo11oo1to/t1oo11o1ot/;tt
s/t1oo11oo1t1/f/;tt
s/t1oo11o1ot1/t1oo11o11t/;tt
s/t1oo11o1oto/f/;tt
s/t1oo11o11t1/t1oo111oot/;tt
s/t1oo11o11to/f/;tt
s/t1oo111oot1/t1oo111o1t/;tt
s/t1oo111ooto/f/;tt
s/t1oo111o1t1/t1oo1111ot/;tt
s/t1oo111o1to/f/;tt
s/t1oo1111ot1/t1oo11111t/;tt
s/t1oo1111oto/f/;tt
s/t1oo11111t1/t1o1ooooot/;tt
s/t1oo11111to/f/;tt
s/t1o1oooooto/t1o1oooo1t/;tt
s/t1o1ooooot1/f/;tt
s/t1o1oooo1t1/t1o1ooo1ot/;tt
s/t1o1oooo1to/f/;tt
s/t1o1ooo1ot1/t1o1ooo11t/;tt
s/t1o1ooo1oto/f/;tt
s/t1o1ooo11t1/t1o1oo1oot/;tt
s/t1o1ooo11to/f/;tt
s/t1o1oo1ooto/t1o1oo1o1t/;tt
s/t1o1oo1oot1/f/;tt
s/t1o1oo1o1t1/t1o1oo11ot/;tt
s/t1o1oo1o1to/f/;tt
s/t1o1oo11ot1/t1o1oo111t/;tt
s/t1o1oo11oto/f/;tt
s/t1o1oo111to/t1o1o1ooot/;tt
s/t1o1oo111t1/f/;tt
s/t1o1o1ooot1/t1o1o1oo1t/;tt
s/t1o1o1oooto/f/;tt
s/t1o1o1oo1t1/t1o1o1o1ot/;tt
s/t1o1o1oo1to/f/;tt
s/t1o1o1o1oto/t1o1o1o11t/;tt
s/t1o1o1o1ot1/f/;tt
s/t1o1o1o11t1/t1o1o11oot/;tt
s/t1o1o1o11to/f/;tt
s/t1o1o11ooto/t1o1o11o1t/;tt
s/t1o1o11oot1/f/;tt
s/t1o1o11o1to/t1o1o111ot/;tt
s/t1o1o11o1t1/f/;tt
s/t1o1o111oto/t1o1o1111t/;tt
s/t1o1o111ot1/f/;tt
s/t1o1o1111to/t1o11oooot/;tt
s/t1o1o1111t1/f/;tt
s/t1o11ooooto/t1o11ooo1t/;tt
s/t1o11oooot1/f/;tt
s/t1o11ooo1t1/t1o11oo1ot/;tt
s/t1o11ooo1to/f/;tt
s/t1o11oo1ot1/t1o11oo11t/;tt
s/t1o11oo1oto/f/;tt
s/t1o11oo11t1/t1o11o1oot/;tt
s/t1o11oo11to/f/;tt
s/t1o11o1ooto/t1o11o1o1t/;tt
s/t1o11o1oot1/f/;tt
s/t1o11o1o1to/t1o11o11ot/;tt
s/t1o11o1o1t1/f/;tt
s/t1o11o11oto/t1o11o111t/;tt
s/t1o11o11ot1/f/;tt
s/t1o11o111to/t1o111ooot/;tt
s/t1o11o111t1/f/;tt
s/t1o111ooot1/t1o111oo1t/;tt
s/t1o111oooto/f/;tt
s/t1o111oo1to/t1o111o1ot/;tt
s/t1o111oo1t1/f/;tt
s/t1o111o1ot1/t1o111o11t/;tt
s/t1o111o1oto/f/;tt
s/t1o111o11to/t1o1111oot/;tt
s/t1o111o11t1/f/;tt
s/t1o1111oot1/t1o1111o1t/;tt
s/t1o1111ooto/f/;tt
s/t1o1111o1t1/t1o11111ot/;tt
s/t1o1111o1to/f/;tt
s/t1o11111oto/t1o111111t/;tt
s/t1o11111ot1/f/;tt
s/t1o111111t1/t11oooooot/;tt
s/t1o111111to/f/;tt
s/t11oooooot>/t/;tt
s/t11oooooot/f/;tt
s/fo/f/;tt
s/f1/f/;tt
s/f>/f/;tt
s/Tt/TS/;t
s/Ct/COt/;tt
s/Ot/ONt/;tt
s/Nt/NGt/;tt
s/Gt/GRt/;tt
s/Rt/RAt/;tt
s/At/ATt/;tt
s/t/Ct/;tt
s/Nf/NG/;t
s/Wf/WRf/;tt
s/Rf/ROf/;tt
s/Of/ONf/;tt
s/f/Wf/;tt
#s/a/o11oooo1/;tt
#s/b/o11ooo1o/;tt
s/c/o11ooo11/;tt
s/d/o11oo1oo/;tt
s/e/o11oo1o1/;tt
#s/f/o11oo11o/;tt
s/g/o11oo111/;tt
s/h/o11o1ooo/;tt
s/i/o11o1oo1/;tt
s/j/o11o1o1o/;tt
s/k/o11o1o11/;tt
s/l/o11o11oo/;tt
s/m/o11o11o1/;tt
s/n/o11o111o/;tt
#s/o/o11o1111/;tt
s/p/o111oooo/;tt
s/q/o111ooo1/;tt
s/r/o111oo1o/;tt
s/s/o111oo11/;tt
#s/t/o111o1oo/;tt
s/u/o111o1o1/;tt
s/v/o111o11o/;tt
s/w/o111o111/;tt
#s/x/o1111ooo/;tt
#s/y/o1111oo1/;tt
s/z/o1111o1o/;tt
s/A/o1ooooo1/;tt
s/B/o1oooo1o/;tt
s/C/o1oooo11/;tt
s/D/o1ooo1oo/;tt
s/E/o1ooo1o1/;tt
s/F/o1ooo11o/;tt
s/G/o1ooo111/;tt
s/H/o1oo1ooo/;tt
s/I/o1oo1oo1/;tt
s/J/o1oo1o1o/;tt
s/K/o1oo1o11/;tt
s/L/o1oo11oo/;tt
s/M/o1oo11o1/;tt
s/N/o1oo111o/;tt
s/O/o1oo1111/;tt
s/P/o1o1oooo/;tt
s/Q/o1o1ooo1/;tt
s/R/o1o1oo1o/;tt
s/S/o1o1oo11/;tt
s/T/o1o1o1oo/;tt
s/U/o1o1o1o1/;tt
s/V/o1o1o11o/;tt
s/W/o1o1o111/;tt
s/X/o1o11ooo/;tt
s/Y/o1o11oo1/;tt
s/Z/o1o11o1o/;tt
s/0/oo11oooo/;tt
#s/1/oo11ooo1/;tt
s/2/oo11oo1o/;tt
s/3/oo11oo11/;tt
s/4/oo11o1oo/;tt
s/5/oo11o1o1/;tt
s/6/oo11o11o/;tt
s/7/oo11o111/;tt
s/8/oo111ooo/;tt
s/9/oo111oo1/;tt
s/{/o1111o11/;tt
s/}/o11111o1/;tt
s/_/o1o11111/;tt
s/^/11o1<>/;tt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment