CE提权过检测:进程伪装、系统调用与父进程欺骗实战解析
1. 项目概述CE提权过检测的实战背景与核心诉求在渗透测试或安全研究领域提权是获取更高系统权限、扩大控制范围的关键一步。而“CE提权过检测”这个标题精准地指向了一个非常具体且极具实战价值的场景如何在使用经典工具如CE这里通常指代PsExec、Cobalt Strike的execute-assembly等涉及代码执行或进程注入的技术进行提权操作时规避或绕过现代终端安全产品EDR、AV的检测。这不仅仅是执行一条命令而是一场在操作系统监控层进行的“猫鼠游戏”。简单来说它解决的是“我能提权但如何让系统安全软件‘看不见’我”的核心矛盾。这个需求主要适用于渗透测试人员、红队队员以及负责防御体系研究的安全工程师。对于攻击方掌握过检测技术意味着行动的隐蔽性和成功率大幅提升对于防御方理解这些绕过手法则是构建更有效检测规则、提升纵深防御能力的基础。其核心价值在于它将一个单纯的权限提升动作深化为一场针对安全监控机制的逻辑对抗考验的是对操作系统底层机制、安全产品检测原理以及工具链的深刻理解。2. 核心思路拆解为何传统CE提权会被检测在深入技术细节前我们必须先理解对手。现代EDR/AV的检测维度早已不局限于静态文件特征而是构建了一个立体的行为监控网络。一次典型的、未加修饰的“CE式”提权例如直接使用PsExec通过网络在目标机器上创建服务并执行命令通常会触发多个警报点。2.1 检测点一进程创建与父子关系异常安全软件会监控进程的创建行为。一个来自网络如SMB协议的请求突然在系统内创建了一个以SYSTEM或高权限用户运行的cmd.exe或powershell.exe其父进程可能是services.exe通过服务创建或一个陌生的网络服务进程。这种异常的进程派生链Process Tree是首要的检测指标。正常的系统管理操作和恶意提权在进程树上往往有可区分的模式。2.2 检测点二敏感API调用序列工具在运行时必然会调用一系列Windows API。例如PsExec底层会调用CreateServiceW、StartService来创建和启动服务使用进程注入技术则会调用VirtualAllocEx、WriteProcessMemory、CreateRemoteThread等。EDR通过用户态Hook如Detours或内核态回调如PsSetCreateProcessNotifyRoutine监控这些敏感API的调用。一个短时间内集中调用“分配内存-写入内存-创建远程线程”的序列几乎就是进程注入的“签名”。2.3 检测点三网络与日志痕迹PsExec等工具会留下清晰的网络日志Windows安全日志4688、5140等事件和SMB连接记录。在默认配置下成功执行的操作会在目标系统的安全日志中生成事件ID为4688新进程创建的记录其中包含详细的命令行、用户令牌等信息。不清理日志或使用容易被预测的参数会留下铁证。2.4 检测点四内存与载荷特征如果使用定制化的二进制文件或脚本如C# Assembly通过execute-assembly加载文件本身在内存中的特征、加载器如CLR运行时的行为模式也可能被内存扫描引擎检测。一些EDR会对.NET程序集的加载进行深度检查。因此“过检测”的本质就是针对以上一个或多个检测点进行干扰、欺骗或规避使整个提权行为在安全软件的视角下尽可能贴近“正常”或“无法关联”的系统活动。3. 关键技术实现与过检测手法详解理解了检测原理我们就可以有的放矢地设计绕过策略。以下是一些经过实战检验的核心技术路径它们常常组合使用。3.1 进程伪装与令牌窃取这是最直接的“身份”伪装。与其创建新进程不如“借用”一个已存在的、受信任的高权限进程。原理通过OpenProcess获取目标进程如lsass.exe,svchost.exe或其子进程的句柄然后使用DuplicateTokenEx复制其访问令牌最后利用CreateProcessWithTokenW或ImpersonateLoggedOnUserCreateProcessAsUser在新的上下文中生成进程。这样新进程的父进程和令牌信息都来自于一个系统信任的进程。过检测点主要规避进程树异常和部分基于令牌权限突变的检测。新进程的“出身”看起来是清白的。实操要点目标进程选择有讲究选择那些本身行为复杂、子进程多的系统进程如svchost.exe其产生的子进程噪音大更容易隐藏。需要先通过其他漏洞如本地提权漏洞或凭证获取足够的权限来打开目标进程并复制令牌。这本身可能是一个先有鸡还是先有蛋的问题但在已获得一定立足点后非常有效。使用SeDebugPrivilege权限可以打开大多数进程但该权限本身也是监控重点。3.2 直接系统调用与API Unhooking为了绕过用户态的API Hook我们可以绕过EDR注入的DLL直接调用操作系统内核提供的系统调用Syscall。原理EDR通常在用户态的ntdll.dll中安装Hook来拦截API调用如NtCreateThreadEx。直接系统调用通过汇编指令syscall直接进入内核跳过了ntdll.dll中的函数序言从而绕过了用户层的监控。过检测点直接对抗基于用户态Hook的敏感API序列检测。EDR看不到你调用NtAllocateVirtualMemory或NtCreateThreadEx。实操要点需要自己编写或使用封装好的Syscall Stub。系统调用号SSN随Windows版本变化需要动态获取通常通过解析ntdll.dll的代码段。实现复杂且不同Windows版本需要适配。通常使用像Hells Gate、Halos Gate或FreshyCalls这类技术来动态查找稳定的系统调用。一些高级的EDR也开始在内核层通过ETWEvent Tracing for Windows或MiniFilter监控某些行为但直接Syscall仍然是绕过用户态Hook最彻底的方法之一。注意事项直接系统调用代码通常需要嵌入到自写的Shellcode或小型加载器中对开发能力要求较高。现成工具如Cobalt Strike的SyscallBOFBeacon Object File或Sliver C2的类似功能可以简化使用。3.3 父进程欺骗与进程空洞伪造进程的父进程ID使其看起来是由一个良性进程如explorer.exe创建的。原理在创建进程时通过STARTUPINFOEX结构和UpdateProcThreadAttribute函数指定一个伪造的父进程PID。这修改了进程在内核对象中的ParentProcessId字段。同时结合“进程空洞”技术可以先挂起创建进程CREATE_SUSPENDED然后通过NtUnmapViewOfSection清空其内存再注入自己的代码最后恢复执行。过检测点完美解决进程树异常问题。从EDR的视角看是一个普通用户程序如记事本、浏览器启动了一个子进程尽管这个子进程实际执行的是恶意代码。实操要点CreateProcessAPI本身不支持直接指定父进程必须使用扩展函数和属性列表。伪造的父进程需要实际存在且最好是与当前用户会话关联的进程这样看起来更自然。进程空洞技术Process Hollowing是一个经典的注入技术本身可能被内存扫描检测如对PE头与内存区域不匹配的检查。需要结合其他手段如代码加密、动态解密来增强隐蔽性。常见工具Metasploit的migrate命令、Cobalt Strike的spawn和shinject等命令在迁移会话时内部就运用了类似父进程欺骗的技术。3.4 早期注入与模块伪装在安全软件完全初始化之前执行代码或者将恶意模块伪装成合法系统模块。早期注入原理利用开机脚本、计划任务、服务、WMI事件订阅等在系统启动早期或用户登录前执行代码。此时部分安全驱动或服务可能还未加载完毕监控存在盲区。例如通过schtasks创建在系统启动时运行的任务。模块伪装原理将恶意DLL命名为类似系统DLL的名字如netprofm.dll并放置在合法目录下或者通过DLL搜索顺序劫持如phantom DLL hijacking让合法程序加载它。更高级的做法是使用Reflective DLL Injection反射式DLL注入直接将DLL映像在内存中加载并执行不落地磁盘避免了文件扫描。过检测点规避基于文件特征的静态扫描和部分运行时行为监控如果注入时机早于监控启动。模块伪装则利用了系统对“可信”模块的默认信任。实操要点早期注入的持久化能力强但需要管理员权限来配置启动项。反射式DLL注入技术要求自写加载器并且需要处理DLL的重新定位、导入表解析等技术门槛高。但像Cobalt Strike的execute-assembly通过CLR宿主和powerpick在rundll32上下文中运行PowerShell都是这一思想的优秀实践。一个关键技巧使用PPID Spoofing父进程ID欺骗结合早期注入或计划任务可以产生一个看起来完全正常的进程树极大地提高隐蔽性。3.5 日志与痕迹清理真正的“隐形”离不开事后清理。只执行不清理相当于留下了清晰的足迹。原理直接操作Windows事件日志ETW或安全日志文件删除或篡改与攻击活动相关的事件记录。也可以清除Prefetch文件、 ShimCache、 Amcache等取证分析中常用的痕迹。过检测点对抗基于日志的溯源和检测。许多EDR的告警最终需要关联日志事件进行研判。实操要点需要极高的权限通常是SYSTEM才能清除安全日志。可以使用wevtutil命令行工具或直接调用EvtClearLogAPI。更隐蔽的做法不是删除整个日志而是定位并删除特定的事件记录但这需要深入理解ETW提供程序和事件结构。重要警告清除安全日志本身是一个高危行为会在日志中产生新的事件事件ID为1102告知日志已被清除这同样会引起安全人员的警觉。因此更高级的做法是禁用或篡改特定事件的生成而非事后清理。对于文件痕迹可以使用SetFileInformationByHandle设置文件删除标志或者直接覆写文件内容后再删除。4. 实战流程从“CE”到“隐形”的完整操作链假设我们已获得一个初始立足点一个普通用户权限的Shell目标是获取SYSTEM权限并建立持久化后门同时尽可能规避检测。以下是一个融合了上述技术的参考流程并非唯一路径。4.1 阶段一信息收集与环境侦察在动手前必须先了解战场。权限确认whoami /priv查看当前令牌权限寻找如SeImpersonatePrivilege或SeAssignPrimaryTokenPrivilege这些是令牌模拟类攻击的基础。进程枚举tasklist /v或ps查看运行进程寻找适合作为令牌窃取或父进程欺骗的目标。注意观察哪些进程是SYSTEM权限哪些是当前用户权限。安全产品探测通过Get-Process查看是否有已知EDR/AV进程尝试运行一些无害但可能被监控的命令如net user观察响应或使用扫描工具如SharpEDRChecker进行识别。网络与日志配置检查防火墙状态、审核策略auditpol /get /category:*和安全日志大小。了解防守的严密程度。4.2 阶段二初始权限提升与载荷投递目标是获得一个更高权限的、相对隐蔽的初始执行点。利用配置错误检查是否有可写服务路径、不安全的注册表键、AlwaysInstallElevated等。这是最“安静”的方式之一可能不涉及敏感API调用。选择提权向量如果找到漏洞如PrintSpooler, JuicyPotato等优先使用直接系统调用或经过混淆的Exploit代码来执行。避免使用公开的、特征明显的二进制文件。载荷投递将后续的Stage载荷如一个功能完整的后门DLL或Shellcode投递到目标。优先使用无文件落地技术内存加载使用ReflectiveLoader或Donut将PE文件直接加载到内存执行。合法进程加载将Shellcode注入到rundll32.exe、msbuild.exe或installutil.exe等白名单进程中。使用进程空洞和父进程欺骗技术。远程加载从受控的Web服务器通过HTTP/S动态拉取载荷到内存中执行。4.3 阶段三建立隐蔽的持久化通道获得高权限后需要建立一个稳定、隐蔽的通信和控制通道。选择持久化方法避免使用注册表Run键、启动文件夹等常见位置。考虑使用WMI事件订阅非常隐蔽但需要一定的WQL知识。计划任务可以设置为在特定事件如用户登录、特定时间触发并使用/rl highest以最高权限运行。创建时使用伪造的凭据或触发器。服务如果必须创建服务使用一个看起来合法的服务名和描述并将二进制文件路径指向一个签名的系统文件但通过服务参数或DLL劫持来执行恶意代码。后门形态后门本身最好是轻量级的Stager只负责网络心跳和拉取第二阶段代码。核心功能模块动态加载减少内存中的静态特征。通信加密与伪装C2通信使用HTTPS证书尽量匹配一个常见的域名。流量特征模仿正常的云服务API如模仿Azure、AWS或Google的流量。使用域前置Domain Fronting或CDN隐藏真实C2服务器。4.4 阶段四横向移动与持续隐蔽在需要横向移动时谨慎选择方法。替代PsExec避免直接使用psexec.exe或psexecsvc。可以使用WMIwmic /node:target process call create cmd.exe /c ...。WMI流量走135和随机高端口相对常见。计划任务通过schtasks /create /s target ...远程创建任务并立即执行。服务通过SCM服务控制管理器远程创建服务。但WMI和SCM活动同样会被高级监控捕获。凭证传递使用sekurlsa::pthMimikatz进行哈希传递或票据传递攻击时确保在内存中操作避免将哈希或票据明文写入磁盘。使用Rubeus等工具时注意其命令行参数可能被记录。动态调整在整个过程中根据目标环境的安全产品告警情况如果可能获知动态调整攻击手法。如果某种注入方式触发告警立即切换到另一种。5. 常见问题排查与防御视角思考在实际操作中即使按照上述方法也可能遇到各种问题。以下是一些常见故障点及排查思路。5.1 注入失败返回错误代码错误5拒绝访问权限不足。检查当前进程令牌是否具有PROCESS_ALL_ACCESS或PROCESS_CREATE_THREAD等权限。尝试先提权或窃取令牌。错误87参数错误通常发生在使用直接系统调用或复杂API时。仔细检查参数结构体在内存中的对齐、指针和大小是否正确。不同Windows版本的结构体可能有细微差别。错误8内存不足目标进程内存空间不足或地址冲突。尝试在注入前先申请一块内存或者使用NtMapViewOfSection等更底层的内存管理API。5.2 进程创建后立即崩溃或被终止会话隔离问题在Windows中服务SYSTEM权限运行在Session 0而用户桌面程序运行在其他会话。如果你从Session 0的上下文中创建了一个需要交互界面的进程如calc.exe它可能会因无法访问窗口站而崩溃。使用CreateProcessAsUser时指定正确的桌面和窗口站或创建不需要GUI的进程。内存保护属性注入的Shellcode所在的内存页需要具有执行权限PAGE_EXECUTE_READWRITE。使用VirtualProtectEx或NtProtectVirtualMemory进行修改。堆栈对齐在x64系统上调用函数前必须保证堆栈指针RSP是16字节对齐的否则可能导致崩溃。在Shellcode或汇编Stub中需要注意这一点。被EDR强行终止这是最可能的情况。EDR通过内核回调如ObRegisterCallbacks监控进程/线程创建发现恶意特征后直接TerminateProcess。这说明你的绕过手法可能已被识别。需要尝试更冷门的技术组合或者增加更多的“噪音”如先执行一系列良性API调用混淆行为序列。5.3 从防御角度思考如何检测知己知彼了解防御策略有助于改进攻击手法。行为关联分析单一的异常行为可能被忽略但关联多个低置信度事件可以构成高置信度告警。例如“一个来自外网的SMB连接” “短时间内创建了一个以SYSTEM运行的计划任务” “该任务启动了rundll32并加载了一个非常见路径的DLL”。内存特征扫描不依赖API Hook而是定期扫描进程内存寻找已知的Shellcode模式、反射式加载器的代码特征或未签名的模块。内核态监控在驱动层监控更底层的操作如对ntdll.dll代码段的修改尝试用于Unhooking、对进程令牌的直接修改、对日志文件的直接磁盘写入等。机器学习模型训练模型识别正常的进程树、API调用序列和网络行为将偏离基线模型的异常活动标记出来。这对未知攻击手法有一定效果。强化默认配置启用Windows Defender Attack Surface Reduction规则、禁用不必要的服务如WMI、计划任务的远程管理、配置严格的审核策略并确保日志集中收集这些基础工作能极大增加攻击者的成本和暴露风险。5.4 我的几点实操心得没有银弹任何一种过检测技术都有其局限性和被识别的可能。最有效的方法是多种技术叠加使用并根据目标环境定制攻击链。保持低调在获得初始权限后不要急于进行大规模扫描或横向移动。先潜伏摸清环境、安全产品的响应策略和运维节奏。工具定制化公开的、流行的攻击框架如Metasploit, Cobalt Strike的默认模板和载荷特征已被广泛研究。对工具进行深度定制化修改如修改C2协议、混淆Shellcode、使用自定义加载器是保持隐蔽性的关键。理解原理重于使用工具知道mimikatz怎么用很重要但知道它如何从lsass进程内存中提取凭据、可能会触发哪些API调用、如何绕过LSASS保护更为重要。只有理解原理才能在工具失效时自己创造方法。测试测试再测试任何新的绕过手法或工具链必须在与目标环境相似的测试环境中充分验证。蓝队也在不断进化昨天的“免杀”可能今天就会告警。建立一个包含多种EDR的测试环境进行持续对抗演练是红队保持技术领先的必要投入。

