Rating: 2.0

Simple script with PIL and qrtools.
Find the corners, edges and center, then bruteforce. Works a lot faster than expected, because of QR auto correction I think.
```
import urllib
import qrtools2 as qrtools
import requests
import numpy as np
from PIL import Image
import itertools

images = 'RLUDFB'
im_hash = "260058392f57bad8cbf9"
while True:
print im_hash, "================="
ims = []
for i in images:
url = "http://qubicrube.pwn.seccon.jp:33654/images/" + im_hash + "_"+ i + ".png"
urllib.urlretrieve(url, "a.png")
print url
im = Image.open("a.png").convert('L')
ims.append(im)
ims_k = {}
for im in ims:
unit = im.size[0]/3
for i in range(3):
for j in range(3):
qq = (im.crop((i*unit, j*unit, (i+1)*unit, (j+1)*unit)))
col = np.amax(qq)
if col not in ims_k.keys():
ims_k[col] = [[], [], []]
idx = 0
te = np.amin(qq.crop((0,0,unit,20)))>50
le = np.amin(qq.crop((0,0,20,unit)))>50
be = np.amin(qq.crop((0,unit-20,unit,unit)))>50
re = np.amin(qq.crop((unit-20,0,unit,unit)))>50
if te and le:
idx = 0
elif te and re:
idx = 0
qq = qq.rotate(90)
elif le and be:
idx = 0
qq = qq.rotate(270)
elif re and be:
idx = 0
qq = qq.rotate(180)
elif te :
idx = 1
elif le :
idx = 1
qq = qq.rotate(270)
elif re :
idx = 1
qq = qq.rotate(90)
elif be :
idx = 1
qq = qq.rotate(180)
else :
idx = 2
ims_k[col][idx].append(qq)
ims = []
for col in ims_k.keys():
print col
fl = True
ctr = 0
for cor in itertools.permutations(ims_k[col][0]):
if not fl: break
for cent in itertools.permutations(ims_k[col][1]) :
cp = ims_k[col][2][0]
mat = [cor[0], cent[0], cor[1].rotate(270), cent[1].rotate(90), cp, cent[2].rotate(270), cor[2].rotate(90), cent[3].rotate(180), cor[3].rotate(180)]
q = np.vstack([np.hstack(mat[0:3]), np.hstack(mat[3:6]), np.hstack(mat[6:9])])
im = Image.fromarray(q)
ctr +=1
qr = qrtools.QR()
if qr.decode_image(im.convert('L')) and "36130634" not in qr.data:
fl = False
print qr.data
if "http" in qr.data:
im_hash = requests.get(qr.data).text.split('/images/')[1].split('_')[0]
break

# SECCON{Thanks to Denso Wave for inventing the QR code}
```