针对传统的协议解析方法在工业控制系统中的局限性,提出了一种适用于工业控制系统通信协议的协议逆向分析方法。该方法的算法思想来源于动态污点算法,算法实现基于静态二进制分析平台IDA Pro及其提供的软件开发接口,解析结果可直接为模糊测试提供语义参考。该算法包括预处理、交叉引用分析、协议帧重构和语义提取等步骤,具有针对性强、通用性好的特点。将算法实现后应用于某组态软件,能够得到正确的分析结果,证明了该方法的正确性与有效性。