..

试着写一个更好的校园网认证客户端

我一直在用 bitdust 的 njit8021xclient,除了一开始的反编译过程令我痛苦无比,后面的使用非常非常顺畅,基本上没出过什么大岔子。校园网的计费系统和行为管理系统是分开的,所以上学期几次被封也不是认证的锅。

这个开源的新华三 802.1X 客户端经历了十几年松散的开发,从代码上来看比较丑陋,不过用着没问题,我也就没想着折腾它。而希望能重写一个更好的客户端的念头来源于我最近的 C++ 学习,光看教程十分枯燥,我想着多少写点有用的东西。

我没有接触过网络编程,对 C/C++ 体系里的各种工具也不是很适应,CMake 咋用、各种库咋调都不是很清楚,更要命的是,我读过前述项目代码之后发现:它已经十分简洁了,虽然丑陋,但代码足够简单和清晰,并且基本上算是零依赖:除了 libpcap 和 openssl。不过这也是让我有点疑惑的点:它既调用了 openssl, 又自己实现了一些相关的功能,大概是十几年间接续开发的历史遗留问题吧。如果我用 C++ 重写,说不定整出来一个性能和体积都不如这个版本的垃圾东西…

现在似乎没有多少高校使用新华三的 802.1X 认证了,即使做出来估计也没多少人会用,何况这类客户端绕不开对原版客户端的二进制逆向,使用门槛比较高,唯一能寄希望的就是某一位使用者能把他环境里的字典数据逆向出来,分享给同环境(单位、学校)的人用。

或许等我学得再深入些,能开发一个自动 crack 原版客户端、提取字典的程序?哈哈。

我目前的工作集中在理解协议设计上,整理好认证包和认证流程之后,就可以试着熟悉 C++ 生态(构建系统、包管理)了。

说是学业繁重,其实有时候希望学校少开点课程该多好,因为就算开这么些课也是考试前抱佛脚,平常不学习多少有点惶惶不可终日,但是又不想学习,只想干自己的事情。

至于自己的事情是啥?估计就是这些破事水和重复造轮子的项目吧。

ԅ(¯﹃¯ԅ)

悄悄在这
卖个萌
应该
不会有人

发现…