使用 python 的暴力破解

Brute force using python

我有一个可执行程序,它接受一个四位数的密码组合。我应该使用 python 脚本破解程序。到目前为止我得到了这个。当我执行它时,它只打印 9999。所以我得到 "Wrong pin code: 9999"。请帮忙

import itertools
import os

numbers = '0123456789'
y = ''
for c in itertools.product(numbers, repeat=4):
    pin = y+''.join(c)
print pin
os.system("./xyz "+pin)

注意标识:

import itertools
import os

numbers = '0123456789'
y = ''
for c in itertools.product(numbers, repeat=4):
    pin = y+''.join(c)
    print pin
    os.system("./xyz "+pin)

正如 Maurice Meyer 所说:缩进是错误的。

另外:使用 itertools.product 有点复杂。我想你想解决将 1 变成“0001”的问题,你可以使用 zfill 来解决这个问题:

for i in range(10000):
    pin = str(i).zfill(4)
    os.system("./xyz "+pin)