shell腳本——自動識別圖片驗證碼

Linux與Shell剛入門學習,寫的東西在大多數人看來很淺,其實只爲自己的學習總結。

如果有大牛對我寫的東西指點一二,更是感激不盡!


近來經常用Archlinux上一個國外的免費×××,速度還不錯,就是每天會變一次密碼,每天都要上主頁去看一下最新的密碼,久了也感覺麻煩,所以就想點懶招(我這人有點懶j_0057.gif)~~


經觀察,密碼驗證圖爲4個數字,分別由a.jpg、b.jpg、c.jpg、d.jpg組成,下載圖片後用diff和cmp比對後發現只要是同樣數字,都是同一張圖片,不管是叫a還是叫b還是叫c

wKiom1RDPyfRq6UGAAA4iinS1Vo681.jpg


所以我想法就是先用幾天時間下載10張圖片做爲原圖,以後每天要上就用腳本來獲取每天的密碼圖片,再來跟原圖片做比對,確認出圖片的號碼和密碼,再自動修改×××的配置文件爲新密碼,最後自動連線和改DNS。


以下節選了獲取圖片和對比的腳本:

#!/bin/bash
#刪除des文件夾下的舊圖片並下載新圖片
rm -rf des/*
wget -P des/ http://free.linuxlab.kr/test/password/{a,b,c,d}.jpg 1>/dev/null 2>&1 
if [ $? = 0 ];then
    [ -f des/a.jpg ]&&[ -f des/b.jpg ]&&[ -f des/c.jpg ]&&[ -f des/d.jpg ]&&
    echo "Download Finish!"
else 
    echo "Download Failed!!!"&&exit 2
fi

#循環對比圖片  
pw=0
dfile=`echo des/{a,b,c,d}.jpg`
for i in $dfile
do
    for f in {0..9}
    do
    diff  $i "sou/"$f 1>/dev/null 2>&1 && pw=$(( pw * 10 + $f )) 
    done
done
echo "The password is "$pw


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章