BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #43035同步于 2013/1/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

校内网自制登陆软件探讨~~

diangguang
2013/1/19镜像同步11 回复
自从校内网改为账号登陆后,每次都需要打开网页登陆后才能联网,机子上装的dropbox等开机联网软件必须登陆后才能使用,很不爽!所以就稍微研究了下校内网的登陆机制。PS:本人很少接触http等网络编程,所以很多东西都是拿来主义 首先使用google先搜了下校园网络登陆的相关内容,运气好刚好就找到一篇使用MFC登陆115网盘的帖子,直接在此代码上修改!代码地址:http://blog.csdn.net/visualeleven/article/details/6656224 其中的关键代码如下(转自以上地址): 自己编写的话需要和服务器通讯就必须知道通讯的格式,先前使用了wireshark抓取,但是抓到的东西实在是太多了,找了好半天才找到学校服务器10.3.8.211的数据包,而且很多数据太底层什么\r\n都带上了,后面改用了http analysis软件抓取后发现这些回车什么的都不需要,CHttpFile类的添加头文件方法都会自动加上的。以下是http analysis软件抓取的校园网登陆数据包内容: 图中“DDDDD=”后填写的是学号;“upass=”后填写的是加密后的密码。使用上图抓取到的内容填充后发现并没有正常的登陆网页,问题应该还是自己发送的数据格式不对,使用http analysis软件监控MFC软件发送的http数据包: 哈哈,找到错误了,是最后的用户名和密码这一个数据段错误,查看源代码找到错误,原来是使用了TCHAR类型,更改为char类型,解决错误! 现在就可以试试成果了,运行代码,binggo正常登陆网页!! 但是这个程序还有一个很致命的缺陷就是不能够通用,可以看到发送的密码和自己的密码是不一样的,再发送时肯定对内容进行加密了,如果不能够解决这段加密算法,这个客户端最多就是自己玩玩,其他同学也用不了! 接下来就看看这个发送密码是怎么样产生的。 我使用了chrome打开学校的登陆网页10.3.8.211,使用开发者模式ctrl+shift+i,对网页内容解析(当然都是google出来的~),要达到目的就要看看点击登陆的一瞬间发生了什么,才导致把我们输入的密码更改了。关键部位如下: 类比windows的消息机制,点击这个按钮的时候,网页也通知某个加密程序把输入的密码更改掉,看到这一行onclick=“cc(0)”(这不就是点击鼠标后调用的函数嘛~),但是没有cc函数啊!!有办法,右键网页内容,选中参看网页源代码。嘿嘿!看到很多的JavaScript内嵌函数,其中就有cc函数,但是就一个赋值语句,好在cc函数后紧跟的函数就是对密码进行md5值计算,函数名称是ee,赶紧找到网页中的相关调用行: 上面的这些内容从字面上大概能知道注册要调用ee函数,而且其中是使用了f1这个变量(不懂java前端编程,请轻拍~~),下面是ee函数的具体内容: 函数中先记录了输入的密码,然后加入calg和pid等变量(源代码中都有定义),最后调用了calcMD5函数进行了最后的处理(里面有各种调用,就不看了),这个函数从字面上就能够知道是干嘛的了!!至此就可以编写校园网络登录客户端了!! ps:自从升级了新的登陆界面后,也没有见过有人放出客户端登陆软件,所以就想能不能自己动手解决,文章中也只是对密码的处理做了分析,其实直接贴抓取的加密过的数据已经能够满足需要了,就没有再编写这一块了,有兴趣的同学可以自己试试~
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
maxiaojia123机器人#1 · 2013/1/19
好棒啊[ema4]
diangguang机器人#2 · 2013/1/19
谢谢~ 【 在 maxiaojia123 的大作中提到: 】 : 好棒啊
wly1991313机器人#3 · 2013/2/3
nice,楼主可以放出整合图形界面版本的么,开机自启动的话就省去手动登陆的方式了
diangguang机器人#4 · 2013/2/3
【 在 wly1991313 的大作中提到: 】 : nice,楼主可以放出整合图形界面版本的么,开机自启动的话就省去手动登陆的方式了 放假回家就没有做了,开学后再去弄了~
dfxyz机器人#5 · 2013/2/4
Linux区亦有相关登录脚本,shell和python版的
times123机器人#6 · 2013/2/4
赞一个!~
freevest机器人#7 · 2013/2/4
呵呵
liangyufz机器人#8 · 2013/2/4
表示有学长曾给过一个客户端,自己写的。放在启动里面就好了==
chinapds机器人#9 · 2013/2/4
赞分析过程~~~有些时候需要的是这个