if grep -q "�" out.txt
then
echo "working"
else
cat out.txt
fi
基本上,如果文件“ out.txt”在文件中的任何位置都包含“ ...”,我希望它回显“工作”,并且如果文件“ out.txt”在文件中的任何位置均不包含“。”,那么我想它来猫out.txt
编辑:所以这就是我在做什么。我试图蛮力的openssl解密。
openssl enc成功返回0,否则返回非零。注意:您会得到误报,因为AES / CBC只能根据正确的填充来确定“解密是否有效”。因此,该文件将解密,但它不是正确的密码,因此其中会出现乱码。乱码中的常见字符是“。”。因此,如果输出包含“ ...”,我希望do循环继续进行。
这是我的git链接https://github.com/Raphaeangelo/OpenSSLCracker 这是脚本
while read line
do
openssl aes-256-cbc -d -a -in $1 -pass pass:$line -out out.txt 2>out.txt >/dev/null && printf "==================================================\n"
if grep -q "�" out.txt
then
:
else
cat out.txt &&
printf "\n==================================================" &&
printfn"\npassword is $line\n" &&
read -p "press return key to continue..." < /dev/tty;
fi
done < ./password.txt
它仍然显示带有``charicter''的输出
更新:已解决
printf "Working..."
while read line
do
openssl aes-256-cbc -d -a -in $1 -pass pass:$line -out out.txt 2>out.txt >/dev/null
if file out.txt | grep -q 'out.txt: ASCII text'
then
printf "\n==================================================\n\n" &&
cat out.txt &&
printf "\n==================================================" &&
printf "\npassword is $line\n" &&
read -p "press return key to continue..." < /dev/tty;
else
:
fi
done < ./password.txt
grep
长久以来就了解unicode(这会使它变慢很多,因此搜索ascii字符串,LANG=C grep
会大大提高性能)。