1A2B

玩了玩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

原文地址:https://www.cnblogs.com/Entr0py/p/7489811.html