if grep -q "�" out.txt
then
echo "working"
else
cat out.txt
fi
基本的に、ファイル「out.txt」にファイル内のどこかに「 」が含まれている場合は、「機能」をエコーしたい場合、およびファイル「out.txt」にファイル内のどこにも「 」が含まれていない場合は、 cat out.txtに
編集:これが私がやっていることです。私はopenssl復号化をブルートフォースにしようとしています。
openssl encは、成功すると0を返し、それ以外の場合はゼロ以外を返します。注:AES / CBCはパディングを正しく行うことに基づいて「復号化が機能する」かどうかしか判断できないため、誤検知が発生します。したがって、ファイルは復号化されますが、正しいパスワードではないため、意味不明なものになります。意味不明な言葉の一般的な文字は「 」です。したがって、出力に「 」が含まれている場合は、doループを続行する必要があります。
Heres my git link https://github.com/Raphaeangelo/OpenSSLCracker Heres the script
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
その中に 文字が含まれた出力がまだ表示されています
更新:解決済み
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
How to grep for unicode � in a bash script
はこれが本当にあなたが欲しいものですか?ユニコードを抽出するには?私たちが助けることができるように明確にしてください!
grep
ユニコードを長く理解します(これにより処理が非常に遅くなるため、ASCII文字列を検索するために、aLANG=C grep
はパフォーマンスが大幅に向上します)。