计算机应用 ›› 2015, Vol. 35 ›› Issue (2): 555-559.DOI: 10.11772/j.issn.1001-9081.2015.02.0555

• 计算机软件技术 • 上一篇    下一篇

基于反汇编的智能电表软件功能检测模型

刘金硕1, 王谢兵1, 陈鑫1, 邓娟2   

  1. 1. 武汉大学 计算机学院, 武汉 430072;
    2. 武汉大学 国际软件学院, 武汉 430072
  • 收稿日期:2014-08-20 修回日期:2014-11-03 出版日期:2015-02-10 发布日期:2015-02-12
  • 通讯作者: 王谢兵
  • 作者简介:刘金硕(1974-),女,吉林辽源人,副教授,博士,CCF会员,主要研究方向:模式识别、图像处理、高性能计算; 王谢兵(1992-),男,安徽芜湖人,硕士研究生,主要研究方向:信息安全、嵌入式系统、大数据; 陈鑫(1989-),男,河南信阳人,硕士研究生,主要研究方向:图像处理、大数据; 邓娟(1976-),女,湖北武汉人,副教授,博士,主要研究方向:数字图像处理、高性能计算。

Smart meter software function test model based on disassembly technique

LIU Jinshuo1, WANG Xiebing1, CHEN Xin1, DENG Juan2   

  1. 1. Computer School, Wuhan University, Wuhan Hubei 430072, China;
    2. International School of Software, Wuhan University, Wuhan Hubei 430072, China
  • Received:2014-08-20 Revised:2014-11-03 Online:2015-02-10 Published:2015-02-12

摘要:

电力企业在智能电表的生产过程中发现制造商用于招标展示的样品表和竞标成功后大量投产的批量表存在显著差异。由于检测不足,许多投入实际使用的批量表出现工作状态异常、质量不合格的情况,对这些电表的维护造成了不必要的花费。针对此问题制定了一种智能电表软件功能检测方案,设计了一种嵌入式智能电表代码逆向模型。模型以分析智能电表核心程序从而获取系统运行特征为思路,以反汇编算法分析电表固件代码功能为手段,对嵌入式智能电表进行软件功能差异测试。模型包括固件代码提取、固件代码反汇编和软件功能比较三大模块,在反汇编模块中基于现有的线性扫描和递归遍历算法使用了一种改进的单步扫描算法(SDA)。实际应用时对智能电表批量产品和样品进行比较鉴别,对系统功能的差异测量效果明显;同时使用该模型在维护电力企业已使用电表时可控制拟投产电表与已使用电表功能和质量误差在±20%范围内。

关键词: 智能电表, 固件代码提取, 固件代码反汇编, 单步扫描算法, 软件功能检测

Abstract:

During the procedure of smart meter production, electric power enterprises have noticed the fact that there exist significant differences between sample meters used to check and batch meters for large numbers of production. Lots of batch meters either have an unstable working state or become quality rejected, resulting from lack of detection. Maintenance of these meters causes unnecessary expense. Aiming at this problem, a smart meter software function test scheme was formulated and an embedded smart meter code reversal model was figured out. Taking obtaining system operating characteristics via analysis of smart meter kernel program as main idea, the model operated a software function difference test on smart meter with disassembly technology as means to analyze smart meter firmware code function. The model included three modules, namely firmware code extraction, firmware code disassembly and software function comparison. A Single-step Disassembly Algorithm (SDA) was adopted in firmware code disassembly module based on traditional linear sweep and recursive scanning algorithm. It has remarkable effects when applying the model to sample and batch meters identification. Meanwhile, the model can control function and quality error within 20 percent when maintaining meters of used and to be used.

Key words: smart meter, firmware code extraction, firmware code disassembly, Single-step Disassembly Algorithm (SDA), software function test

中图分类号: