我不在校園
介紹
我不在校園是由nodejs客戶端,Javaee服務端,python服務端腳本,c++編寫的動態鏈接庫文件構成的自動簽到系統。可以在上傳token后自動完成一日四檢。客戶端內置抓包模塊,原理為中間人攻擊。
客戶端工作流程
第一次打開程序,首先會安裝SSL證書並讓本機添加信任,使得代理服務器能夠解析HTTPS協議的流量。之后調用dll中已經封裝好的方法,打開代理服務器並通知其他應用連接代理服務器。連接完成后,開始過濾封包直到獲得home.json,獲得並上傳包頭的token,關閉服務器,通知其他應用代理服務器已關閉。
服務端工作流程
獲得客戶端發來的ID與token后,插入到臨時存放Token的數據庫的臨時表中,每天在四次簽到前一分鍾都會更新用戶的數據,獲取用戶郵箱,晚點名接口等信息,插入或更新到主表中,腳本運行時間為每次簽到開始的一分鍾后。如果Token已過期會發郵件提醒用戶更新。
使用方法
首先需要有一台windows系統的電腦,先打開程序,提示Start catch token后,再打開電腦版的微信小程序我在校園。注意需要從這個界面打開。從小程序面板中打開會獲取不到。
成功上傳時會顯示{code:0}等內容。之后需要每隔4天完成一次上傳。系統會自動完成一日四檢。
已知BUG
部分電腦不能抓取https協議的封包,點開學生端后沒有反應,仍然顯示Start catch token。如果不能使用建議使用其他人電腦上傳token。或后續等待更換抓包核心的新版本。
項目源碼
https://github.com/MiraculousB/not-in-campus 等一個STAR ;w;
含部署教程
客戶端運行環境
nodejs12,python2.7
客戶端IDE
Vscode,Visual studio 2017,myeclipse enterprise
服務端運行環境
Tomcat8,mysql,python3