玩了玩www.syscan.org的小游戏,第三关是一个1A2B的问题,写个小脚本爆破一波,同时分享下脚本(把数固定到代码里了,要在别处用的自己改吧)。
1 #-*-coding:utf8;-*- 2 #qpy:2 3 #qpy:console 4 #规则函数 5 def yz(c,m): 6 #A 7 a=0 8 #B 9 b=0 10 for i in range(0,4): 11 if c[i]==m[i]: 12 a=a+1 13 for i in range(0,4): 14 for j in range(0,4): 15 if c[i]==m[j] and i!=j: 16 b=b+1 17 return a*10+b 18 c=[1,2,5,3]#明文 19 m=[9,2,7,4]#猜测一 20 mb=[3,0,6,7]#猜测二 21 mc=[5,1,4,8]#猜测三 22 md=[3,7,2,8]#猜测四 23 #暴力破解开始 24 for i in range(0,9): 25 for j in range(0,9): 26 for p in range(0,9): 27 for q in range(0,9): 28 c[0]=i 29 c[1]=j 30 c[2]=p 31 c[3]=q 32 if yz(c,m)==2 and yz(c,mb)==11 and yz(c,mc)==10 and yz(c,md)==3: 33 print c