相关新闻

SubtitleEdit终极指南:5个步骤快速掌握免费开源字幕编辑神器

SubtitleEdit终极指南:5个步骤快速掌握免费开源字幕编辑神器

SubtitleEdit终极指南:5个步骤快速掌握免费开源字幕编辑神器 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit SubtitleEdit是一款功能强大的免费开源字幕编辑器,支持200多种字幕…

2026/10/7 5:44:43 阅读更多 →
VCF 9.0/9.1 CASA API自动化上传安装PAK包完整实操指南

VCF 9.0/9.1 CASA API自动化上传安装PAK包完整实操指南

本文基于William Lam官方运维速报,拆解VCF Operations(原vRealize Operations)两套PAK升级自动化API方案:分步上传手动安装、一键静默上传自动部署,完整给出curl原生调用命令、参数释义、进度轮询接口;解决…

2026/10/13 23:02:00 阅读更多 →
MySQL EXPLAIN执行计划详解与索引优化实战

MySQL EXPLAIN执行计划详解与索引优化实战

1. 为什么需要深入理解EXPLAIN执行计划第一次接触MySQL性能调优时,我常常陷入这样的困境:明明已经建立了索引,查询速度却依然很慢。直到系统学习了EXPLAIN命令,才发现原来索引的使用情况远比想象中复杂。EXPLAIN就像数据库查询的X…

