2012-10-25 59 views
0

我們公司運行的一款舊式軟件,用於管理RFID卡,以便打開/關閉打開門。分析COM1活動的應用程序

我們希望創造誰確定誰只是觸及在一個特定的地方的應用程序(我們有ID爲),並抓住他們的第一個名字,說「你好[NAME]」在屏幕上。

正如我提到的,軟件是很老,也沒有的API。它通過串口(COM1)與RFID硬件通信。

我在想,如果最好的方式來獲得我需要的數據是以某種方式攔截COM1交通和提取/尋找我想要的數據。

這聽起來像是最好的方法嗎?它會起作用,還是不可能從正在傳輸的數據中獲取姓名和號碼?

乾杯, 安德烈

+0

直到嘗試後才能找到答案。我們無法幫你嘗試。 –

+0

好像你忽略了一些細節。這個門禁系統是否仍在使用?這個「舊軟件」在哪裏硬件執行?閱讀器的串行端口未使用(獨立單元)還是連接到控制器盒?由於您不知道API,爲什麼您認爲寫入串行端口只會導致數據顯示在屏幕上?您是否知道您可以嗅探EIA/RS-232線路,但是無法將兩個Tx信號注入到一個接收器中? – sawdust

+0

對,更多詳情:我們仍然使用門禁系統。軟件在WinXP機器上運行。有一個獨立的硬件控制整個建築物內的所有RFID通信,然後通過COM1將其饋送到軟件中。 我試過運行一個串行端口監視器,但正如所料,我所得到的只是十六進制數據的加載。 無論如何,我可以解碼,看看它是加密的還是可以用於我的應用程序? – Andre

回答

1

則可以配置軟件來使用COM1以外的端口,或配置硬件所以它的物理串行端口分配給不同的COM端口?

如果是這樣,看看com0com。這是一個Windows驅動程序,在您的PC上創建兩個COM端口,並在它們之間使用虛擬NULL調制解調器。數據一方面進入另一方面。

下面是你設置好了:

  • RFID閱讀器連接到物理COM端口(的COMx)
  • 程序橋接的COMx到COMy和嗅探交通
  • com0com聯COMy(用於你的程序),以虛擬COM1(對於舊版軟件)
  • 傳統軟件

你需要寫AP編程在COMx和COMy之間傳遞數據,同時監視您所查找的信息。使它簡單而強大,因爲如果它發生故障,讀者將停止工作。

簡單的解決方案

如果你只需要監控通信的一側,創建COM1的GND和RX引腳連接到另一個COM端口的電纜。現在,您的程序可以監控對話的那一方,而不會干擾舊版軟件。

+0

好吧,這聽起來很有希望。我可以改變它使用的端口,但我有點害怕打破整個事情。實際上,我只需要讓數據進入,而不是出去。 如果我將GND連接到另一個端口,是否會得到與通過串行端口監視器獲得的數據不同的數據?在這種情況下,我得到了相當多的十六進制垃圾:) – Andre

+0

您將獲得與串行端口監視器相同的數據。通過將接收和接地引腳連接到第二個端口,您基本上可以創建一個簡單的監視器。如果您需要幫助解碼十六進制垃圾,請考慮發佈另一個問題,其中包含使用不同卡片進行的一些示例捕獲。 SO中的某個人可能會識別該格式,並能夠幫助您對其進行解碼。 – tomlogic

1

好,一般,你可以看看RS232信號,如果這是你想要做的方式。這很棘手,因爲你需要「嗅探」信號,這意味着購買或製作允許原始信號通過的設備,然後給你一種附加的方式。而且,您需要將發送和接收信號發送到兩個串行端口(在RX線上)。那麼你可能會想要獲得一些「嗅探」軟件,它可以讓你看到你按時間順序獲得的東西(理想情況下,帶有時間戳)。一些可愛的協議也會使用調制解調器線路,因此您可能還需要監控這些線路。

或者,嘗試搜索「免費串行端口監視器」或「串行嗅探器」。

祝你好運!

+0

我試過運行一個串口監視器,但正如所料,我得到的只是十六進制數據的加載。無論如何,我可以解碼,看看它是加密的還是可以用於我的應用程序?理想情況下,我想遠離修補硬件 – Andre