45、安卓系统特权提升攻击深度剖析

安卓系统特权提升攻击深度剖析

1. 安卓系统架构与安全机制概述

安卓系统的架构分为底层服务层和中间件层。底层服务层为系统的其他部分提供诸如网络、存储、内存和处理等基础服务。中间件层则由原生安卓库(用 C/C++ 编写)、优化版的 Java 虚拟机 Dalvik 虚拟机(DVM)以及用 Java 编写的核心库组成。DVM 负责执行高层应用的二进制文件。安卓应用使用 Java 编写,由多个独立的组件构成,这些组件可以通过安卓中间件提供的 Binder 机制进行组件间通信(ICC)。

由于安卓应用使用 Java 编写,隐式边界检查使其基本能抵御标准的缓冲区溢出攻击。然而,Java 应用可通过 Java 本地接口(JNI)访问 C/C++ 代码库。开发者可能出于性能等原因,使用 JNI 将自己的 C/C++ 库集成到程序代码中。而且,许多 C 库默认被映射到程序内存空间的固定内存地址。因此,引入 C/C++ 库后,Java 编程语言提供的安全保障就不再适用。

安卓系统具备多种安全机制,具体如下:
- 自主访问控制(DAC) :继承自 Linux,通过进程所有权来控制对文件的访问。每个运行的进程被分配一个用户 ID,每个文件都有针对用户、组和其他用户的访问规则,这些主体集可能拥有读取、写入和执行文件的权限。
- 沙盒机制 :将应用彼此隔离,并与系统资源隔离。系统文件由“系统”或“根”用户拥有,其他应用有自己的唯一标识符。这样,应用只能访问自己拥有的文件或其他应用明确标记为可读/可写/可执行的文件。
- 权限机制 :由安卓中间件层提供,参考监视器对 ICC 调用执行强制访问控制(MAC)。安全敏感接口受标准安卓权限保护,如拨打电话、访问互联网、发送短信等,应用必须具备这些权限才能执行相应操作。此外,应用还可以声明自定义权限标签来限制对自身接口的访问。所需权限在清单文件中明确指定,并在安装时根据对声明这些权限的应用签名的检查和用户确认进行批准。
- 组件封装 :应用组件可以指定为公共或私有。私有组件只能由同一应用内的组件访问;声明为公共的组件也可被其他应用访问,但完全访问可能需要调用应用具备指定的权限。
- 应用签名 :安卓使用加密签名来验证应用的来源并建立它们之间的信任关系。开发者必须对应用代码进行签名,这允许启用基于签名的权限,或允许来自同一来源(即由同一开发者签名)的应用共享相同的用户 ID。签名密钥的证书可以自签名,无需由认证机构颁发,证书包含在应用安装包中,以便在安装时验证开发者的签名。

2. 安卓权限机制的安全缺陷与特权提升攻击

安卓权限机制存在安全缺陷,可能导致受损应用发起特权提升攻击。具体问题在于,权限较少的应用(非特权调用者)可以不受限制地访问权限更高的应用(特权被调用者)的组件,即安卓的安全架构不能确保调用者至少拥有与被调用者相同的权限。

以下通过一个示例来说明特权提升攻击的可能性:
| 应用 | 授予权限 | 组件 | 组件权限保护情况 |
| ---- | ---- | ---- | ---- |
| A | 无 | CA1、CA2 | - |
| B | p1 | CB1、CB2 | 无权限标签保护,可访问受 p1 保护的外部应用组件 |
| C | -、p2、p1 | CC1、CC2 | CC1 受 p1 保护,CC2 受 p2 保护 |

从上述表格可以看出,组件 CA1 由于应用 A 未被授予 p1 权限,无法直接访问组件 CC1。但数据可以通过组件 CB1 间接从 CA1 到达 CC1。因为 CB1 不受权限标签保护,可被 CA1 访问,且应用 B 及其组件被授予 p1 权限,所以 CB1 可以访问 CC1。

为防止此类攻击,应用 B 必须对权限进行额外检查,确保调用 CB1 组件的应用被授予 p1 权限。通常可以通过在组件代码中包含参考监视器钩子来实现,但这个任务被委托给应用开发者,而非由系统集中执行。由于开发者通常并非安全专家,他们的应用可能无法实现必要的权限检查。

