最近一直在學習Python爬蟲,可能随着研究的深入,受到爬蟲技術的感染,開始對擷取别人的資料産生了興趣,Python寫網頁爬蟲是擷取别人網站上的資料,那可不可以用Python寫一個程式擷取别人U盤上的資料呢!
研究了網上的一些程式,結合手上的這塊可以帶來無限歡樂的Raspberry Pi,開始制作了我的第一個簡單的黑客小工具U-disk-thief(U盤小偷)。
我們要實作的效果是,當有U盤插入到樹莓派的USB插口上時,被插入的U盤中檔案的名稱及檔案路徑資訊将生成一個TXT格式的檔案,之後傳入到你制定的微信當中,程式執行的速度取決于U盤中檔案個數的多少。
在這裡做一個說明,寫這個程式并不是要對别人的資料及隐私進行扒竊,隻是為了對Python程式設計的學習和技術的研究。話又說回來,就我周圍這些人的U盤,也沒什麼有價值的資料值得擷取,反而是U盤裡攜帶着各種蠕蟲病毒和宏病毒,經常是過來找我幫忙給U盤殺毒或者是恢複U盤裡被隐藏的檔案,真是不願意将這些U盤連結到電腦上!好了,話不多說,開始我們的制作過程吧!
1.準備材料
(1)樹莓派
(2)兩部可以登入微信的智能手機(分别用于登入兩個互為好友的微信号)
(3)U盤一個
2.樹莓派連結U盤自動識别
由于樹莓派上安裝的是Linux系統,無法對插入的U盤進行自動識别并挂在,在制作前需要在樹莓派上進行設定,實作連結U盤自動識别,方法如下:
在樹莓派上輸入指令
sudo nano /etc/udev/rules.d/10-usbstorage.rules
複制粘貼這個腳本到編輯視窗
儲存退出!
再次插入U盤裝置 會自動挂載到/media目錄下面的目錄被識别為Untitled-sda1(路徑為/media/Untitled-sda1,記住這個路徑,一會我們将會用到), 實作自動識别後可以支援U盤中utf8格式的中文檔案名。
3.python代碼
4.代碼解析
程式代碼比較容易了解,首先是檢測指定的系統路徑下的檔案夾是否存在,也就是U盤插入顯示的檔案夾USB=/media/Untitled-sda1,若不存在就間隔10秒再次執行檢測,若發現U盤,則執行擷取U盤資訊的函數def usbWalker(),函數将生成一個u-copy.txt的文本檔案存儲在'/home/pi/usbdisk-copy/'路徑下,注意這裡的usbdisk-copy檔案夾是我們提前建好的,并且Python程式檔案也存儲在這個路徑下,u-copy.txt檔案生成後将發送到制定的微信中(這一步的具體實作方法可以參照我之前的兩篇文章《Python+樹莓派 實作微信拍照、攝相機器人》和《Python+樹莓派+人體紅外感應子產品 實作微信監控》關于微信機器人的使用)。
若U盤一直插在樹莓派上,則一直進行着程式,這樣就會反複生成u-copy.txt檔案,這樣很不合理,是以在執行生成txt檔案函數前,先執行檢測U盤是否重複的函數def getusb(),進行簡單的重複比較,若發現重複則不執行def usbWalker()函數。
5.應用擴充
這個程式同樣可以修改後在windows系統上執行,修改代碼增加檔案拷貝函數,不但可以讀取到U盤的檔案名稱和路徑,還能copy檔案詳細内容,或者可以指定copyU盤中那些類型的檔案(.doc/.xls/.ppt/.txt......),也可以省去微信發送的環節,将copy的檔案存儲起來。
由于樹莓派的存儲空間比較小,這裡沒有這麼做,但是我在windows系統上完成了上述擴充的程式,并且用Python的打包工具pyinstaller 将程式打包成了.exe執行程式,還設定成windows的本地服務背景運作,這樣就可以更加神不知鬼不覺的擷取U盤資料。
以上就是這個簡單的黑客小工具制作,這裡純粹是為了技術的分享,若你用這種方式做了一些bad thing,請後果自負,是不是腦袋裡已經想着要copy誰的U盤啦!慎重、慎重!!!
作者:高杆python
連結:https://www.jianshu.com/p/bfc84813c745
來源:簡書