一种工业控制程序自动化逆向分析方法与流程
摘要文本
本发明公开了一种工业控制程序自动化逆向分析方法与流程。首先,从互联网上收集的格式相同的工业控制程序文件并存储在同源格式文件目录下,对同源格式文件目录下的工业程序文件进行递归式手工分析,归纳文件头长度和内部字段信息,确定子程序段分隔符;其次,根据分隔符划分子程序段,确定全局变量初始化程序段和一般程序段,确定静态链接库函数、用户自定义函数、动态链接库函数、设备I/O操作函数,确定函数调用关系并建立函数指纹数据库;最后,编写自动化分析脚本,实现对不同格式的工业控制程序文件的自动化逆向,基于程序反汇编以及函数识别的结果,使用文本图形描述语言DOT及Graphviz工具包构建函数调用关系图,以实现逆向结果的可视化展示。
申请人信息
- 申请人:北京航空航天大学; 绿盟科技集团股份有限公司
- 申请人地址:100191 北京市海淀区学院路37号
- 发明人: 北京航空航天大学; 绿盟科技集团股份有限公司
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种工业控制程序自动化逆向分析方法与流程 |
| 专利类型 | 发明申请 |
| 申请号 | CN202311329186.0 |
| 申请日 | 2023/10/13 |
| 公告号 | CN117370988A |
| 公开日 | 2024/1/9 |
| IPC主分类号 | G06F21/57 |
| 权利人 | 北京航空航天大学; 绿盟科技集团股份有限公司 |
| 发明人 | 杨立群; 闫治敏; 罗昊正; 杨健; 李东宏; 张宗洋; 王朋成; 王天博; 柴林政 |
| 地址 | 北京市海淀区学院路37号; 北京市海淀区北洼路4号益泰大厦5层 |
专利主权项内容
1.一种工业控制程序自动化逆向分析方法与流程,其特征在于包括如下六个步骤:程序收集、程序解析、子程序反汇编、函数识别、自动化逆向、结果可视化:S1、所述的程序收集步骤:收集不同品牌控制器中的工业控制程序文件,将格式相同的工业控制程序文件存储在同源格式文件目录下;S2、所述的程序解析步骤:对同源格式文件目录下的工业程序文件进行递归式手工分析,归纳文件头长度和内部字段信息,确定子程序段的分隔符;S3、所述的子程序反汇编步骤:根据分隔符划分子程序段,确定全局变量初始化程序段和一般程序段;S4、所述的函数识别步骤:根据子程序反汇编结果,确定静态链接库函数、用户自定义函数、动态链接库函数、设备I/O操作函数,确定函数调用关系并建立函数指纹数据库;S5、所述的自动化逆向步骤:根据上述步骤流程,编写针对其他格式工业控制程序文件的分析脚本,对格式相同的待分析工业控制程序文件执行步骤S2-S4;S6、所述的结果可视化步骤:根据子程序反汇编以及函数识别的结果,创建具有节点、边和权重的函数调用关系图,使用文本图形描述语言实现逆向结果可视化。