Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

wintercoder/Gdufe-Drcom-Android

Repository files navigation

Gdufe-Drcom-Android

广东财经大学Android版Drcom Demo,哆点精简版。
该项目为 小广财App 的一个子功能,分离出来方便其他学校做适配迁移。

代码结构根据 jlu-drcom-java 改过来,做了广财的适配和安卓化。

登陆后有提示

常见问题

  1. 使用前记得连上学校wifi
  2. 关闭屏幕后断网了,去系统设置里给APP开锁屏清理白名单;默认在登陆后有通知栏提示,如果没有,也是系统设置没交保护费,自行设置去,通知栏的存在是为了保活,且方便用户看。
  3. 广财版去掉了 keep40_extra 包的发送,不影响使用,其他学校看着办,一般也不用。
  4. 已知 Bug
    1. 偶发性异常 recvfrom failed: EAGAIN (Try again) 可能为UDP丢包,目前解决方案是重发数据包。
    2. 偶发性异常 sendto: Operation not Permitted google说是Linux(android也是linux)底层的nf_conntrack模块的conntrack表满了,会自动drop掉网络包,可iptables或者调最大值解决,但Android没法在不root的情况下进行这些操作,很尴尬,所以目前也是重发。

适配广财

广财的包和其他学校的基本一样,看py版即可对比得知。 主要改了 服务器地址、验证版本号controlCheck、adapterNum、keepAliveVer、challenge()的第5个byte登陆包的AUTH_VERSION附近【第310个包,改动较大】,其他基本不会被服务器校验,故没所谓。其中 AUTH_VERSION 附近代码与吉大的差异较大,且在客户端强制更新的时候会更新该字段,造成老版本不能用,故设为 0x7f 了,足够大。

适配其他学校

数据包为Drcom D版的数据,跟 drcom-generic的py版 一样,不做mac地址、dns、dhcp服务器校验。若你校有固定网络中心的mac地址的请右转 jlu-drcom-java

否则修改 DrcomConfig 的服务器地址、客户端版本号、dns、dhcp服务器基本就能用了

细节

ip地址从第一次 challenge 包的返回里 [20:24] 获取,不用手动输入,mac虽然不校验但还是获取设备的mac地址了。
更多数据细节,如数据包各字节的意义,见 吉大drcom的协议说明 ,吉大的跟多数学校(含广财)的D版不太一样,例子是吉大用的是py版 mkpkt()AUTH_VERSION 上面被注释的几行而大多数学校用的是 AUTH_VERSION 那行。

License

沿用 jlu-drcom-java 的 AGPL ,吃我一记 GPL 感染大法。

About

广财非官方Android版Dr.com/城市热点

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /