当前位置: 首页 > news >正文

【2025年2月28日稳定版】小米路由器4C刷机Immortalwrt 23.05.4系统搭载mentohust 0.3.1插件全记录

小米路由器4C刷机Immortalwrt系统搭载mentohust插件全记录

首先将路由器按住后面的reset,用一个针插进去然后等待5s左右,松开,即可重置路由器。

然后要用物理网线物理连接路由器Lan口和电脑,并将路由器WAN口连接至网口。确保电脑通过路由器,在经过WAN口连上网。可以通过ping看下是否有网。打开cmd,然后:

ping 8.8.8.8

在这里插入图片描述
当有回复说明有网络。之后进入小米路由器的后台:192.168.31.1
在这里插入图片描述
之后进入马上体验进入后台。
在这里插入图片描述

在这里插入图片描述
这样就基本的配置完成了,之后我们开始刷机

1.1、首先运行R3GV2 patches

在R3GV2 patches中运行0.start_main.bat文件

输入小米路由器的路由器管理员密码,每个人根据自己设置的密码登录即可,之后会弹出

start uploading config file...
run telnet+ftpd...
Done
Press any key to continue . . .

之后重新打开CMD运行:

telnet 192.168.31.1

如果报错说明没安装telnet客户端,请先=>win10安装开启telnet服务及使用
安装成功后,在CMD输入telnet弹出下面说明安装成功!

欢迎使用 Microsoft Telnet Client
Escape 字符为 'CTRL+]'
Microsoft Telnet>

之后再打开CMD运行

telnet 192.168.31.1

则可弹出

XiaoQiang login:

则说明权限开启,然后输入root,弹出下面:
在这里插入图片描述
现在最重要的是把文件传上去
在这里下载适用于小米路由器4C的Openwrt固件,根据上一次的教程可知,支持小米4C的固件并且能够使用mentohust校园网锐捷认证插件的固件为:Immortalwrt 23.5.4版本固件

因此这里直接下载Immortalwrt 23.5.4版本固件

在这里插入图片描述
KERNEL是核心版本,SYSUPGRADE是完全版本,下载SYSUPGRADE完全版本。

在CMD继续输入cd /tmp,再输入ls
在这里插入图片描述
之后打开文件资源管理器,在路径中输入:

ftp://192.168.31.1/

在这里插入图片描述
tmp文件夹下粘贴下载的23.05.4Immortalwrt固件
在这里插入图片描述
再回到CMD输入ls回车之后,可看到存在Immartalwrt的固件文件。
在这里插入图片描述

1.2、快速刷入Immortalwrt教程

根据之前的教程:记录小米路由器4C刷Immortalwrt/openwrt认证锐捷校园网全过程,2025年2月28日尝试将Immortalwrt 23.5.4版本固件进行刷机发现可行!可以直接刷immortalwrt,因为后面安装mentohust插件方便很多!

参考:https://openwrt.org/toh/xiaomi/xiaomi_mi_router_4c

执行如下命令:

mtd -r write /tmp/immortalwrt-23.05.4-ramips-mt76x8-xiaomi_mi-router-4c-squashfs-sysupgrade.bin OS1

.bin前面immortalwrt-23.05.4-ramips-mt76x8-xiaomi_mi-router-4c-squashfs-sysupgrade.bin是文件名,如果不一样需要替换。后面一定要是OS1,是数字1哈!

在这里插入图片描述刷完之后就会新出现一个Immortalwrt名称的wifi信号!在这里插入图片描述

按照上述的方案如果不想刷不死breed不想回原系统的话,可直接跳转至 1.6在Immortalwrt的软件包直接安装mentohust插件配置mentohust插件。

1.3、备份路由器相关文件防止变砖

在终端中分别输入命令

dd if=/dev/mtd0 of=/tmp/all.bin
dd if=/dev/mtd2 of=/tmp/bootloader.bin
dd if=/dev/mtd3 of=/tmp/eeprom.bin

all.bin文件的大小分别为:all.bin是16MB,bootloader.bin为128kb, eeprom.bin 为64kb。