3. 特权提升攻击示例

下面介绍一个基于安卓核心应用 Phone 的特权提升攻击示例。Phone 应用曾存在一个未受保护的组件,为其他应用提供了拨打电话的接口。将此攻击示例与前面的架构对应,Phone 应用可视为应用 B,受系统权限 PHONE CALLS 保护的系统接口可表示为应用 C,任何非特权应用(如 Activity Manager)可充当应用 A。

当 Activity Manager 从 shell 控制台调用以下命令时:

am start -a android.intent.action.CALL tel:1234

手机会拨打指定号码。在这个例子中,非特权应用 Activity Manager 能够进行未经授权的电话呼叫。

4. 攻击场景与假设

在我们设定的攻击场景中,用户从互联网下载一个非恶意但存在漏洞的应用,例如一个存在内存错误(如缓冲区溢出漏洞)的游戏。安装过程中,用户授予游戏访问互联网的权限,例如用于与朋友分享高分。攻击者的目标是在用户保存游戏状态时,通过 SMS 向指定的 premium - rate 号码发送短信。为实现这一目标,攻击者利用应用的漏洞进行特权提升攻击,以获取发送短信的权限。

我们做出以下假设:
- 受害者的设备未越狱,但安装了 Android 脚本环境(ASE)应用 v2.0(ase r20),其中包含 Tcl 脚本解释器。ASE 虽不是核心安卓应用,但由 Google 开发者开发,可从 ASE 主页免费下载,很多平台可能会安装它。
- 用户安装的应用存在堆溢出漏洞,利用堆溢出漏洞是当今攻击者常用的攻击手段。
- 用户为该易受攻击的应用分配了访问互联网的权限,因为超过 60% 的安卓应用都需要此权限。

5. Android 脚本环境(ASE)分析

ASE 应用为安卓平台引入了高级脚本语言,以实现快速开发。它提供了多种脚本语言的解释器,如 BeanShell、Tcl、JRuby、Lua、Perl、Python 和 Rhino。ASE 拥有发送消息、拨打电话、读取联系人、访问蓝牙和相机等多种权限。

ASE 是一个客户端 - 服务器应用。服务器部分负责命令的解释和执行,客户端只是一个前端,通过套接字连接与服务器通信以传递 shell 命令。客户端实现为可执行文件,任何应用都可以执行它。当客户端被调用时,其进程被分配与调用应用相同的用户 ID,从而自动继承其权限。由于客户端需要与 ASE 服务器建立套接字连接,调用应用必须被分配互联网权限,否则连接将失败。

ASE 服务器部分作为应用组件实现,其漏洞在于对该组件的访问没有任何权限保护。无特权的应用可以无限制地访问服务器并传递任意 shell 命令执行。ASE 服务器未能执行额外的安全检查,以确保调用应用具备执行请求操作的适当权限。因此,任何恶意或受损的应用都可以滥用 ASE 应用执行各种未经授权的操作,如拨打电话、发送短信、追踪手机位置等。

在实验中,我们尝试使用 Perl、Lua、Python 和 Tcl 脚本语言进行攻击。结果表明,这些语言对应的客户端可执行文件对所有用户都有执行权限。但与 Tcl 不同,Perl、Lua 和 Python 脚本语言还使用了只有 ASE 应用本身才能访问的库。这意味着在不额外操作这些库的访问权限的情况下,除 ASE 外的其他应用无法调用它们。因此,我们的特权提升攻击选择使用 Tcl 脚本解释器。

mermaid 流程图展示 ASE 工作流程:

graph LR
    A[调用应用] -->|传递命令| B[ASE 客户端]
    B -->|套接字连接| C[ASE 服务器]
    C -->|执行命令| D[操作执行]
6. 攻击技术 - 无返回的面向返回编程(ROP)