2026/10/9 4:35:21 阅读更多 →

最新新闻

Django+LLM+遗传算法:打造AI驱动的旅游路线规划与推荐系统

Django+LLM+遗传算法:打造AI驱动的旅游路线规划与推荐系统

每年毕业设计的选题库里,“旅游网站”几乎是大热门,但说实话,十个里面至少有八个做成了标准的增删改查演示——用户注册登录、景点列表、后台维护,顶多再加一个关键字搜索。答辩的时候老师问一句“技术亮点在哪里”,很…

2026/10/13 23:01:16 阅读更多 →
PyBullet物理仿真入门:刚体模型创建、URDF加载与多体组装实战指南

PyBullet物理仿真入门:刚体模型创建、URDF加载与多体组装实战指南

1. 从零理解 pybullet 的模型体系pybullet 这个物理仿真库,刚上手的人最容易卡在“怎么把东西放进场景里”这一步。官方文档给了一堆 API,但真正落到项目里,你会发现创建模型这件事远比想象中要讲究。我最初接触 pybullet 的时候,…

2026/10/13 23:01:16 阅读更多 →
BERT预训练模型句向量与词向量提取:从[CLS]到池化的避坑指南

BERT预训练模型句向量与词向量提取:从[CLS]到池化的避坑指南

简介:面向自然语言处理初学者与开发者,这份压缩包提供一套基于BERT预训练模型生成句向量与词向量的轻量实践脚本,解决从模型加载到向量抽取的关键流程。BERT采用Transformer双向编码结构,能充分捕捉词语的上下文语义,这…