分别将 all.bin bootloader.bin eeprom.bin 备份在 /tmp 下。于系统资源管理器访问 ftp://192.168.31.1,进入 /tmp 路径,依次复制 刚刚三个文件到自己的电脑中(一块儿复制可能会出问题)。 其中 eeprom.bin 在后续步骤中会用到,all.bin 是刷机失败后刷回原固件的必要文件(大小应该超过 10Mb),本文不再赘述。 注意:eeprom.bin 的大小应在 64kb (65532bytes) 左右,如果大小不正确要重新进行备份!

R4CM小米路由器4C原机Bootloader.bin+eeprom.bin文件

1.4、刷入不死Breed

breed文件为:breed-mt7688-reset38.bin
通过 ftp 上传到 /tmp文件夹下
在这里插入图片描述

mtd write /tmp/breed-mt7688-reset38.bin Bootloader

在这里插入图片描述
完成后先给路由器断电,然后在按住复位键的同时打开电源,若蓝灯橙灯同时闪烁(我这里就是网🌐的那块显示蓝色一直闪),则成功进入 breed 模式。输入192.168.1.1进入Breed后台
在这里插入图片描述
首先在固件备份将eeprom.bin文件下载备份,大小注意是64kb
在这里插入图片描述
这样我们就刷完了不死breed。

1.5、刷入Immortalwrt固件

1.5.1、没有刷Breed的情况下直接刷Immortalwrt固件(速度最快,直接成功)

如果没有刷入breed则按照下面方式更新
关键步骤如下(重要刷机步骤!!!)
参考:https://openwrt.org/toh/xiaomi/xiaomi_mi_router_4c

mtd -r write /tmp/immortalwrt-23.05.4-ramips-mt76x8-xiaomi_mi-router-4c-squashfs-sysupgrade.bin

在这里插入图片描述
.bin前面immortalwrt-23.05.4-ramips-mt76x8-xiaomi_mi-router-4c-squashfs-sysupgrade是文件名,如果不一样需要替换。后面一定要是OS1
之后写完就会Rebooting,然后弹出下面

遗失对主机的连接。

之后将路由器的Lan口连接至路由器,然后浏览器网址输入

192.168.1.1

1.5.2、刷入不死Breed之后,再用Breed的flash刷immortalwrt

如果刷入了breed则按照下面操作

方法一、直接在breed的固件更新界面刷bin(可能不可行,不过可以试一下)

固件更新中选择刚备份的 eeprom.bin 文件上传后,再选择 immortalwrt 固件上传(选中自动重启)。(注意:一定要先刷入eeprom.bin再刷入ImmortalWrt固件)
在这里插入图片描述
点击更新即可,之后后路由器会闪烁橙灯并进行固件更新,当橙灯不在闪烁则更新完成。
在这里插入图片描述

方法二、使用breed擦除和写入flash的方式(这个一定要注意文件的大小)

首先我们要打开http,我们在放置immortal/openwrt固件的文件夹的路径中输入cmd,进入该路径下的cmd:
在这里插入图片描述
然后,在弹出的cmd输入:

py -m http.server

回车会显示:Serving HTTP on :: port 8000 (http://[::]:8000/) …
在这里插入图片描述
这个cmd界面不要关闭保留在这里,等后面刷完再关闭!

然后我们打开浏览器输入:192.168.1.2:8000
在这里插入图片描述
然后右键复制文件链接

http://192.168.1.2:8000/immortalwrt-ramips-mt76x8-xiaomi_mi-router-4c-squashfs-sysupgrade.bin

再次打开cmd输入:

telnet 192.168.1.1

回车进入Breed cmd界面
在这里插入图片描述
在该界面下输入wget 然后粘贴刚刚复制的immortalwrt/openwrt固件的链接

wget http://192.168.1.2:8000/immortalwrt-ramips-mt76x8-xiaomi_mi-router-4c-squashfs-sysupgrade.bin

在这里插入图片描述
然后记住两个东西:0x800000000xec0319,尤其是0xec0319,如果选择不一样的固件,这个可能是不一样的大小,因为这个就是刷入的bin文件的大小,所以一定把这个看清楚不然直接变砖。

比如我换一个文件,文件大小就变成了0x7b0347
在这里插入图片描述
我选择breed烧写文件小一点的0x7b0347,因为小米4C的内存比较小。

看清楚之后,我们开始操作,首先是擦除之前的分区

flash erase 0x160000 0xea0000

在这里插入图片描述

执行完上面的之后,再flash write 0x160000 文件内存地址 文件大小,刷入固件bin文件。文件内存地址0x80000000,再次强调文件大小因人而异,我的是0x7b0347

flash write 0x160000 0x80000000 0x7b0347

在这里插入图片描述
执行完之后,重新进入breed图形页面,打开环境变量设置,选择在breed内部
在这里插入图片描述
然后再次进入图形页面,添加环境变量autoboot.command(注意是.不是空格),值为boot flash 0x160000
在这里插入图片描述
设置之后,重启。
在这里插入图片描述
到这里用breed刷入immortalwrt/openwrt的方法也就完成了!

再次在浏览器中输入192.168.1.1,不再弹出Breed,而是直接进入Immortalwrt的后台:
在这里插入图片描述
刚刷固件没有设置管理员密码,直接登录即可。然后可以配置一个路由器密码(后台密码)
在这里插入图片描述
可以发现刷入Immortalwrt 7M版本的内存就用了71%了,所以不要用太大的bin固件文件。
在这里插入图片描述

参考文献:
[1]:https://cloudflare.luhawxem.com/2021/09/10/Mi-Router-4C-flash-openwrt-detail/
[2]:https://cloudflare.luhawxem.com/2021/05/19/Mi-Router-4C-flash-openwrt/

1.6 在Immortalwrt的软件包直接安装mentohust插件

之后我们在系统选项的菜单中选择的软件包选项,更新软件包列表,点击更新列表…即可。(如果更新失败,请确定下路由器有没有连上网)
在这里插入图片描述
之后我们在过滤器搜索框中搜索mentohust插件可以发现能够查找到三个插件:

在这里插入图片描述
将三个插件分别点击安装即可。
在这里插入图片描述
在这里插入图片描述
可以发现都安装成功了!!
在这里插入图片描述
我们再重新刷新进入该页面,可以发现选项卡多了一个服务的选项:
在这里插入图片描述
点击MentoHUST即可进入插件的配置!至此我们安装插件就终于大功告成了!!!

1.7 MentoHUST插件配置指南

1.7.1 常规设置

进入MentoHUST插件界面后,在常规设置中首先点击启用,用户名和密码就是校园网登录时的账号和密码。
在这里插入图片描述
接口选项我们需要查询路由器的网卡,通过ifconfig查询

root@Router:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XXinet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0inet6 addr: xxxx:xxxx:xxxx::1/60 Scope:Globalinet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:32078 errors:0 dropped:0 overruns:0 frame:0TX packets:30315 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:8047859 (7.6 MiB)  TX bytes:34581585 (32.9 MiB)eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XXinet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:56354 errors:0 dropped:5 overruns:0 frame:0TX packets:65880 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:19525224 (18.6 MiB)  TX bytes:43399138 (41.3 MiB)Interrupt:5eth0.1    Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XXUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:32049 errors:0 dropped:1 overruns:0 frame:0TX packets:39875 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:8045391 (7.6 MiB)  TX bytes:35211594 (33.5 MiB)eth0.2    Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XYinet addr:xxx.xxx.xxx.xxx  Bcast:xxx.xxx.xxx.255  Mask:255.255.254.0inet6 addr: xxxx:xxxx:xxxx:xxxx:ffff:ffff:fffc:xxxx/128 Scope:Globalinet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:23170 errors:0 dropped:51 overruns:0 frame:0TX packets:25998 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:10401915 (9.9 MiB)  TX bytes:7923226 (7.5 MiB)lo        Link encap:Local Loopbackinet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:684 errors:0 dropped:0 overruns:0 frame:0TX packets:684 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:62740 (61.2 KiB)  TX bytes:62740 (61.2 KiB)phy0-ap0  Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XYinet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:37 errors:0 dropped:0 overruns:0 frame:0TX packets:353 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:4656 (4.5 KiB)  TX bytes:111597 (108.9 KiB)

简单来说说明了以下内容:

  • 网络接口信息
    • 显示了系统中存在br-lan、eth0、eth0.1、eth0.2、lo、phy0-ap0等网络接口。
  • 硬件地址
    • 每个接口都有对应的硬件地址(HWaddr),如XX:XX:XX:XX:XX:XX等。
  • IP地址
    • 各接口配置了IPv4和IPv6地址,如br-lan的IPv4地址为192.168.1.1,eth0.2有公网IPv4地址xxx.xxx.xxx.xxx及相应IPv6地址等。
  • 网络状态
    • 显示接口状态为UP表示已启用,还有广播、运行、多播等状态标识,以及MTU(最大传输单元)和Metric(度量值)等参数。
  • 数据包统计
    • 记录了每个接口接收(RX)和发送(TX)的数据包数量、错误数、丢弃数等,还有接收和发送的字节数,可用于监控网络流量和诊断问题。

eth0.2 是广域网(WAN)口的物理子接口,因此设为eth0.2

Ping主机设置为:腾讯云公共DNS119.29.29.29或者谷歌公共DNS8.8.8.8

1.7.2 高级设置

IP地址设置为:0.0.0.0

子网掩码可以随便设置:255.255.252.0

网关根据校园网的网关设定

DNS服务器根据适配器选项的信息进行填写即可

验证超时设置为8

Echo包间隔设置为30

验证失败等待时间设置为15

组播地址类型设置重要一些,需要根据校园网认证客户端设置,一般都是锐捷,选择锐捷即可。

DHCP设置选项设置选择二次认证

通知级别默认是5不用改

客户端版本号根据需要修改,一般不用改,如果未开启客户端校验但对版本号有要求,可以在此指定,形如3.30

数据文件选项不用动,为/etc/mentohust/

DHCP的脚本不用动,为udhcpc -i

最后点击保存并应用,可以看到最上方的状态显示MentoHUST运行中,网络状态能访问互联网了!

在这里插入图片描述
大功告成,这样就可以多个设备连接路由器,并且不用多次登录网页认证了!

1.7.3 远程访问的IP端口配置问题

电脑连入宿舍的无线路由器,且可以共享一个账号,也就是共享一个校园网ip,那么分别访问电脑可以使用通过端口转发的方式。

先在路由器设置页中确定路由器ip:可以看出这里的ip地址是校园网分配的ip,在网络菜单下的接口页面可查看WAN口的IPv4地址。假设为218.223.1.23
在这里插入图片描述
再在路由器设置中给电脑绑定路由器下局域网的ip:
在这里插入图片描述
导航至网络 -> 防火墙–> “端口转发”选项卡。
在这里插入图片描述

然后我们需要到状态菜单下的概览页面找到自己电脑或者笔记本分配的Ipv4地址,并记录下来,假设为192.145.1.XX
在这里插入图片描述
在这里插入图片描述
在刚刚的端口转发页面点击添加,填入下面的信息
在这里插入图片描述
外部端口是从外部访问电脑远程桌面时使用的端口,自定义即可,内部端口对于Windows的远程一般为33893389是远程控制的默认端口,也可以查看电脑设置确定一下。内部IP地址就是刚刚找的内部分配给电脑对应的IP地址。
在这里插入图片描述
最终在控制端app上将控制名字写成路由器ip:外部端口,比如:
218.2XX.1.23:104即可远程访问电脑了!

相关文章:

【2025年2月28日稳定版】小米路由器4C刷机Immortalwrt 23.05.4系统搭载mentohust 0.3.1插件全记录

小米路由器4C刷机Immortalwrt系统搭载mentohust插件全记录 首先将路由器按住后面的reset,用一个针插进去然后等待5s左右,松开,即可重置路由器。 然后要用物理网线物理连接路由器Lan口和电脑,并将路由器WAN口连接至网口。确保电脑…...

W3C标准和ES规范之一文通

W3C标准和ES规范之一文通 以下是关于W3C标准和ES规范的透彻解析,通过结构化对比和生活化类比帮助理解和记忆: 一、核心概念对比(总览) 维度W3C标准ES规范(ECMAScript)定位Web技术的建筑蓝图JavaScript的语…...

Linux:应用层协议

协议是一种 "约定". socket api的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接收的. 如果我们要传输一些"结构化的数据" 怎么办呢? 无论我们采用什么方案, 只要保证, 一端发送时构造的数据, 在另一端能够正确的进行解析, 就是ok的. 这种…...

深度学习五大模型:CNN、Transformer、BERT、RNN、GAN详细解析

# 深度学习五虎将:当CNN遇见Transformer的奇幻漂流 ## 序章:AI江湖的兵器谱排行 2012年,多伦多大学的厨房里,Hinton的学生们用GPU煎了个"AlexNet"荷包蛋,从此开启了深度学习的热兵器时代。如今五大模型各显…...

微服务组件详解——sentinel

1.启动sentinel: 下载jar sentinel-dashboard-1.8.0.jar 使用以下命令直接运行 jar 包(JDK 版本必须≥ 1.8): java -Dserver.port9999 -jar D:\sentinel-dashboard-1.8.0.jar 控制台访问地址:http://localhost:9999…...

波导阵列天线 学习笔记11双极化全金属垂直公共馈电平板波导槽阵列天线

摘要: 本communicaition提出了一种双极化全金属垂直公共馈电平板波导槽阵列天线。最初提出了一种公共馈电的单层槽平板波导来实现双极化阵列。此设计消除了传统背腔公共馈电的复杂腔体边缘的必要性,提供了一种更简单的天线结构。在2x2子阵列种发展了宽十…...

swift 开发效率提升工具

安装github copliot for xcode github/CopilotForXcode brew install --cask github-copilot-for-xcode安装swiftformat for xcode brew install swiftformatXcode Swift File代码格式化-SwiftFormat...

3-5 WPS JS宏 工作表的移动与复制学习笔记

************************************************************************************************************** 点击进入 -我要自学网-国内领先的专业视频教程学习网站 *******************************************************************************************…...

Centos7部署k8s(单master节点安装)

单master节点部署k8s集群(Centos) 一、安装前准备 1、修改主机名 按照资源准备修改即可 # master01 hostnamectl set-hostname master01 ; bash # node1 hostnamectl set-hostname node1 ; bash # node2 hostnamectl set-hostname node2 ; bash2、修改hosts文件 以下命令所…...

Tomcat

1.Tomcat是什么? Tomcat 是一个开源的、轻量级的 Servlet 容器,也被称为 Web 服务器,由 Apache 软件基金会的 Jakarta 项目开发,在 Java Web 开发领域应用广泛。 1)Servlet 容器:Servlet 是 Java 语言编写…...

基于SpringBoot+Vue的电影订票及评论网站的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

地基简识Spring MVC 组件

Spring MVC 是一个基于 MVC 设计模式的框架,其核心组件协同工作以处理 HTTP 请求并生成响应。以下是各组件的详细说明及其协作流程: 一、​核心组件 ​DispatcherServlet(前端控制器)​ ​作用:接收所有请求并协调其他…...

如何通过Python网络爬虫技术应对复杂的反爬机制?

要使用Python网络爬虫技术绕过复杂的反爬虫机制,可以采取以下几种策略: 设置User-Agent:通过设置不同的User-Agent,模拟正常用户的浏览器访问,避免被网站识别为爬虫。可以使用fake_useragent库来随机生成User-Agent。…...

深入浅出:Spring AI 集成 DeepSeek 构建智能应用

Spring AI 作为 Java 生态中备受瞩目的 AI 应用开发框架,凭借其简洁的 API 设计和强大的功能,为开发者提供了构建智能应用的强大工具。与此同时,DeepSeek 作为领先的 AI 模型服务提供商,在自然语言处理、计算机视觉等领域展现了卓…...

Node.js二:第一个Node.js应用

精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 创建的时候我们需要用到VS code编写代码 我们先了解下 Node.js 应用是由哪几部分组成的: 1.引入 required 模块:我们可以使用 requi…...

【HarmonyOS Next】鸿蒙状态管理装饰器V1和V2混用方案

【HarmonyOS Next】鸿蒙状态管理装饰器V1和V2混用方案 一、V1和V2为什么需要混用 自从api7开始,一直到api10。V1的实际使用中,开发人员发现Observed和ObjectLink 监听实现多层级嵌套对象的更新的方案,太过于臃肿。当需要监听处理更新的多层…...

【技海登峰】Kafka漫谈系列(三)详解Kafka的数据结构与存储机制

【技海登峰】Kafka漫谈系列(三)详解Kafka的数据结构与存储机制 Kafka 使用消息日志(Log)机制来持久化保存数据,我们知道Kafka实际是以Partition分区为单位进行负载均衡和资源分配,每个Partition又由多个Replica副本组成,副本之间分布于不同的Broker上来保证高可用,因此…...

PyCharm接入本地部署DeepSeek 实现AI编程!【支持windows与linux】

今天尝试在pycharm上接入了本地部署的deepseek,实现了AI编程,体验还是很棒的。下面详细叙述整个安装过程。 本次搭建的框架组合是 DeepSeek-r1:1.5b/7b Pycharm专业版或者社区版 Proxy AI(CodeGPT) 首先了解不同版本的deepsee…...

腾讯云扩容记录

