# cat blog >> /dev/brain 2> /proc/mind
cat blog >> /dev/brain 2> /proc/mind
# cat xor_alternative.py import sys # data contains hex chars (a-f + 0-9) and random chars # Chars are not repeated data = '2ubfLkR0vsJ#)=SQtXNcO6AYPT1U+ja7W*h9I-y4GeHzn5&BK;_@$U3dm8^%' def obfuscate(s, step): out = '' ldata = len(data) ls = len(s) for i in s: h = hex(ord(i))[2:] for j in h: p = data.index(j) p2 = (p + step) % ldata out += data[p2] return out def deobfuscate(s, step): out = '' ldata = len(data) ls = len(s) for i in range(0, ls, 2): h = '' for j in range(2): p = data.index(s[i + j]) p2 = (p - step) % ldata h += data[p2] out += chr(int(h, 16)) return out action = sys.argv[1] s = sys.argv[2] step = int(sys.argv[3]) print 'String =', s print 'Step =', step if action == 'o': print 'Action = Obfuscate' print 'Result =', obfuscate(s, step) elif action == 'd': print 'Action = Deobfuscate' print 'Result =', deobfuscate(s, step) # python xor_alternative.py o SECRET 1234 String = SECRET Step = 1234 Action = Obfuscate Result = c+=c=+ch=cc= # python xor_alternative.py d c+=c=+ch=cc= 1234 String = c+=c=+ch=cc= Step = 1234 Action = Deobfuscate Result = SECRET
cat xor_alternative.py
python xor_alternative.py o SECRET 1234
python xor_alternative.py d c+=c=+ch=cc= 1234
# cat mission_06.py from PIL import Image import qrtools n = 25 m = 3 fn = 'mission_06.png' matrix = [255 for i in range(n * n)] with open('mission_06.data') as f: data = f.read().splitlines() for line in data: line = line[1:-1].split(', ') i = int(line[0]) j = int(line[1]) matrix[(i*n) + j] = 0 image = Image.new('L', (n, n)) image.putdata(matrix) image.save(fn) img = Image.open(fn) img = img.rotate(-90) img = img.resize((n * m, n * m), Image.ANTIALIAS) img.save(fn) qr = qrtools.QR(filename = fn) if qr.decode(): print qr.data # python mission_06.py Mirrored QR? Seriously?!
cat mission_06.py
python mission_06.py
# curl -v http://gynvael.vexillium.org/ext/thepicture/picture.image Content-Encoding: rle Content-Type: image/raw; w=640,h=212,bpp=8 # cat mission_05.py from struct import unpack from PIL import Image with open('picture.image') as f: cdata = f.read() ddata = [] for i in range(0, len(cdata), 2): v = unpack('B', cdata[i + 1])[0] ^ 1 for _ in range(unpack('B', cdata[i])[0]): ddata.append(v * 255) image = Image.new('L', (640, 212)) image.putdata(ddata) image.save('output.png') # python mission_05.py
curl -v http://gynvael.vexillium.org/ext/thepicture/picture.image
cat mission_05.py
python mission_05.py