(未显示同一用户的6个中间版本)
第1行: 第1行:
 +
[[Category:脚本|coursel]]
 
刷课机,一般指通过模拟用户操作,不断选课,从而试图选上某一门课的用于选课的程序。
 
刷课机,一般指通过模拟用户操作,不断选课,从而试图选上某一门课的用于选课的程序。
  
 
以下列出了一些我写的刷课机……
 
以下列出了一些我写的刷课机……
  
=== 清华刷课机 ===
+
== 清华刷课机 ==
 
链接:[[文件:coursel.py|coursel.py]]
 
链接:[[文件:coursel.py|coursel.py]]
  
 
其实写刷课机也是个学习python的过程……
 
其实写刷课机也是个学习python的过程……
  
=== 北大刷课机 ===
+
清华的验证码比较复杂。为了识别这个验证码,用到了cuneiform。其实gocr的效果也不错。
 +
 
 +
对这个刷课机的详细分析,可见[[刷课机详解]]
 +
 
 +
== 北大刷课机 ==
 
链接:[[文件:coursel_pku.py]]
 
链接:[[文件:coursel_pku.py]]
  
第16行: 第21行:
  
 
在清华的基础上改的,结构基本相同……
 
在清华的基础上改的,结构基本相同……
 +
 
另外,这里引用了一个文件,pointrmv。北大的验证码太弱智了,所以自己搞了个简单的程序用来识别验证码……
 
另外,这里引用了一个文件,pointrmv。北大的验证码太弱智了,所以自己搞了个简单的程序用来识别验证码……
 +
 
这个验证码识别工具还用到了一些标准图像,从北大验证码里截的…… 这些在那个压缩包里。其实那个包里也有另外两个文件……
 
这个验证码识别工具还用到了一些标准图像,从北大验证码里截的…… 这些在那个压缩包里。其实那个包里也有另外两个文件……
 +
 +
=== 验证码识别 ===
 +
北大的验证码实在太弱,基本上就加了些噪点,别的没了……
 +
 +
所以识别程序先去掉那些点,然后匹配图片就完了。
 +
 +
用了libjpeg来载入图片。噪点识别好像就是看看深浅,太久了,忘了……
 +
 +
反正很弱……
 +
 +
=== 某人被抓事件 ===
 +
好像某人拿我的刷课机在北大刷课的时候被抓了。然后他们那边的老师还让他交出源代码啥的。
 +
 +
但是其实不是他自己刷,而是我在清华访问北大网络刷课。因此,他也没有源代码。后来他联系我,说老师只要他交出源代码就不追究了。
 +
 +
其实这个刷课机也没啥技术含量对吧…… 所以我记得我就给他了。
 +
 +
后来就没有消息了,北大的系统好像还是很烂。

2011年10月12日 (三) 00:16的最新版本

刷课机,一般指通过模拟用户操作,不断选课,从而试图选上某一门课的用于选课的程序。

以下列出了一些我写的刷课机……

清华刷课机

链接:文件:Coursel.py

其实写刷课机也是个学习python的过程……

清华的验证码比较复杂。为了识别这个验证码,用到了cuneiform。其实gocr的效果也不错。

对这个刷课机的详细分析,可见刷课机详解

北大刷课机

链接:文件:Coursel pku.py

链接:文件:Pointrmv.cpp

链接:文件:C pku.tar.gz

在清华的基础上改的,结构基本相同……

另外,这里引用了一个文件,pointrmv。北大的验证码太弱智了,所以自己搞了个简单的程序用来识别验证码……

这个验证码识别工具还用到了一些标准图像,从北大验证码里截的…… 这些在那个压缩包里。其实那个包里也有另外两个文件……

验证码识别

北大的验证码实在太弱,基本上就加了些噪点,别的没了……

所以识别程序先去掉那些点,然后匹配图片就完了。

用了libjpeg来载入图片。噪点识别好像就是看看深浅,太久了,忘了……

反正很弱……

某人被抓事件

好像某人拿我的刷课机在北大刷课的时候被抓了。然后他们那边的老师还让他交出源代码啥的。

但是其实不是他自己刷,而是我在清华访问北大网络刷课。因此,他也没有源代码。后来他联系我,说老师只要他交出源代码就不追究了。

其实这个刷课机也没啥技术含量对吧…… 所以我记得我就给他了。

后来就没有消息了,北大的系统好像还是很烂。