腾讯云扩容: sudo yum install -y cloud-utils-growpart 安装扩容工具 sudo file -s /dev/vda1 有数据 sudo LC_ALLen_US.UTF-8 growpart /dev/vda 1 sudo resize2fs /dev/vda1 df -Th 完毕 以下是对执行的命令的详细解释以及背后的原理: 1. 安装 cloud…...

计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型音乐推荐系统 音乐数据分析 音乐可视化 音乐爬虫 知识图谱 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

本地部署大语言模型-DeepSeek

DeepSeek 是国内顶尖 AI 团队「深度求索」开发的多模态大模型,具备数学推理、代码生成等深度能力,堪称"AI界的六边形战士"。 Hostease AMD 9950X/96G/3.84T NVMe/1G/5IP/RTX4090 GPU服务器提供多种计费模式。 DeepSeek-R1-32B配置 配置项 规…...

Windows逆向工程入门之MASM数据结构使用

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 第一章:MASM数据定义体系精要 1.1 基础数据类型全景 1.1.1 整型数据规范 1.1.2 浮点数据编码 1.2 复合数据结构 1.2.1 多维数组定义 1.2.2 复杂结构体 第二章&#xf…...

python 之协程笔记

协程 协程的本质是用户态线程,由程序自行控制切换时机,无需操作系统介入。与线程相比,协程的三大核心优势: 资源占用极低:一个协程仅需KB级内存,可轻松创建数万个切换效率惊人:上下文切换在用户…...

使用 REINFORCE 算法强化梯度策略

一、整体概述 此代码利用 REINFORCE 算法(一种基于策略梯度的强化学习算法)来解决 OpenAI Gym 中的 CartPole-v1 环境问题。CartPole-v1 环境的任务是控制一个小车,使连接在小车上的杆子保持平衡。代码通过构建一个神经网络作为策略网络&…...

【C++并发编程实战】第1章 你好,C++的并发世界!

文章目录 1. 何谓并发2. 为什么使用并发?3. 什么时候不使用并发4. C多线程历史5. 第一个并发程序 1. 何谓并发 最简单和最基本的并发,是指两个或更多独立的活动同时发生。计算机领域的并发指的是在单个系统里同时执行多个独立的任务,而非顺序的进行一些…...

【QT线程】子线程阻塞主线程的一次网络api请求案例

阻塞源码赏析 这是最近一次项目遇到的问题,原因是我觉得子线程里俩次请求间隔太短了,会引起服务器屏蔽我的api因此,我故作聪明加多了一个延时函数,欢迎各位鉴赏代码。 // 并行发起双请求 QNetworkRequest liveRequest(liveUrl);…...

DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順

DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順 はじめに環境準備ディレクトリ作成Dockerコンテナ起動 データベース設定変更コンテナ内でSQL*Plus起動PDB操作と文字列サイズ拡張設定検証 管理者ユーザー作成注意事項まとめ 中文版请访问这里…...