为实施特权提升攻击,我们利用了存在堆溢出漏洞的应用,并采用了无返回的面向返回编程(ROP)技术。这种技术允许攻击者通过链接系统库中的各种小指令序列来诱导任意程序行为。与传统的 ROP 相比,无返回的 ROP 绕过了返回地址检查器,因为它依赖于间接跳转而非返回。而且,它不能被诸如 W⊕X(可写异或可执行)的内存保护方案阻止,该方案通过将内存页面标记为可写或可执行来防止代码注入攻击。

无返回的 ROP 攻击的基本步骤如下:
1. 攻击者利用特定程序的缓冲区溢出漏洞,溢出本地缓冲区并覆盖相邻控制流信息。
2. 攻击者注入多个跳转地址,程序执行被重定向到链接库中跳转地址 1 处的指令序列。
3. 执行链接库中的指令序列,直到遇到跳转指令,通过跳板将执行重定向到下一个指令序列。
4. 跳板负责从控制结构部分加载下一个指令序列的地址,并将执行重定向到该序列。
5. 重复上述过程,直到攻击者终止程序。

对于 ARM 架构,攻击使用 BLX(分支 - 链接 - 交换)指令作为跳转指令。BLX 在普通程序中用于间接子例程调用,它强制分支到特定寄存器中存储的跳转地址,同时将返回地址加载到链接寄存器 lr 中。必要时,它还能实现 ARM 指令集和 THUMB 指令集的交换。

mermaid 流程图展示无返回 ROP 攻击流程:

graph LR
    A[攻击者] -->|溢出缓冲区| B[覆盖控制流信息]
    B -->|注入跳转地址| C[重定向执行到指令序列 1]
    C -->|执行指令序列| D[遇到跳转指令]
    D -->|通过跳板| E[重定向到指令序列 2]
    E -->|重复执行| F[攻击者终止程序]

安卓系统特权提升攻击深度剖析

7. 攻击实现

我们在安卓平台 2.0 的设备模拟器以及搭载安卓平台 1.6 的真实设备(Android Dev Phone 2)上都进行了攻击测试,下面详细介绍基于模拟器版本的攻击实现。

7.1 易受攻击的应用

我们的易受攻击应用是一个标准的 Java 应用,通过 JNI 引入了包含 C/C++ 代码的本地库。以下是包含的 C/C++ 代码:

struct foo {
    char buffer[460];
    jmp_buf jb;
};

jint Java_com_example_hellojni_HelloJni_doMapFile(JNIEnv* env, jobject thiz) {
    // 打开一个二进制文件(未展示)
    ...
    struct foo *f = malloc(sizeof *f);
    i = setjmp(f->jb);
    if (i != 0)
        return 0;
    fgets(f->buffer, sb.stsize, sFile);
    longjmp(f->jb, 2);
}

此应用存在 setjmp 漏洞。通常,setjmp 和 longjmp 是允许非本地控制转移的系统调用。setjmp 会创建一个特殊的数据结构(jmp_buf),调用 setjmp 时,寄存器 r4 到 r14 的值会存储在 jmp_buf 中。当调用 longjmp 时,r4 到 r14 寄存器会恢复为 jmp_buf 结构中存储的值。如果攻击者能在 longjmp 调用之前覆盖 jmp_buf 结构,就能将控制转移到自己选择的代码,而不会破坏任何返回地址。

fgets 函数会将一个名为 binary 的文件中的数据插入到缓冲区(位于 foo 结构中),且不进行边界检查。由于 foo 结构还包含 jmp_buf 结构,大于 460 字节的二进制文件会覆盖相邻的 jmp_buf 结构内容。

不过,我们的实验发现安卓为 setjmp 缓冲区启用了堆保护,通过在 libc.so 中硬编码一个固定的金丝雀值,并在金丝雀和 jmp_buf 之间留出 52 字节的空间。这个金丝雀值与设备和进程无关,所以在攻击时需要考虑金丝雀值以及这 52 字节的空间。

7.2 攻击工作流程

