T00ls 微信公众号自动签到脚本

Posted by JenI on 2016-12-05 00:00:00+08:00

前言

T00ls是当前国内为数不多的民间网络信息安全研究团队之一。作为专业的安全技术交流平台,无数安全爱好者在T00ls网上发表技术文章,这对信息安全的发展起着至关重要的作用,同时对于我们刚刚接触安全行业的人来说,更是学习安全知识,提升自我能力的宝地。然而T00ls的注册并不像其他论坛那样容易。官网提供的注册方法是提交自己的安全作品,作品只接受各大知名厂商(互联网公司、安全公司、大型企业网站)安全漏洞(含注入、跨站、代码执行等等)或者自己独立原创的安全文章、攻防思路,而且每天只限10个申请名额。这对于我们菜鸟来说存在一定难度,一是写出的文章未必满足 T00ls 的要求,二是未必能抢到每天的申请名额。所以 T00ls 网为了照顾新手,特意开通了微信公众号签到功能,规定连续签到90天的用户可以获得 T00ls 邀请码,但是,连续签到也不是个容易事,说不定哪天给忘了,那之前的努力就白费了,所以我写了个简单的脚本,放到服务器上后台运行,实现每天自动签到并抽奖。

脚本

使用这个脚本需要在服务器上先安装几个相关的库或依赖,首先使用 xshell 或者 putty 等软件远程 ssh 连接服务器(centos),然后执行

yum install gcc python-devel zlib-devel libjpeg-turbo-devel.x86_64
#pip的默认源速度慢得让人想死,这里推荐使用清华大学的pypi源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple itchat
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow

环境部署完成后,创建一个 .py 脚本文件,名字随意,如:sign.py ,脚本内容如下:

# -*- coding=utf-8 -*-

""" @author: JenI
@time: 2016-12-05  """

import time import itchat import threading

# define the sign function , sign in daily 00:00 - 00:01 def sign(): today = int(time.strftime('%y%m%d', time.localtime(time.time()))) while True: if today == int(time.strftime('%y%m%d', time.localtime(time.time()))): time.sleep(60) else: try: itchat.send(msg='3',toUserName='T00lsNet') time.sleep(3) itchat.send(msg='4',toUserName='T00lsNet') today = int(time.strftime('%y%m%d', time.localtime(time.time()))) except Exception,e: print('Error : '+ str(e))

# login the wechat by scan QR code itchat.auto_login(enableCmdQR=True) t = threading.Thread(target=sign) t.setDaemon(True) t.start() itchat.run()

但是如果直接执行上边的脚本,等我们断掉和服务器的远程连接时,脚本也就被停了,而我们的目的是脚本持续在后台运行,达到每天签到的目的,所以需要把该脚本转到后台执行。

让进程在后台运行的方法有很多,nohup、setsid、disown、screen等,这里使用一个 shell 的小技巧,在命令结尾加一个 & 符就可以了。创建一个 start.sh 文件,内容如下:

python sign.py &

赋予 start.sh 文件执行权限并执行脚本

chmod +x start.sh
./start.sh

由于我的服务器没有安装图形界面,所以我将登陆所需要的二维码以命令行方式显示,手机扫码登陆后直接关掉 xshell 或 putty 等连接软件即可。

注意

  • 请确保登陆的微信的公众号中存在 T00ls ,微信ID为 T00lsNet
  • itchat 为一个开源的微信个人号API,使用它登录后手机会显示已在网页版登陆。也就是说使用这个脚本后相当于一直持续登陆网页版微信,这就会带来一个问题,当再使用客户端或网页版微信时会顶掉脚本的登陆状态,脚本就会被停掉。为了避免这种事情发生。我建议使用另一个一般不在电脑登陆的微信号(新注册一个或使用家人朋友的)

其他

关于 itchat ,可能仅仅几行代码,就可以完成一个能够处理所有信息的微信机器人,当然,它还有更多有趣的用法。如果你想了解更多,请查看它最新的帮助文档

itchat 使用手册


作者:   JenI   转载请注明出处,谢谢


Comments !