【计算机网络入门】初学计算机网络(五)

目录 1.编码&解码、调制&解调 2.常用编码方法 2.1 不归零编码(NRZ) 2.2 归零编码(RZ) 2.3 反向非归零编码(NRZI) 2.4 曼彻斯特编码 2.5 差分曼彻斯特编码 3. 各种编码的特点 4.调制 5.有线传输介质 5.1 双绞线 5.2 同轴电缆 5.3 光…...

unity学习60: 滑动条 和 滚动条 滚动区域

目录 1 滚动条 scrollbar 1.1 创建滚动条 1.2 scrollbar的子物体 1.3 scrollbar的属性 2 滚动视图 scroll View 2.1 创建1个scroll View 2.1.1 实际类比,网页就是一个 scroll view吧 2.2 子物体构成 2.3 核心component : Scroll Rect 3 可视区域 view p…...

【Linux网络-HTTP协议】HTTP基础概念+构建HTTP

代码定位:南毅c/Linux - Gitee.com HTTP协议 介绍 虽然我们说,应用层协议是我们程序猿自己定的.但实际上,已经有大佬们定义了一些现成的,又非常好用的应用层协议,供我们直接参考使用。HTTP(超文本传输协议)就是其中之一。 在互联网世界中&#xff0c…...

2025年企业网络安全实战指南:常见漏洞解析与全方位防御策略

2025年企业网络安全实战指南:常见漏洞解析与全方位防御策略 作者: 网络安全专家 日期: 2025-02-27 分类: [网络安全] 标签: [漏洞防护, 信息安全, 企业安全] 引言:漏洞是攻击者的入口,防御是安全的基石 2025年,网络安全威胁持续升级。根据Gartner最新报告,全球企业因漏洞…...

一个py文件搞定mysql查询+Json转换+表数据提取+根据数据条件生成excel文件+打包运行一条龙

import os import argparse import pymssql import json import pandas as pd from datetime import datetime from pandas.io.formats.excel import ExcelFormatter import openpyxl# 投注类型映射字典 BET_MAPPING {1: WIN, 2: PLA, 3: QIN, 4: QPL,5: DBL, 6: TCE, 7: QTT,…...

P1123 取数游戏

题目描述 一个 NM 的由非负整数构成的数字矩阵,你需要在其中取出若干个数字,使得取出的任意两个数字不相邻(若一个数字在另外一个数字相邻 8 个格子中的一个即认为这两个数字相邻),求取出数字和最大是多少。 输入格式…...

Spock框架:让单元测试更优雅的高效武器

📖 前言:为什么选择Spock? 在软件开发领域,单元测试是保证代码质量的基石。但传统的JUnit/TestNG测试框架在面对复杂测试场景时,往往会显得力不从心。Spock框架作为新一代测试框架的佼佼者,以其独特的BDD&…...

STM32中的ADC

目录 一:什么是ADC 二:ADC的用途 三:STM32F103ZET6的ADC 3.1ADC对应的引脚 3.2ADC时钟 3.3ADC的工作模式 ​编辑3.4ADC校准 3.5ADC转换结构和实际电压的换算 四:ADC配置步骤 五:两个重要的函数 一&#xff1a…...

React Portals深度解析:突破组件层级的渲染艺术

React Portals的核心概念、使用场景、实现方法、优缺点以及最佳实践。根据我搜索到的资料,都详细讨论了Portals的使用方法、应用场景和注意事项。比如提供了代码示例,说明如何用createPortal将组件渲染到DOM的其他位置,而则强调了Portals在解决z-index和overflow问题上的优势…...

AWS SQS跨账户访问失败排查指南

引言 在使用AWS SQS(Simple Queue Service)时,跨账户访问是常见的业务场景。例如,账户A的应用程序向队列发送消息,账户B的消费者从队列拉取消息。尽管AWS官方文档明确支持此类配置,但在实际应用中,由于权限模型的复杂性,开发者和运维人员常会遇到“策略已配置但无法接…...

数据挖掘工程师的技术图谱和学习路径

