于友成
(西安郵電大學 通信與信息工程學院,陜西 西安710121)
通信電源監控系統旨在對分布的通信電源設備和空調機房進行“四遙”(即遙測、遙信、遙控和遙調),實時監視、顯示和調整其運行參數,自動監測和處理系統內各種設備的故障,從而保證通信電源系統的可靠運行,減少工作人員的維護工作量,實現通信電源系統的無人值守[1-4]。
美國Power-One公司研發的Pow Co m軟件旨在對其通信電源系統進行實時監控。為了掌握Pow Co m的監控機理,本文對該軟件進行了破解。軟件的破解一般采用反編的方式,但這種方法往往受到軟件加密的限制。因此,本文采用直接破解的方法。利用串口追蹤工具分析Pow Co m與電源控制單元(PCU)之間的通信規程,破解各菜單命令的流程,用重編的監控軟件替代PowCo m,實現對Power-One通信電源系統的監控。
Pow Com是Power-One通信電源系統的通信和監控軟件。
當Pow Co m連接到監控系統時,主界面顯示各種監控信息,包括:(1)系統電壓;(2)負載電流;(3)電池電流;(4)整流器電流;(5)溫度;(6)操作方式;(7)熔絲告警;(8)模塊;(9)告警繼電器;(10)顯示均衡電壓;(11)外部測量等。
Pow Co m主要包括三個菜單,即通信、監控、工具和幫助菜單。
(1)通信菜單
通信菜單主要包括用于與PCU建立通信連接有關的菜單命令,包括(1)撥號連接;(2)直接通信;(3)網絡連接 ;(4)遠程登入;(5)斷開連接;(6)端口設置;(7)特性設置。
(2)監控菜單
監控菜單主要包括各種監控命令,包括(1)設置參數;(2)程序版本 ;(3)設置日期/時間;(4)設置安裝數據;(5)更改密碼 ;(6)告警歷史;(7)顯示告警信息;(8)告警回撥;(9)設置網絡地址;(10)PNI的TCP/IP地址;(11)顯示模塊數據;(12)模塊清單。
(3)工具菜單
工具菜單主要包括各種實用工具,包括(1)報告數據(.log);(2)查看測試數據(.tst);(3)查看參數文件(.pr m);(4)更新配置(.pcg);(5)更改配置(.pcg);(6)配置向導 ;(7)PCS序列號;(8)按鈕。
直接破解軟件的關鍵是通信規約的破解。破解的思路是通過不斷試探,截獲通信信息,分析其規律性,進而推測得到通信規約,然后按此協議發送指令進行驗證[5]。破解時,以直接通信方式與PCU連接,運行Pow Co m,依次選擇Pow Co m菜單命令,按提示進行操作,與此同時利用串口追蹤工具,捕獲下行(Pow-Co m(PCU)和上行(PCU(Pow Co m)數據幀。首先根據HDLC數據幀的一般格式;然后根據菜單命令界面和下行數據幀以及監控系統生成的各種文件,如報告數據(.log)、配置文件(.pcg)、參數文件(.pr m)等,分析推斷出通信規程的格式,如表1所示。

表1 PowCom通信規約的格式
其中,標志字段表示每一幀的開始,恒為FFH。幀長字段為幀中所有字段的字節數,范圍為08 H~FFH。發送地址和接收地址字段分別表示數據的發送者和接收者的地址,上位機監控系統地址始終為00 H,整流模塊的地址為01 H~FFH。應答字段表示接收者是否需要回復:00 H表示無須回復;01 H表示必須回復。結構控制字段恒為01 H。功能碼字段為請求或響應數據幀的功能編碼,范圍為00 H~FFH。數據字段為請求或應答數據,數據格式取決于具體的監控功能。校驗和字段是對幀中其它字段按字節計算的校驗和,用于檢測數據幀在傳輸中是否出現差錯。
以下僅以設置日期/時間為例說明數據字段的破解過程。
選擇監控菜單中的設置日期/時間命令,系統顯示的操作界面,將日期和時間設置為2011年3月15日15時13分(圖1)。

圖1 設置日期/時間界面
通過串口追蹤工具截獲的設置日期/時間下行數據幀如下所示:

從上述解析出的幀格式可知,下劃線部分是數據字段。將數據字段與預設的日期和時間比對后,推斷數據字段的格式為YY MMDDhh mm。其中,YY為年份 (0~99),MM 為月份(1~12),DD為日(1~31),hh為小時 (0~23),mm為分鐘(0~59),所有數據以十六進制表示。注意應答字段為01 H,表示PCU必須回復。
此時,截獲到PCU回復如下的日期/時間設置完成數據幀,表示日期/時間設置成功。注意應答字段為00 H,表示PC無須回復。
FF 08 00 01 00 01 07 10
通過上述方法,可以一一解析Pow Com的菜單命令和通信命令以及兩者之間的對應關系,如表2所示。由于篇幅所限,在此只給出部分菜單命令與通信命令的對應關系,同時省略了通信命令的破解結果,只給出其功能碼。

表2 菜單命令與通信命令的對應關系
在成功破解了通信規程和菜單命令及其流程之后,利用Visio 2003重新設計軟件的主程序流程,如圖2所示;重新設計各菜單命令的子程序流程,如圖3所示。使用C#編程工具在Windows XP操作系統和Access數據庫環境下,重新編寫新的通信軟件。編寫時,采用了原有的通信規約,縮減了部分菜單功能,只實現直接通信的連接方式。
用新編軟件替代Pow Co m,采用直接通信方式與PCU建立連接,對已實現部分菜單命令進行測試,同時采用串口跟蹤工具截獲通信命令。圖4~圖7分別為新通信軟件試用時的主界面、通信菜單、監控菜單和設置菜單的截圖。試用結果表明,菜單命令運行正確,通信協議正確無誤,監控功能正常。

圖2 主流程圖



圖3 子程序流程圖

圖4 新主界面

圖5 新通信菜單

圖6 新監控菜單

圖7 新設置菜單
采用直接破解的方法,能夠有效地破解PowCom。用新編軟件替代Pow Com對Power-One通信電源系統進行監控,結果亦令人滿意。盡管如此,仍然存在破解不完全的問題。下一步的研究工作是破解PCU的監控軟件,嘗試采用標準的通信協議,實現監控軟件的本土化。Pow Com采用的是集中監控方式,PCU集中監控通信電源系統的整流器、交流配電、直流配電、電池以及環境等。通信電源地理上的分散化,必然要求監控的分布式[6-8],而分布式電源監控系統必然要求通信規程的規范化和統一化[9]。進一步的研究工作還涉及通信電源分布式監控軟件的設計和實現。
[1] 莫太平,蔣艷紅.通信電源設備智能遠程監控系統的研究與實現[J].光通信技術,2007,(11):60-62.
[2] 葉斌元,馮仙群.基于Modem的通信電源遠程監控系統[J].現代電子技術,2007,258(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.