2026/10/13 23:01:16 阅读更多 →
Qt编译MySQL驱动完整指南:解决QMYSQL driver not loaded

Qt编译MySQL驱动完整指南:解决QMYSQL driver not loaded

如果你在 Qt 里写过QSqlDatabase::addDatabase("QMYSQL"),大概率见过这行让人头疼的输出:QSqlDatabase: QMYSQL driver not loaded。即便把官方 SDK 完整装了一遍,插件目录里也只有 qsqlite、qsqlodbc 那几个 dll,唯独没…

2026/10/13 23:01:16 阅读更多 →
AnyPS5项目解析:PS5手柄协议与Linux HID驱动适配

AnyPS5项目解析:PS5手柄协议与Linux HID驱动适配

我无法基于当前输入内容生成符合要求的博文。原因如下:输入中仅提供了项目标题"AnyPS5",但未提供任何实质性的【项目正文】、【关键词】或【摘要描述】;所谓“相关热搜词”和“最新网络热词”字段为空,无实际文本&#…

2026/10/13 23:01:15 阅读更多 →
Oracle 实战速查:表空间、索引与 PL/SQL 避坑指南

Oracle 实战速查:表空间、索引与 PL/SQL 避坑指南

简介:这份PDF面向Oracle数据库初学者与需要系统梳理基础知识的开发、运维人员,围绕表管理、SQL查询、事务、索引、权限角色、表空间与数据字典、PL/SQL编程等核心主题展开,帮助读者从建库建表到编写过程、函数、触发器逐步建立完整知识框架。…

2026/10/13 23:00:15 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →