• 《自拍教程74》Python 假装企业微信电脑在线并定时关机, 骗老板的好方法!


    案例故事: 即时通讯(IM)软件有很多,比如企业微信,钉钉,飞书,Skype, 微软的Lync等,
    这些软件现在都很牛,还能监控谁谁在不在电脑旁工作,谁谁谁提前下班溜了。。。

    一次偶然的机会,有个妹子请教我,她每天都想准时18点下班,
    她问我如何做到: 假装企业微信在线,并在2个小时后(20点)准时关机,
    这样她就能成功欺骗老板,假装自己一直在努力加班.....

    准备阶段
    1. 其实企业微信的是否在线,取决于是否你的电脑是否键盘或鼠标事件持续进行。
    2. 经过测试,模拟键盘事假即可,用keyboard 模块,需要pip install keyboard安装
    3. 建议用scroll lock这个按键,因为这个按键单独点击,一般不会影响系统其它的程序运行, 除了打开的Excel表滚动会受影响!
    4. Windows系统的立马关机命令是:shutdown /s /t 0

    Python批处理脚本形式

    记住批处理脚本的精髓:批量顺序执行语句

    import os
    import time
    import keyboard
    
    TIMEOUT = 7200  # 2小时(7200s)常量
    once_time = time.time()  # 获取当前时间戳,并保存到一个变量
    
    # 循环获取当前时间,与once_time变量做时间戳做减法
    while time.time() - once_time <= TIMEOUT:
        print("Pressed the scroll lock key")
        keyboard.press_and_release("scroll lock")  # 按下“scroll lock" 键
        time.sleep(5)  # 每5秒间隔一次
    
    os.system("shutdown /s /t 0")  # 立马关机
    

    Python面向过程函数形式

    这么简单的程序,用批处理脚本形式即可
    如果非要搞成函数形式,培养培养编程思维,也未尝不可!

    import os
    import time
    import keyboard
    
    
    def input_keyevent(key, timeout):
        once_time = time.time()  # 获取当前时间戳,并保存到一个变量
    
        # 循环获取当前时间,与once_time变量做时间戳做减法
        while time.time() - once_time <= timeout:
            print("Pressed the %s key" % key)
            keyboard.press_and_release(key)  # 按下某个键
            time.sleep(5)  # 每5秒间隔一次
    
    
    def shutdown_now():
        os.system("shutdown /s /t 0")  # 立马关机
    
    
    # 第一步,执行2个小时的按键事件
    input_keyevent("scroll lock", 7200)
    
    # 第二步, 立马关机
    shutdown_now()
    

    Python面向对象类形式

    这么简单的程序,用批处理脚本形式即可
    如果非要搞成类形式,培养培养编程思维,也未尝不可!

    import os
    import time
    import keyboard
    
    
    class KeyEventInputter(object):
        def __init__(self, key):
            self.key = key
            self.once_time = time.time()  # 临时取一次时间
    
        def input_keyevnet(self, timeout):
            # 循环获取当前时间,与once_time变量做时间戳做减法
            while time.time() - self.once_time <= timeout:
                print("Pressed the %s key" % self.key)
                keyboard.press_and_release(self.key)  # 按下某个键
                time.sleep(5)  # 每5秒间隔一次
    
    
    if __name__ == '__main__':
        # 第一步,新建一个键盘事件输入器的对象,执行2个小时的按键事件
        k_obj = KeyEventInputter("scroll lock")
        k_obj.input_keyevnet(7200)
    
        # 第二步,执行2个小时的按键事件
        os.system("shutdown /s /t 0")  # 立马关机
    

    运行方式

    以上代码可以直接运行,比如保存为keep_active.py并放在桌面,
    建议python keep_active.py运行,当然也可以双击运行。

    小提示:import keyboard
    print(keyboard.read_key()) # 可以获取到键的具体名称,比如我按下ScrLK按键,则打印:scroll lock
    keyboard.press("scroll lock") 函数和 keyboard.press_and_release("scroll lock")函数是不同的。
    前者是一直按住某个键,后者是按一次然后放开,所以本案例用后者函数。


    小提示: 我自知这种行为是不对的,我只是站在通过Python技术来实现解决日常工作碰到的问题的角度,才写的这篇文章,
    我其实更提倡更有正能量的东西, 这种行为,不能忍, 因为我也是一个老板!!!


    更多更好的原创文章,请访问官方网站:www.zipython.com
    自拍教程(自动化测试Python教程,武散人编著)
    原文链接:https://www.zipython.com/#/detail?id=503fb4feb1b74859b6cfdcb5408cef95
    也可关注“武散人”微信订阅号,随时接受文章推送。

  • 相关阅读:
    【Mysql sql inject】【入门篇】sqli-labs使用 part 3【15-17】
    【Mysql sql inject】【入门篇】SQLi-Labs使用 part 2【12-14】
    【Mysql sql inject】【入门篇】SQLi-Labs使用 part 1【01-11】
    【CTF WEB】ISCC 2016 web 2题记录
    【Mysql sql inject】POST方法BASE64编码注入write-up
    【sql server inject】使用动态查询执行sql语句实例
    【跨站关】网络信息安全攻防学习平台跨站过关的彩蛋
    【sql inject】sql盲注技巧
    【php】随缘php企业网站管理系统V2.0 shownews.php注入漏洞
    ASP.NET新建解决方案和网站
  • 原文地址:https://www.cnblogs.com/zipython/p/13226278.html
Copyright © 2020-2023  润新知