对应代码文件:src/bin/05_ownership_borrowing.rs
运行命令:
1cargo run --bin lesson05_ownership_borrowing
学习目标本篇系统整理 Rust 最核心、也最容易让初学者卡住的机制:所有权 ownership、移动 move、不可变借用 immutable borrowing、可变借用 mutable borrowing、Copy 类型和资源自动释放。
学完这一节后,你应该能够:
判断一个值在赋值、传参、返回时是否发生所有权移动。
理...
对应代码文件:src/bin/04_control_flow.rs
运行命令:
1cargo run --bin lesson04_control_flow
学习目标本节讲 Rust 的条件分支和循环。流程控制决定程序在不同条件下执行哪段代码。
if 在 Rust 中是表达式,可以返回值。循环也可以通过 break value 把值交给外部变量。
掌握 if、else if、else。
理解 if 表达式两边必须返回同一类型。
掌握 loop、while、for 的区别。
会用 break、continu...
对应代码文件:src/bin/03_functions_scope.rs
运行命令:
1cargo run --bin lesson03_functions_scope
学习目标本节讲函数定义、参数、返回值、表达式和作用域。函数是组织 Rust 程序的基本单位。
Rust 的作用域规则非常重要。变量何时可见、何时释放资源,都由作用域决定。
掌握 fn 的基本写法。
知道函数参数必须写类型。
理解表达式和语句的区别。
理解块作用域如何影响变量生命周期。
核心概念速查
术语
基本意思
本节用途
函...
对应代码文件:src/bin/02_data_types.rs
运行命令:
1cargo run --bin lesson02_data_types
学习目标本节整理 Rust 的标量类型和复合类型。类型决定一个值能保存什么数据,也决定它能参与哪些运算。
Rust 通常能自动推断类型,但在解析字符串、处理空集合、或多个类型都可能成立时,需要你显式标注。
区分标量类型和复合类型。
掌握整数、浮点数、布尔值、字符的基本用法。
会使用元组和数组保存多个值。
知道类型标注在什么情况下是必要的。
核心概念速查
...
对应代码文件:src/bin/01_variables_mutability.rs
运行命令:
1cargo run --bin lesson01_variables_mutability
学习目标本节讲清楚 Rust 变量的默认规则:变量默认不可变,需要修改时显式写 mut。
这些规则不是语法限制那么简单。它们让编译器能提前发现意外修改,也为后续所有权、借用和并发安全打基础。
理解 let 创建绑定,而不是简单等同于其他语言里的赋值。
区分不可变变量、可变变量、shadowing 和常量。
知道什么时候...
FortiToken Mobile 的 OTP 生成最终落在 OATH HOTP/TOTP 标准上,区别在于 seed 的注册、存储和设备绑定方式。逆向过程可以分成两条路线:一条从 activation code 进入移动端注册协议,另一条从已经激活的 Android 应用中还原本地 encrypted seed。
所有 seed、activation code、SSAID、UUID 和 serial 都属于 MFA 凭据材料,只应在自有设备或授权测试环境中处理。
1. 机制概览Fortinet 将...
CVE-2024-21762 是 FortiOS / FortiProxy SSL-VPN 请求解析链中的 out-of-bounds write。公开补丁研究将问题定位到 HTTP chunked Transfer-Encoding 处理逻辑。
复现主线是提取 FortiOS 7.2.5 与 7.2.7 的 /bin/init,从 HTTP 解析字符串定位目标函数,再还原补丁新增的两个长度边界。以下过程面向隔离的授权环境,不包含可直接触发 RCE 或进程崩溃的完整请求。
1. 版本与环境Forti...