1.使用openwrt路由(例极路由3(HC5861))过校园网多设备检测(非破解) (宿舍共网)
2.新手Android中px=dp*(dpi/160)的检检测解释
3.[UVM源代码研究] 聊聊寄存器模型的后门访问
使用openwrt路由(例极路由3(HC5861))过校园网多设备检测(非破解) (宿舍共网)
校园网多设备检测使用openwrt路由(如极路由3(HC))的步骤和技巧如下:
首先,你需要了解校园网可能采取的测源检测策略,包括基于IPv4数据包包头内的工具TTL字段的检测、基于HTTP数据包请求头内的检检测User-Agent字段的检测(UA2F)、DPI(深度包检测技术)、测源基于IPv4数据包包头内的工具assetc源码获取Identification字段的检测、基于网络协议栈时钟偏移的检检测检测技术、Flash Cookie检测技术。测源这些检测方法可能会限制多设备接入。工具
针对极路由3(HC),检检测采用Lean大佬的测源Openwrt源码进行编译,登陆IP为..1.1,工具密码为"password"。检检测在编译时,测源确保TurboACC技术关闭,工具以免影响User-Agent字段,导致问题如微信无法发送。解决方法是执行命令"uci set ua2f.firewall.handle_mmtls=0 && uci commit ua2f"。
刷入Openwrt后,进行以下配置:
1. 启用NTP客户端和作为NTP服务器提供服务,填写候选NTP服务器为:ntp1.aliyun.com、采集小偷源码time1.cloud.tencent.com、stdtime.gov.hk、pool.ntp.org。
2. 添加自定义防火墙规则。
3. 对UA2F进行配置,确保检测正确。
配置完成后,即可进行多设备检测。确认真实User-Agent显示正确,说明配置成功。账号提取源码一个宿舍内可用一台路由器加一个账号上网。
感谢Lean提供的Openwrt源码,参考关于某大学校园网共享上网检测机制的研究与解决方案,UA2F技术来自Zxilly/UA2F,修改IPID技术来自CHN-beta/rkp-ipid。祝学子们早日摆脱校园网限制。
新手Android中px=dp*(dpi/)的解释
在dpi的手机上1px=1dp,这句话的以上是说 ,手机屏幕宽带被分割成了块,每一块有一个像素点,每一块就是幽魂ddos源码一个dp。 那么1dp=1px而dpi的手机上,分辨率是上一个手机的两倍,手机屏幕宽带也被分割成了块,每一块有两个像素点,每一块也是一个dp,那么1dp=2px
上面分析来自于android学习手册,手机助手中可以下载,里面有个android例子,源码文档都可在里面看,下面是di论坛源码截图
下面是dp与px的转换公式,也来自android学习手册,经常使用。
import android.content.Context;
public class DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
[UVM源代码研究] 聊聊寄存器模型的后门访问
本文将深入探讨UVM源代码中寄存器模型的后门访问实现,尽管实际工作中这种访问方式相对有限,但在特定场景下其重要性不可忽视。后门访问有助于简化验证流程,特别是在检查阶段需要获取DUT寄存器值时。
在UVM源代码中,后门访问的实现主要围绕write任务展开,核心方法是do_write(),它包括获取uvm_reg_backdoor句柄、等待访问权限和更新期望值等步骤。uvm_reg_backdoor类是用户自定义后门访问的入口,允许通过派生类实现定制化的访问方式。
获取uvm_reg_backdoor句柄的过程会遍历寄存器模型的层次,如果没有自定义backdoor,就会从顶层寄存器模型开始查找。在默认情况下,寄存器模型使用sv语法的DPI方式访问,但可以通过自定义类实现其他形式的访问。
源代码中的get_full_hdl_path函数负责获取寄存器的完整HDL路径,这涉及到uvm_hdl_path_concat和uvm_hdl_path_slice等结构,它们用于描述寄存器的物理信息。通过配置或add_hdl_path操作,可以在寄存器模型中存储和管理多个HDL路径,对应不同的寄存器实例。
后门读写操作会调用uvm_hdl_read()函数,它是一个通过DPI-C实现的外部函数,根据编译选项的不同,可以选择使用C语言访问HDL路径。写操作成功后,会更新寄存器的镜像值并写入实际寄存器。
总结来说,实现寄存器模型后门访问的关键步骤包括设置寄存器的HDL路径,配置单个寄存器的物理信息,并确保与HDL中的实际结构对应。需要注意的是,如果寄存器在HDL中被拆分为多个字段,需正确配置这些字段的访问路径以避免警告。