攻击工作流程如下:
1. 当通过 JNI 调用本地库代码时,利用堆溢出的 setjmp 漏洞,发起无返回的 ROP 攻击。
2. 使用多个小工具调用 Tcl 客户端,并发送一个发送 50 条短信的命令。
3. 以易受攻击应用身份运行的 Tcl 客户端与 ASE Tcl 服务器组件建立套接字连接。
4. Tcl 客户端与 ASE Tcl 服务器通信并传递 Tcl 命令以执行。由于 Tcl 服务器不检查 Tcl 客户端的权限,攻击者能够发送短信,尽管易受攻击的 Java 应用从未被授权这样做。

以下是 mermaid 流程图展示攻击工作流程:

graph LR
    A[易受攻击应用] -->|利用漏洞发起 ROP 攻击| B[调用 Tcl 客户端]
    B -->|套接字连接| C[ASE Tcl 服务器]
    C -->|执行命令| D[发送短信]
7.3 解释器命令

为了执行攻击,小工具链需要将执行重定向到标准的 libc 系统函数,以调用 Tcl 客户端可执行文件 tclsh,从而执行 Tcl 命令。但我们发现需要设置一个 ASE 特定的环境变量 AP_PORT 才能让 Tcl 解释器正常工作。因此,系统函数的参数实际上包含两个 shell 命令:一是设置 AP_PORT 环境变量,二是调用 Tcl 解释器并发送 50 条短信到目标电话号码 5556(另一个安卓实例)。整个系统函数的参数如下:

export AP_PORT='50090';
echo -e 'package require android\n
set android [android new]\n
set num "\'5556\'" \n
set message "Test" \n
for {set x 0} {$x < 50} {incr x} {$android sendTextMessage $num $message }' | /data/data/com.google.ase/tclsh/tclsh
7.4 使用的指令序列

我们将上述解释器命令作为参数提供给 libc 系统函数,通过无返回的 ROP 调用系统函数。所有使用的指令序列和相应的攻击步骤如下表所示:
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 攻击者将解释器命令和必要的跳转地址注入应用的内存空间 |
| 2 | 初始化寄存器 r6(使其指向第一个跳转地址),并将执行重定向到序列 1 |
| 3 | 序列 1 的指令 1 将跳板地址从栈加载到 r3,指令 2 强制跳转到跳板序列 |
| 4 | 跳板序列更新 r6,将第二个跳转地址加载到 r5,然后分支到序列 2 |
| 5 | 序列 2 终止后,跳板序列将执行重定向到序列 3 |

为调用系统函数,我们需要完成以下操作:
1. 将跳转地址和解释器命令注入应用的内存空间。
2. 初始化寄存器 r6(跳板序列)。
3. 将我们的跳板序列地址加载到 r3(序列 1)。
4. 将解释器命令的地址加载到 r0(序列 2)。
5. 最终调用 libc 系统函数(序列 3)。

综上所述,安卓系统的权限机制存在安全漏洞,可能导致特权提升攻击。攻击者可以利用应用的漏洞,结合如 ASE 应用的缺陷和无返回的 ROP 技术,实现未经授权的操作。开发者和用户需要加强安全意识,采取相应的措施来防范此类攻击,如严格检查应用权限、及时修复应用漏洞等。

人脸识别签到考勤系统实战源码 这是一套可直接运行的人脸识别智能签到考勤系统,基于OpenCV YuNet人脸检测与SFace特征识别实现,全程本机运行,数据保存在本地SQLite,不上传任何服务器。配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、逐步骤操作截图和答辩PPT讲解。 系统围绕五个功能模块展开:人脸注册支持照片批量导入并提取特征入库;识别签到支持照片或摄像头两种方式,实时框出人脸并标注姓名、相似度与考勤状态;考勤规则引擎按config.py里配置的上下班时间与宽限分钟,自动判定迟到、早退、缺勤;Tkinter管理面板完成人员管理、流水查询与月度汇总;最后通过openpyxl一键导出整月考勤矩阵,正常绿、迟到黄、缺勤红,Excel打开即用。 选型上特意选了YuNet+SFace路线:纯pip安装免编译,CPU单帧识别不到100ms,两个ONNX模型共约37MB,出自OpenCV官方模型仓库,毕设报告引用有据可查。教程第7章整理了16条Windows下真实踩过的报错及排查方法,第8章给出换模型、换人脸、加功能的二次开发路径。 适合做计算机视觉方向毕设或课程设计的学生,也适合想给班级、实验室、小团队搭一套本地签到工具的Python学习者。运行环境为Python 3.9以上、Windows 10/11,不需要GPU。 使用时先pip install -r requirements.txt装齐依赖,再运行download_data.py下载模型,最后启动main.py即可进入图形界面;命令行register、recognize、report子命令也可脱离界面单独调用。 立即下载

