【发布时间】:2018-09-26 04:20:43
【问题描述】:
Bash 程序:
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 在终端中运行命令,但是我不确定如何使用子进程输入字符串 - 我所做的任何谷歌搜索都会导致我对那些用其他输入做其他事情的人说。
我还纠结于如何检查程序是否退出。
谢谢你:)
【问题讨论】:
-
你的python脚本需要写在
./program的STDIN上。这可能会有所帮助:stackoverflow.com/questions/37560427/…。或者对同一概念进行进一步研究。我没有将其标记为重复,因为它可能无法完全满足您的要求。
标签: python bash python-2.7 terminal subprocess