数据挖掘工程师的技术图谱和学习路径: 1.基础知识 数据挖掘工程师是负责从大量数据中发现潜在模式、趋势和规律的专业人士。以下是数据挖掘工程师需要掌握的基础知识: 数据库知识:熟悉关系数据库和非关系数据库的基本概念和操作,掌握SQL语言。 统计学基础:了解统计学的基…...

0301 leetcode - 1502.判断是否能形成等差数列、 682.棒球比赛、657.机器人能否返回原点

1502.判断是否能形成等差数列 题目 给你一个数字数组 arr 。 如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 。 如果可以重新排列数组形成等差数列,请返回 true ;否则,返回 false…...

【03】STM32F407 HAL 库框架设计学习

【03】STM32F407 HAL 库框架设计学习 摘要 本文旨在为初学者提供一个关于STM32F407微控制器HAL(Hardware Abstraction Layer)库框架设计的详细学习教程。通过本文,读者将从零开始,逐步掌握STM32F407的基本知识、HAL库的配置步骤…...

React低代码项目:Redux 状态管理

吐司问卷:Redux 状态管理 Date: February 18, 2025 5:37 PM (GMT8) Redux 管理用户信息 命名规范: 以 Info 结尾表示获取Reudx信息,比如 useGetUserInfo.ts 以 data 结尾表示获取服务端信息,比如 useLoadQuestionData 采用 Re…...

Vue核心知识:动态路由实现完整方案

在Vue中实现动态路由,并结合后端接口和数据库表设计,是一个复杂的项目,需要多个技术栈和步骤的配合。以下将详细描述整个实现过程,包括数据库设计、后端接口设计、前端路由配置以及如何实现动态路由的功能。 目录 一、需求分析二…...

Linux安装jdk,node,mysql,redis

准备工作: 1.安装VMware软件,下载CentOs7镜像文件,在VMware安装CentOs7 2.宿主机安装Xshell用来操作linux 3. .宿主机安装Xftp用来在宿主机和虚拟机的linux传输文件 案例1:在 /home/soft文件夹解压缩jdk17,并配置环…...

数据库原理与使用基础教程

数据库原理与使用基础教程 大纲 数据库基础概述 什么是数据库?数据库管理系统(DBMS)概述数据库的类型数据库模型与结构 关系型数据库 关系型数据库简介表(Table)、字段(Field)、记录&#xff…...

GCC 与 Clang:两大编译器的全面对比与深度解析!

GCC 与 Clang:两大编译器的全面对比与深度解析!🔥 你是否曾为选择编译器而纠结?GCC 和 Clang 作为 C/C 开发中最主流的编译器,它们各自有什么优势和特点?为什么有人说 Clang 更现代,而 GCC 更强…...

ue5 创建多列StreeView的方法与理解

创建StreeView的多列样式怎么就像是创建单行单列差不多?貌似就是在单行单列中加入了多列widget? 示例代码 DetailTabWidget #pragma once #include "TreeViewItemBase.h"class SDetailTabWidget : public SCompoundWidget {SLATE_BEGIN_ARGS(SDetailTabWidget){…...

GPT-4.5来了

https://chat.xutongbao.top/...

java后端开发day25--阶段项目(二)

(以下内容全部来自上述课程) 1.美化界面 private void initImage() {//路径分两种://1.绝对路径:从盘符开始写的路径 D:\\aaa\\bbb\\ccc.jpg//2.相对路径:从当前项目开始写的路径 aaa\\bbb\\ccc.jpg//添加图片的时…...

【小羊肖恩】小羊杯 Round 2 C+K

题目链接:https://ac.nowcoder.com/acm/contest/100672#question C.是毛毛虫吗? 思路: 其实很简单,假设我们要满足题目所给条件,那么这个毛毛虫最坏情况下肯定是一条如下图所示的无向图 右端省略号为对称图形 &…...

计算机网络——详解TCP三握四挥

文章目录 前言一、三次握手1.1 三次握手流程1.2 tcp为什么需要三次握手建立连接? 二、四次挥手2.1 四次挥手流程2.2 为什么是四次,不是三次?2.3 为什么要等待2msl?2.4 TCP的保活计时器 前言 TCP和UDP是计算机网络结构中运输层的两…...