相关推荐

【无人机航测】MATLAB重叠率与地面分辨率协同设计:航线间距及飞行方向优化系统 MATLAB 无人机航测重叠率设计|地面分辨率与航线间距计算

内容概要:本文档介绍了基于MATLAB R2025b开发的无人机航测重叠率与航线间距计算系统,旨在通过建立统一的航测几何计算体系,实现重叠率、地面分辨率与航线间距的动态协同设计。系统结合相机参数、飞行参数、地形数据与风场信息,通过自动化候选航向搜索与多目标优化,选择兼顾覆盖质量、飞行效率与安全性的最优航线方向。项目涵盖从参数输入、摄影测量计算、地形与安全修正,到候选路线生成、综合评价与结果可视化的全流程,并构建了五万组模拟数据用于算法验证与模型训练,支持桌面交互、批量处理与服务化部署,适用于多种复杂场景下的无人机航测任务规划。 适合人群:具备一定MATLAB编程基础和摄影测量知识的科研人员、工程技术人员及高校师生,尤其适合从事无人机航测、地理信息系统(GIS)、遥感与测绘等相关领域的从业者。 使用场景及目标:① 实现无人机航测任务中地面分辨率与航线间距的精确计算与动态优化;② 解决复杂地形与风场环境下航线方向选择困难、覆盖质量难以保障的问题;③ 通过自动化设计减少人为经验依赖,提升航测任务的可靠性与效率;④ 为后续的三维建模、正射影像生成与灾害应急评估等应用提供高质量的数据基础。 阅读建议:建议读者结合文中提供的完整代码示例与GUI界面设计,逐步实践参数配置、模型计算与结果分析流程。重点关注摄影测量公式推导、地形修正策略与多目标优化算法的实现细节,并利用模拟数据进行敏感性分析与模型验证,以深入理解系统的设计理念与工程应用价值。

【顶级EI复现】基于KKT条件与分段解析优化的双有源桥DC-DC变换器软开关协同最小应力闭环控制方法(Simulink仿真实现)

内容概要:本文详细介绍了一种基于KKT(Karush-Kuhn-Tucker)最优性条件与分段解析优化技术的双有源桥(DAB)DC-DC变换器闭环控制方法,旨在实现软开关条件下器件电压和电流应力的协同最小化,从而提升变换器的转换效率与系统可靠性。该方法通过建立精确的数学模型,结合KKT条件进行优化求解,并采用分段解析策略提高实时控制性能,在Simulink环境中完成了完整的闭环控制系统建模与仿真验证。作为“顶级EI复现”级别的研究成果,内容涵盖控制算法设计、优化机制分析、仿真架构搭建及结果对比,具有较强的理论深度与工程应用价值,适用于电力电子高频化、高效化发展的前沿研究方向。; 适合人群:面向具备电力电子、自动控制或电气工程等相关专业背景,熟悉Simulink仿真平台,且从事科研工作1年以上的研究生、博士生及科研人员;特别适合致力于DC-DC变换器拓扑优化、软开关技术、最小化开关应力控制、能量高效传输等领域研究的专业人士。; 使用场景及目标:① 复现高水平EI期刊论文中的先进优化控制算法;② 掌握KKT条件在非线性约束优化问题中的具体应用;③ 深入理解DAB变换器在不同工况下的软开关实现机制与应力抑制策略;④ 构建高精度仿真模型以支撑学术论文撰写、科研项目申报或实际工程系统的控制方案设计。; 阅读建议:建议结合提供的Simulink仿真模型同步学习,重点关注KKT条件推导过程与分段解析优化模块的实现逻辑。由于内容涉及较强的数学建模与优化理论,推荐具备扎实的电路理论、现代控制理论及数值优化基础后再行研读,并可参考同系列“顶级EI复现”资源以构建系统性知识体系。

