0x1 前言:- -实习了学校搞了个连老师都认为智障的N流APP要求我们每日签到 0x2 先分析下协议 干协议一般的APP都直接HTTP的 我们先下个Charles然后开启http代理,手机再脸上(不会的就放弃吧 你需要教智商税)
缺德点拿别人的ID登录APP抓了一个包
= =全他妈明文 干他不用怂了
Mark
Login URL: http://120.76.248.243:8082/api/authenticate
Login Param:
password={0} //密码
&schoolId={1}//学校id
&username={2}//账号
再跑去签个到
还是TM明文 不干他对不起自己
Signin URL:http://120.76.248.243:8082/sign/addCompanySignIn
Signin Param:ADDR={0}//全UTF-8编码到详细地址(包括数字和字母)
&AXIS={1}//经纬度 (例子:113.31000-23.108779,去百度搜下地址转经纬度就好)
&CONTENT=(Base64后的图片)
&ISEVECTION={2}(是否出差)
&SCALE=18(地图比例)
&authorization={3}(登陆拿的Token)
好了- -反正做个签到机 现在的信息够了
0x3 撸代码去
根据刚才的那点破东西
static string Login(string username, string password, int schoolId)
{
string url = String.Format("http://120.76.248.243:8082/api/authenticate?password={1}&schoolId={2}&username={0}", username, password, schoolId.ToString());
return HttpHelper.Post(url);
}
static bool Signin(string authorization, string addr, string axis, bool isevection)
{
byte[] a = Encoding.UTF8.GetBytes(addr);
string url = String.Format("http://120.76.248.243:8082/sign/addCompanySignIn?ADDR={0}&AXIS={1}&CONTENT=&ISEVECTION={2}&SCALE=18&authorization={3}", UrlEncoding(addr), axis, isevection ? 1 : 0, authorization);
return HttpHelper.Post(url).Contains("success");
}
= =好了我们的破事就搞定了 Post和URLEncode自己封装的小玩具
0x4 在干一次缺德的事拿别人的ID测试下
测试通过
0x5 因为我新建项目是Net Core待会+上数据库和加个Timer就可以丢到Linux服务器上刮着每日签到啦啊哈哈哈哈哈哈
|