梯形图特辑 · 收口篇(第 12 期)· 真题拆解
flag{37091.9}、工控指示灯逻辑推理题。
🗺️ 梯形图特辑 · 六期路线图(收官)
期7 实战读图(锚点)→ 期8 概论 → 期9 位逻辑 → 期10 定时器/计数器 → 期11 数据处理 → 期12 真题拆解(本篇)
一、逆向读图的三条铁律
正向是给逻辑算输出,逆向是给输出/工程反推逻辑。三条铁律:
- 先骨架,后血肉:先看 OB1 调了谁、网络怎么分布,别扎进某个触点;
- 顺着"异常"找:CTF 的 flag 往往藏在"不合常理"的那一处——某个 DB 被写、某条定时器链超长、某个常数很突兀;
- 数据流优先:flag 本质是被搬来搬去的数据,追 OUT 地址比追逻辑快。
二、真题拆解一:交通灯(定时器链逆向)
这道题我们在期 8/9/10 已经正向拆过。现在反过来:假设你只拿到工程,要回答"东西向绿灯亮多久、什么时候切换"。
步骤 1:看骨架
OB1 里有 13 个网络。快速扫一眼就能分类:

图:交通灯真题 OB1 真实梯形图(13 个网络:启停自锁 / 6 个 TON 定时器链 / 6 路输出),骨架一眼看清。
步骤 2:追定时器链
把 6 个 TON 的 PT 和时基列出来:
| 定时器 | PT | 时基 | 实际时间 |
|---|---|---|---|
| T50 | 200 | 100 ms | 20 s |
| T51 | 30 | 100 ms | 3 s |
| T52 | 20 | 100 ms | 2 s |
| T53 | 250 | 100 ms | 25 s |
| T54 | 30 | 100 ms | 3 s |
| T55 | 20 | 100 ms | 2 s |
步骤 3:反推输出时序
网络 8 是 M0.0 AND T52 → Q0.0。T52 在第 23–25 秒导通,所以 Q0.0 在这段时间亮。同理:
整张时序表一画,flag(各灯运行过程)就出来了。这道题的本质就是"把定时器链换算成时间轴"。
三、真题拆解二:期 7 STEP7 工程(数据流逆向)
这道题正向我们在期 11 走过:PIW256 → FC90 → DB1.DBD0 → 平方 → DB2.DBD0。现在逆向:假设你在线监视看到 DB2.DBD0 = 37091.9,怎么知道它是怎么来的?
步骤 1:定位 flag 地址
在 OB1 里搜索所有写 DB2.DBD0 的指令。程序段 2 显示:
所以 DB2.DBD0 是 DB1.DBD0 的平方。开根号得 DB1.DBD0 ≈ 192.593。
步骤 2:追 DB1.DBD0 从哪来
程序段 1 的 FC90:
逆向就是反解缩放公式:
步骤 3:验证
把 PIW256 改成 4096,下载运行,在线监视 DB2.DBD0 显示 +3.70919e+004,套上 flag{} 得 flag{37091.9}。

图:真题真实截图——在线监视 DB2.DBD0 显示 +3.70919e+004,逆向验证闭环。
逆向心法:从最终地址(DB2.DBD0)往前追,每个框只看"OUT 地址"和"运算关系",一路追到可改输入(PIW256)。数据流比逻辑流快得多。
四、真题拆解三:工控指示灯逻辑推理
这道题来自 `西门子 PLC 赛题/3-工控指示灯的逻辑推理-做/05_43.zip`,原题给了一个 7 段指示灯程序:按下启动 I0.0 后,Q0.0–Q0.6(H1–H7)按定时器链依次动作。
程序骨架

图:指示灯真题的 7 段 TON 级联骨架(M0.0→T37→…→T43),逆向时先画这条链,再追每个 Q 由哪些 M/T 驱动。
输出格式
题目用例要求用 T/F/L/M/S/P 描述 H1–H7:
- T:亮;F:灭;L:闪烁;M:延迟;S:秒;P:结束
例如 H5M10ST5SP 表示"H5 延迟 10 秒亮,持续 5 秒灭"。
逆向思路
和交通灯一样:先画定时器时间轴,再看每个 Q 由哪些 M/T/SM 驱动,最后套进题目要求的格式。这种题没有神秘套路,就是"时间轴 + 输出条件"两板斧。
五、三类藏线索套路(真题版)
把上面三套题提炼一下,出题人藏 flag 的手法翻来覆去就三种:
如期 7:结果 MOVE/运算进 DB2.DBD0。逆向时从最终 DB 地址往前追。
如交通灯、指示灯:flag 是各输出在时间的分布。逆向时先画时间轴。
如交通灯网络 1 的 I0.1 是常闭停止按钮;如果某道题把该常闭写成常开,系统就变成"按停止才启动"。这种题的破绽是"和工艺常识对不上"。
坑:在监视表里改值不算数
期 7 强调过:监视界面改的是临时值,下载后被覆盖。逆向验证时一定要改程序 + 重下载 + RUN + 在线监视,否则你以为跑通了,其实只是假象。
六、完整 SOP:从拿到工程到算出 flag
把三期内容叠在一起,就是一套可复用的逆向 SOP:
七、特辑收尾 & 预告新方向
到这里,「梯形图特辑」六期全部讲完。你已经具备:
- 看懂绝大多数工业梯形图(位逻辑 / 定时器 / 计数器 / 数据处理);
- 独立跑通一份工程、改值算出结果;
- 对陌生工程做逆向定位,找出被藏起来的线索。
工控安全远不止梯形图。特辑之后,我们准备往这些新方向走(顺序待定,也可以额外提出选题方向,欢迎在后台留言点单):
| 可能的下个系列 | 看点 |
|---|---|
| 协议逆向方法论 | 不靠端口猜协议——按字节特征识别 Modbus/S7COMM/MMS/IEC104 |
| 固件逆向 | 从 PLC 固件里扒逻辑、找后门、还原通讯密钥 |
| 车联网(CAN/车载) | 汽车总线的"工控"侧面,重放攻击与信号伪造 |
| 组态软件与 SCADA 漏洞 | WinCC/Intouch 等上位机的常见坑与取证 |
八、知识点回链
| 前面讲过 | 本期怎么收口 |
|---|---|
| 期 7《梯形图不是天书》 | 本期把期 7 的取证思路扩展成完整逆向 SOP,并以真题完整走通 |
| 期 8–11 基础四讲 | 本期每一个逆向手法都直接用了前面四讲的地基和真题 |
梯形图特辑到此结束。觉得这套"从真题切入 → 打地基 → 回到真题"的写法有用,转发给更多想入坑工控安全的战友。新方向的选题,等你来点 —— 后台留言告诉我你想先看哪个。
🎁 粉丝福利|领题目附件
关注本公众号后,私信关键词「资料」即可获取「工控 CTF 题目资料包」网盘下载链接(9 期资料:7 期真题 + 2 套梯形图练习,含完整 WP、答案与分步自验清单)。
夜雨聆风