PowCom通信软件的破解与重编

2013-04-25 02:17于友成
电子科技 2013年1期
关键词:字段命令菜单

于友成

(西安邮电大学 通信与信息工程学院,陕西 西安710121)

通信电源监控系统旨在对分布的通信电源设备和空调机房进行“四遥”(即遥测、遥信、遥控和遥调),实时监视、显示和调整其运行参数,自动监测和处理系统内各种设备的故障,从而保证通信电源系统的可靠运行,减少工作人员的维护工作量,实现通信电源系统的无人值守[1-4]。

通常,国外先进软件的破解采用反编的方式,但这种方法往往受制于软件加密。文中首先分析PowCom通信软件的菜单和界面功能,然后利用串口追踪工具破解其与电源控制模块(PCU)的通信规程以及菜单命令与通信命令的对应关系,并重新编写通信软件替代PowCom通信软件,实现对Power-One通信电源系统的监控。

1 PowCom功能分析

PowCom是Power-One通信电源系统的监控软件。以下主要对PowCom软件的主界面和菜单命令进行分析。

1.1 主界面

当PowCom连接到监控系统时,主界面如图1所示,显示各种监控信息,包括:(1)系统电压;(2)负载电流;(3)电池电流;(4)整流器电流;(5)温度;(6)操作方式;(7)熔丝告警;(8)模块;(9)告警继电器;(10)显示均衡电压;(11)外部测量等。

图1 PowCom主界面

1.2 菜单

PowCom主要包括3个菜单,即通信、监控、工具和帮助菜单。

1.2.1 通信菜单

通信菜单如图2所示,主要是用于与PCU建立通信连接有关的菜单命令,包括(1)拨号连接;(2)直接通信;(3)网络连接;(4)远程登入;(5)断开连接;(6)端口设置;(7)特性设置。

图2 PowCom通信菜单

1.2.2 监控菜单

监控菜单如图3所示,主要是各种监控命令,包括(1)设置参数;(2)程序版本;(3)设置日期/时间;(4)设置安装数据;(5)更改密码;(6)告警历史;(7)显示告警信息;(8)告警回拨;(9)设置网络地址;(10)PNI的TCP/IP地址;(11)显示模块数据;(12)模块清单。

图3 PowCom监控菜单

1.2.3 工具菜单

工具菜单如图4所示,主要是各种实用工具,包括(1)报告数据(.log);(2)查看测试数据(.tst);(3)查看参数文件(.prm);(4)更新配置(.pcg);(5)更改配置(.pcg);(6)配置向导;(7)PCS序列号;(8)按钮。

图4 PowCom工具菜单

2 破解

要破解菜单命令以便实现重新编程,最重要的是破解通信规约。破解思路是通过不断试探,截获通信信息,分析其规律性,进而推测得到通信规约,然后按此协议发送指令进行验证[5]。破解时,运行PowCom通信软件,以直接通信方式与PCU连接,依次选择PowCom菜单命令,按提示进行操作,与此同时利用串口追踪工具,捕获下行(PowCom→PCU)和上行(PCU→PowCom)数据帧。首先根据HDLC数据帧的一般格式,推测通信规程的格式,如表1所示;然后根据菜单命令界面和下行数据帧以及监控系统生成的各种文件,如报告数据(.log)、配置文件(.pcg)、参数文件(.prm)、测试文件(.tst)和告警历史文件等,通过不断尝试推断出菜单命令与各种通信命令的对应关系以及通信命令中数据字段的格式。

表1 PowCom通信规约的格式

其中,标志字段表示每一帧的开始,取值恒为FFH。帧长字段为帧中所有字段的Byte数,取值范围为08H~FFH。发送地址和接收地址字段分别表示数据的发送者和接收者的地址,上位机监控系统地址始终为00H,整流模块的地址为01H~FFH。应答字段表示接受者是否需要对接收的数据进行回复:00H表示无须回复;01H表示必须回复;02H表示出错。结构控制字段恒为01H。功能码字段为请求或响应数据帧的功能编码,取值范围为00H~FFH。数据字段为请求或应答数据,数据格式取决于具体的监控功能。校验和字段为对帧中其他字段按Byte计算的校验和,用于检测数据帧在传输中是否出现差错。

由于大部分菜单命令的数据字段都较长,限于篇幅,以下以菜单命令设置日期/时间为例说明数据字段的破解过程。

选择监控菜单中的设置日期/时间命令,系统显示的操作界面,将日期和时间设置为2011年3月15日15时13分时,如图5所示。

图5 设置日期/时间界面

从上述解析出的帧格式可知,下划线部分是数据字段。将数据字段与预设的日期和时间比对后,推断数据字段的格式为YYMMDDhhmm。其中,YY为年份(0~99),MM为月份(1~12),DD为日(1~31),hh为小时(0~23),mm为分钟(0~59),所有数据以十六进制表示。注意应答字段为01H,表示PCU必须回复。

此时,截获到PCU回复如下的日期/时间设置完成数据帧FF 08 00 01 00 01 07 10,表示日期/时间设置成功。注意应答字段为00H,表示PC无须回复。

通过上述方法,可以解析PowCom的菜单命令和通信命令以及两者之间的对应关系,如表2所示。在此只给出部分菜单命令与通信命令的对应关系,同时省略了通信命令的破解结果,只给出其功能码。

表2 PowCom菜单命令与通信命令的对应关系

3 重编

在成功破解了通信规程和菜单命令及其流程之后,利用Visio 2003重新设计通信软件的主程序流程,如图6所示。重新设计各菜单命令的流程,如图7所示。使用C#编程工具在Windows XP操作系统和Access数据库环境下,重新编写通信软件。编写时,采用原有的通信规约,缩减了部分菜单功能,只实现直接通信的连接方式。

图6 主程序流程图

4 试用

用新编写的通信软件替代PowCom,采用直接通信方式与PCU建立连接,对已实现部分菜单命令进行测试,同时采用串口跟踪工具截获通信命令。图8~图11分别为新通信软件的试用时的主界面、通信菜单、监控菜单和设置菜单的截图。试用结果表明,菜单命令运行正确,通信协议正确无误,监控功能正常。

5 结束语

通过破解PowCom通信软件,特别是其通信规约,重新编写了新的通信软件。在用新编软件替代PowCom进行Power-One通信电源系统的监控过程中,试用结果令人满意,新软件完全可以替代PowCom完成对Power-One的监控工作。下一步的研究是破解并重编PCU的通信软件,尝试采用标准的通信协议,实现监控软件的本土化。PowCom采用的是集中监控方式,PCU集中监控通信电源系统的交流配电、直流配电、电池以及环境等。通信电源地理上的分散化,必然要求监控的分布式[6-8],而分布式电源监控系统必然要求通信规程的规范化和统一化[9]。进一步的研究工作还涉及通信电源分布式监控软件的设计和实现。

[1] 莫太平,蒋艳红.通信电源设备智能远程监控系统的研究与实现[J].光通信技术,2007(11):60-62.

[2] 叶斌元,冯仙群.基于Modem的通信电源远程监控系统[J].现代电子技术,2007,30(19):121-123.

[3] 徐小杰,侯振义.通信电源集中监控系统发展浅析[J].电源世界,2006(5):13-15.

[4] 刘兴纲,康洪波.基于B/S结构的通信电源监控系统的研究与设计[J].河北北方学院学报,2010,26(3):43-46.

[5] 张洪生,杨三民,吴莹.串行通信协议的破解和控制系统的功能扩展[J].电气自动化,2008,30(5):44-45.

[6] 杨永标,王双虎,王余生,等.一种分布式电源监控系统设计方案[J].电力自动化设备,2011,31(9):125-128.

[7] 李玲,王欢欢,谢利理.基于集散控制的分布式电源并网监控系统研究[J].计算机测量与控制,2010,18(3):580-582.

[8] 郑家庆.通信电源监控系统的发展与完善[J].硅谷,2011(12):25-25.

[9] 杨耿杰,郭谋发,张书芳,等.厂站直流电源分层分布式监控系统[J].福州大学学报,2009(4):536-541.

猜你喜欢
字段命令菜单
图书馆中文图书编目外包数据质量控制分析
只听主人的命令
中国新年菜单
移防命令下达后
本月菜单
这是人民的命令
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
关于CNMARC的3--字段改革的必要性与可行性研究
一个“公海龟”的求偶菜单