重击程序:
user@root:~/Downloads# ./program
What is the password?
所以它要求输入,如果你得到正确的密码,它会继续运行程序,否则它会退出(为了这个问题,密码是一个 0 到 1000 的数字)。
我需要编写一个 Python 2 脚本来暴力破解密码。我认为伪代码将类似于:
import subprocess
x = 0
while x <= 1000:
subprocess.Popen('./program', stdin=PIPE)
input x
if program exits:
continue
else:
break
x += 1
我有使用在终端中运行命令的非常基本的知识Popen
,但是我不确定如何使用子进程输入字符串 - 我所做的任何谷歌搜索只会引导我使用其他输入做其他事情。
我还纠结于如何检查程序是否已退出。
谢谢你 :)
使用 Popen'scommunicate
可以在这里工作:
import subprocess
for x in range(0,1000):
proc = subprocess.Popen('./program', stdin=subprocess.PIPE)
proc.communicate(str(x))
if proc.returncode:
continue
print "Found the password: " + str(x)
break
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句