Hamster Tian
Hamster Tian
1. 能给出完整的对比吗? 2. 这部分流程是这样的 - [1.](https://github.com/updateing/minieap/blob/master/packet_plugin/rjv3/packet_plugin_rjv3_priv.c#L499) 将 success 数据包中的 extension 部分解析为字段列表(解析的方法是从开头查找 `00 00 13 11` 这个模式,找到后根据其后两个字节的特征来判断这是哪种属性,进而应用特定方法计算出字段的长度,然后将这个长度的内容填入 RJ_PROP 结构体并继续查找上述模式) - [2.](https://github.com/updateing/minieap/blob/master/packet_plugin/rjv3/packet_plugin_rjv3_priv.c#L529) 在上述字段列表中找到符合如下特征的字段: * header2.type 为 1 * 字段大小非 0. 注意到 header2.len...
抱歉,上条回复忽略了 `type == 1` 的时候长度的特殊计算方式…… 在[这里](https://github.com/updateing/minieap/blob/master/packet_plugin/rjv3/packet_plugin_rjv3_prop.c#L181) ``` else if (_tmp_prop->header2.type == 1) { /* Type 0x1 means there is no length info, we have to search for next 00 00...
不知道你这里的心跳问题是不是跟 #10 相同…… 也许可以用一样的分析方法试试。
找一下官方客户端中 echono 的规律试试?比如从固定值开始,或者颠倒取反后能在 success 中找到……
除此之外还有个想法,就是如果学校是用“认证 - DHCP - 再认证”这个方式做认证和分配地址的话,缺失后面那一次认证可能会造成问题(因为服务端不知道你的 IP 地址了) 这只是个猜想,并不能证明……
这个项目的心跳能用?算法跟 MentoHUST 一样的。 要是实在想尝试,在 eap_state_machine.c 里 `recv_handler` 把收 Request-Identity、Request-MD5-Challenge 的处理逻辑删掉,把 `trans_to_start_sent` 里发包的逻辑删掉就好了。
设计上这个参数确实就是不带值的,只要有就生效。 config.c: ```c "\t--stage-timeout, -t \t单个认证阶段的超时时间 [默认" STR(DEFAULT_STAGE_TIMEOUT) "]\n" "\t--wait-after-fail, -r \t认证失败后重新认证前的等待时间(但当服务器要求重新认证时将直接开始认证)[默认" STR(DEFAULT_WAIT_AFTER_FAIL_SECS) "]\n" "\t--max-fail, -l \t最大允许认证失败次数 [默认" STR(DEFAULT_MAX_FAILURES) "]\n" "\t--no-auto-reauth, -x\t认证掉线后不允许自动重连 [默认" STR(DEFAULT_RESTART_ON_LOGOFF) "]\n" "\t--daemonize, -b \t后台运行方式: [默认0]\n" ```
这是一个复制粘贴没过脑子的例子…… 现在这样也只能靠 =0 时加个判断来挽救了😂
抱歉,很长一段时间都没有再回去看代码的机会。按照印象,那些 market 相关的部分都是为了准确判断应该怎么劫持才会存在的。如果不做劫持,就不需要那些判断了。 根据我在小米 13 上的测试,目前这个实现在 MIUI 14 14.0.13 和 14.0.17 上都能正确执行自带应用商店和 Play Store 的安装与更新,没有注意到什么异常。
我又回来用 MIUI 了 :-/ > 我的意思是跳转应用市场时,有选择哪个market的判断。现在这样直接return,会影响其他intent类型的逻辑 现在在 HyperOS 上,这段代码是把所有的 mimarket 或 market scheme 的 intent 都强制跳转到小米应用商店。对于通用的 market scheme 来说,这也是一种劫持行为。这里应用 hook 之后,market scheme 会弹出应用市场的选择,mimarket 直接进入小米应用商店,我认为这样都是符合预期的。