利用Python&微信远程控制

概述

在网上偶然看到一个远程控制的小项目,就突发奇想 借题发挥,自己搞一搞,利用Python实现微信远程控制电脑(自己的或者他人的当然你要在别人电脑登陆你的微信

废话不说进入正题

实现功能

简单地说就是你通过微信发给你挂在py上的微信一个特定消息的时候,我会自动处理这段特定的消息:
(关机,600,******),如果符合要求,就执行指令,比如让计算机关机、重启、打开某个文件之类的。
当然有人就会说好麻烦,我还不如自己在桌面点一点不就完事儿了吗
其实不然,当你传入的消息是一个指示无限重启的时候,那么你就相当于电脑中了病毒,也蛮有意思,我不多说,大家自己探索。

准备事项

需要的库有:time、os、wxpy
这里我需要介绍一下wxpy这个库,wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。 wxpy详细用法传送门.

代码展示

下面是两个分开的py文件,因为第一个程序要embed()一直执行下去不断获取消息,第二个程序是获得相应消息,进行解析,如果满足要求就会执行相应cmd指令。
我的消息格式是“指令,多少秒后执行,执行密码” eg:(关机,600,******)

消息的获取
from wxpy import *
导入强大的wxpy

bot = Bot(cache_path = True)
#这一步是扫码登陆阶段(建议小号),当你扫完码之后一段时间会有缓存,下次运行不用扫码即可登录
myself = bot.self

bot.enable_puid('wxpy_puid.pkl')
my_friend = bot.friends().search('你的要发送消息的微信的昵称')[0]
# print(my_friend)

@bot.register(my_friend,[TEXT,PICTURE])
# 注册函数,发送内容仅限于文本与图片(可以扩展更多内容)
def get_message(msg):
# 获取消息并将消息保存存在command.txt(该txt用于下一个消息处理py文件的持续查询)的函数
    print(msg)
    command = msg.text
    with open("D:\\...路径自己选择l\\command.txt",'w+') as f:
        f.write(command)
        f.seek(0)
        print(f.read())
        f.close()
    return msg.text
    # 你会回复同样的内容
    # 如果你不想做出任何回复就只写return

embed()
# 程序进入交互命令行模式
# 你可以看到发来的消息和解析成列表的消息列表

消息的处理
import time
import os

def progressing_bar():
# 让程序不过于单调,加入了简易进度条
    print("ATTENTION!",end='')
    for i in range(10):
        time.sleep(1)
        print(i*'!',end='')

def Get_Command():
# 获取指令
    while True:
    # 查询
        time.sleep(5)
        # 为了不让查询过快,让程序暂停片刻
        progressing_bar()
        with open("D:\\...\\command.txt",'r+') as ff:
            ff.seek(0)
            # 回到文件开头开始read
            if ff.read() != '':
                ff.seek(0)
                command_str = ff.read()
                ff.seek(0)
                time.sleep(3)
                print("\nGet the command: " + command_str)
                Execute_Command(command_str)
                ff.truncate()
                time.sleep(2)

def Execute_Command(command_str):
# 执行指令函数
    dic_command={
        "关机":"shutdown -s -t ",
        "重启":"shutdown -r -t ",
        "word":"C:\\...\\xxx.docx"
    }
    execute_password = "******"
    # 权限密码随意设定
    command_ls = command_str.split(",")
   if len(command_ls) >= 3:
        print("Executing command.")
        if command_ls[0] == "关机" or command_ls[0] == "重启":
            if int(command_ls[1]) <= 120:
                command_ls[1] = "120"
            else:
                pass
            if command_ls[2] == execute_password:
                command_cmd = dic_command[command_ls[0]] + command_ls[1]
                os.system(command_cmd)
            else:
                print("execute_password is wrong,No permission!")
        elif command_ls[0] == "word":
            if command_ls[2] == execute_password:
                command_cmd = dic_command[command_ls[0]]
                os.system(command_cmd)
            else:
                print("execute_password is wrong,No permission!")

Get_Command()

注意事项

  • 在执行消息处理py的时候,要注意一下command.txt要先清空一下
  • 登陆机器人最好用小号,以免造成不必要的麻烦
  • 在尝试关机操作的时候,注意要保存电脑重要文件,以免丢失 在cmd中输入shutdown -a也可以注销刚刚的关机操作

拓展延伸

  • 要想把程序伪装一下,也十分简单,用PyInstaller把他做成一个可执行文件,然后再把可执行文件进行后缀修改,就会变成一个看似正常的软件。
  • 想要执行除了关机、重启、打开文件之外的操作都可以尝试,cmd指令大全等着你!
  • 当然,发送消息的方式有很多,比如邮件、QQ、微信等等,这些都可以用来进行远程控制,之前我在网上看到的是一位大佬自己写的Getmail的包,这个包只需要一个开通POP3的邮箱及密码,就可以实现邮件内容的获取及处理,后续我们仅需要调用他这个库即可。大家如果想要源代码的话,可以关注私信我取。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值