【电力负荷预测】项目介绍 MATLAB实现基于BO-Transformer-LSTM贝叶斯优化算法(BO)优化Transformer-LSTM组合模型进行居民用户多步电力负荷预测(含模型描述及部分示例

内容概要:本文介绍了一个基于BO-Transformer-LSTM的组合模型,用于实现居民用户多步电力负荷预测的完整项目实例。该模型融合Transformer的全局注意力机制与LSTM的局部时序记忆能力,构建能够捕捉长时依赖与周期性特征的深度学习架构,并引入贝叶斯优化(BO)自动搜索最优超参数组合,提升预测精度与训练效率。项目涵盖从原始数据清洗、特征工程、滑动窗口样本构建、模型设计到超参数优化、反归一化及多步误差评估的全流程,强调时间顺序划分以防止信息泄露,并通过周期编码、外生变量融合等方式增强数据表达能力。文中提供了详细的MATLAB代码示例,包括数据预处理、网络搭建、贝叶斯优化配置和预测结果评估等关键步骤。 适合人群:具备一定机器学习和时间序列分析基础,熟悉MATLAB编程环境,从事电力系统预测、智能电网、负荷管理等相关领域的研究人员、工程师及研究生。 使用场景及目标:①应用于居民级或多用户聚合负荷的短期至中期多步预测(如未来24小时);②服务于配电系统运行调度、需求响应基线设定、家庭能源管理系统优化、分布式能源协调控制等实际工程场景;③为科研提供可复现的深度学习+贝叶斯优化的技术路线参考。 阅读建议:此资源以实际项目为导向,建议读者结合提供的代码逐步实现并调试模型,重点关注数据质量控制、时间特征编码、组合网络结构设计与贝叶斯优化稳定性之间的协同关系,在实践中深入理解多步预测中的误差累积机制与超参数敏感性问题。

交错并联图腾柱PFC变换器仿真设计(Simulink仿真实现)

内容概要:本文档系统性地介绍了基于Simulink平台的“交错并联图腾柱PFC变换器”仿真设计,聚焦于高效率功率因数校正技术的建模与实现。内容涵盖双闭环控制策略(电压外环与电流内环)、PI控制器设计、交错并联结构优化以及图腾柱拓扑的工作原理,旨在提升系统动态响应性能、降低输入电流谐波含量并改善功率因数。文档不仅提供详细的仿真模型构建流程,还配套Mathcad计算书用于参数设计与功率等级扩展,并列举了多种相关电力电子变换器的仿真案例,如三相维也纳整流器、LLC谐振变换器、双向Buck-Boost电路等,形成了一套完整的电力电子系统仿真资源体系,适用于从理论分析到工程实践的全流程学习与研究。; 适合人群:电气工程、自动化、电力电子及相关专业的高校本科生、研究生,以及从事新能源发电、电源设计、电能质量治理、工业自动化等领域的研发工程师;具备基本电路理论知识和Simulink/Matlab使用经验者更佳。; 使用场景及目标:①支持高校课程设计、毕业设计或科研项目中对先进PFC拓扑的仿真验证与性能优化;②帮助工程技术人员快速掌握图腾柱PFC的核心控制逻辑与建模方法,缩短产品开发周期;③作为电力电子系统教学与技术培训的标准化参考案例,强化理论与实践结合能力。; 其他说明:文档由“荔枝科研社”整理发布,所有资源可通过指定公众号或百度网盘链接获取,建议按照目录顺序系统学习,并结合提供的Mathcad计算书、参考文献及仿真文件进行参数验证与二次开发,以深化理解与应用能力。

测试用的衣橱app小软件,自己玩撒打算

测试用的衣橱app小软件,自己玩撒打算

【智能制造排程】基于双层编码遗传算法的柔性作业车间调度模型:工序排序与机器选择联合优化 项目介绍 MATLAB 柔性作业车间排程|遗传算法与机器选择双层编码

内容概要:本文介绍了一个基于MATLAB的柔性作业车间排程项目,采用遗传算法与双层染色体编码技术实现工序排序与机器选择的联合优化。项目构建了统一的排程模型,涵盖工件工序、候选机器、加工时间、设备能力、能耗及交付时间等要素,通过双层编码结构(工序序列层与机器选择层)分别处理加工顺序和设备分配问题,并设计了相应的解码机制、遗传操作与综合适应度函数,以最小化最大完工时间、降低设备空闲损失、提升负载均衡与能源效率为目标。系统支持模拟数据生成,融合多种概率分布反映实际生产不确定性,并输出甘特图、收敛曲线和设备利用率等结果,具备良好的可扩展性,可用于智能制造排程算法研究与实际系统开发。; 适合人群:具备一定编程基础,熟悉MATLAB环境,从事生产调度、智能制造、运筹优化等相关领域的研究人员、工程技术人员及高校研究生;有志于学习遗传算法在工业排程中应用的1-3年经验研发人员。; 使用场景及目标:①解决柔性作业车间中工序排序与机器选择耦合的复杂调度问题;②优化制造系统的最大完工时间、设备利用率、能耗与订单交付表现;③为MES、数字孪生、智能车间等系统提供核心排程算法模块;④作为教学案例或科研平台,用于算法对比、参数调优与动态重排程研究。; 阅读建议:此资源以MATLAB实现为核心,包含完整代码结构与数据生成逻辑,建议结合文中提供的代码示例进行实践运行与调试,深入理解双层编码机制、解码流程与遗传操作的设计思想,并可根据实际需求调整适应度权重或引入新约束条件进行二次开发。

超全Mathcad全桥LLC谐振变换器开关电源设计mathcad计算书

内容概要:本文介绍了“Plecs全桥LLC谐振变换器仿真模型”这一技术资源,该模型基于Plecs仿真平台构建,完整实现了全桥LLC谐振变换器的电路拓扑与控制系统,用于深入研究其在变频与移相混合控制策略下的动态行为。模型涵盖了软开关实现机制、谐振腔参数设计、功率传输特性、效率优化以及闭环控制策略等核心内容,支持对启动过程、负载突变、频率调节等工况的仿真分析,有助于全面掌握LLC变换器在高效率、高功率密度电源系统中的工作原理与设计方法。; 适合人群:具备电力电子技术基础、熟悉开关电源设计原理的研究生、硬件工程师及从事高频电源产品研发的技术人员。; 使用场景及目标:①用于高校教学与科研中对LLC谐振变换器运行机理的深入理解与验证;②辅助工程师在实际产品开发中进行关键参数设计、性能预测与优化;③支持对变频控制、软启动过程、零电压开关(ZVS)实现条件、负载调整率及系统稳定性等关键指标的仿真分析与验证。; 阅读建议:建议使用者具备Plecs或类似电力电子仿真软件的操作经验,结合经典电力电子教材与LLC设计指南进行学习,通过调整谐振元件参数、开关频率与负载条件,观察系统响应变化,以深化对谐振变换器非线性动态特性的理解,并建议将仿真结果与理论计算对照分析,提升工程设计能力。

产业园区如何通过数智工具精准识别企业技术需求,提高服务匹配效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

game.c.docx

game.c.docx

市级区域_打包.zip

这组资源是基于阿里云 DataV 平台提取的**全国省、市、县三级行政区划矢量数据**,文件格式为通用性极强的 **GeoJSON**。它轻量且结构清晰,不仅易于人类阅读,还能直接拖入 QGIS、ArcGIS 进行制图,或通过 Python (Geopandas)、JavaScript 等代码直接读取调用。 在内容涵盖上,数据从“全国 (100000)”向下细分至省级、地级市,以及县级/市辖区。每个要素(Feature)都完整包含了多边形的经纬度边界坐标,以及极其关键的 `adcode`(国家行政区划代码)、名称(name)、中心点(center)等属性。这允许你在制图时直接按代码或名称精准定位,进行数据聚合或空间裁剪。 在结构设计上,资源巧妙地兼顾了“宏观嵌套”与“微观独立”。例如,带 `_full` 后缀的市级文件,内部直接包含了该市下辖所有区县的边界,适合做全省/全市的整体可视化;而单独无后缀的区县级文件,则适合精细化拆分。此外,直辖市辖区(如北京东城区)已被正确归入县级资源,避免了层级混淆,是一套非常适合做 Web 地图可视化或本地空间分析的底图资产。

科技中介服务机构在支持企业科技成果转化时,如何实现高效资源推送与项目管理?.docx

科技中介服务机构在支持企业科技成果转化时,如何实现高效资源推送与项目管理?

PHP 安全库 HTMLPurifier 4.19.1 富文本 XSS 过滤源码包

内容概要:HTMLPurifier 4.19.1 源码包,是 PHP 后端成熟的 HTML 白名单清洗库,可过滤 XSS 恶意代码,自动修复不规范 HTML,支持 CSS 校验。 适用人群:PHP 开发工程师、后端安全开发、CMS / 富文本系统开发者。 使用场景:评论、文章、工单等用户提交富文本内容的安全过滤,支持手动引入或 composer 安装。 其他说明:支持 PHP5.6~8.5 版本,生产建议开启缓存提升性能,基于白名单机制,安全可靠。

【运维自动化】shell脚本自动化运维示例2

内容概要:本文介绍了shell脚本在自动化运维中的实际应用,重点展示了一个批量远程执行命令与文件分发的典型场景。通过编写健壮的Shell脚本,实现对多台服务器并行执行指定命令(如磁盘使用情况查询),并集成错误处理、超时控制和并发管理机制,提升运维效率与系统稳定性。脚本采用set -euo pipefail增强容错能力,利用SSH免密登录和xargs并行处理实现高效批量操作,同时强调在受控内网环境中运行以保障安全。; 适合人群:具备Linux系统基础和Shell编程经验,从事运维、DevOps或后端开发工作1-3年的技术人员。; 使用场景及目标:①用于批量服务器状态检查、配置同步、日志收集等日常运维任务;②帮助理解自动化脚本设计中的健壮性要素(如错误捕获、并发控制、安全性考虑)并应用于生产环境。; 阅读建议:此资源提供可直接修改复用的实用脚本范例,建议结合自身运维环境进行适配测试,重点关注SSH安全配置、并发参数调优及异常输出捕获,确保在真实部署中稳定可靠。

半桥LLC谐振DCDC变换器的设计与仿真(Simulink仿真实现)

内容概要:本文系统阐述了半桥LLC谐振DCDC变换器的设计原理与Simulink仿真方法,重点围绕其开环与闭环控制系统展开建模与分析。内容涵盖LLC谐振变换器的工作原理、谐振腔参数设计、软开关实现机制、增益特性分析,以及恒压恒流双闭环控制策略的实现方式。通过构建完整的Simulink仿真模型,验证变换器在不同输入电压和负载条件下的动态响应性能与系统稳定性,深入揭示其高效率、高功率密度的技术优势,为实际电源系统如充电桩、车载电源及工业电源等应用场景提供理论支撑与仿真验证手段。; 适合人群:具备电力电子技术基础,熟悉DCDC变换器拓扑结构与控制理论,从事新能源变换系统、开关电源研发或正在进行相关课题研究的研究生、工程师及科研技术人员。; 使用场景及目标:①掌握LLC谐振变换器的关键工作模态与谐振参数设计方法;②学习基于Simulink平台的电力电子系统级建模与闭环控制器设计流程;③为高频高效DCDC变换器的实际工程项目提供设计参考与仿真验证方案; 阅读建议:建议结合文中所述仿真模型,动手搭建Simulink环境,逐步调试谐振元件参数与控制环路PI参数,深入理解谐振频率、电压增益曲线与环路稳定性之间的耦合关系,并可延伸学习全桥LLC、双有源桥DAB等先进拓扑,进一步提升电力电子系统设计能力。

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

PotPlayer自用皮肤

自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。

科技中介服务机构如何提升服务效率与用户黏性?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

2-shell及常用命令-续.pdf

2-shell及常用命令-续.pdf

上一篇: 14、正则表达式与 Linux 打印全面解析
下一篇: 30、网络服务设置与文件共享全攻略
SAM99
博客等级 码龄18年 52粉丝 1755原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值