campctf2023-chall-tis256

Zachtronics TIS100-inspired reversing challenge for CampCTF 2023
git clone https://git.sinitax.com/sinitax/campctf2023-chall-tis256
Log | Files | Refs | Submodules | README | sfeed.txt

draw.py (781B)


      1from tpu import *
      2from PIL import Image
      3import numpy as np
      4import sys, random
      5
      6minicat = """
      7___OO__________OO___: nop
      8____________________: nop
      9_________WW_________: nop
     10__WW____WWWW____WW__: nop
     11___WW__WW__WW__WW___: nop
     12____WWWW____WWWW____: nop
     13"""
     14
     15meowcode = ["mov 109, UP", "mov 101, RIGHT", "mov 111, DOWN", "mov 119, LEFT"]
     16
     17#catsounds = ["nyaa", "miao", "meow"]
     18#randomcap = lambda s : "".join([c.upper() if random.choice([0,1]) else c.lower() for c in s])
     19
     20main = parse(open(sys.argv[1]).read())
     21offx = int(sys.argv[3])
     22offy = int(sys.argv[4])
     23
     24im = Image.open(sys.argv[2]).convert("L")
     25im = np.array(im)
     26
     27w,h = im.shape
     28for y in range(h):
     29    for x in range(w):
     30        if im[y][x] != 255:
     31            main["tpus"][(x+offx,y+offy)] = meowcode
     32
     33write(main, sys.argv[5])