2009-10-02 44 views
0

我們有一個基本上是榮耀的telnet界面的遺留系統。 我們不能使用替代的telnet客戶端程序連接到系統,因爲它們提供給我們的客戶端軟件中內置了特殊功能。不使用OCR或DOM屏幕抓取C應用程序?

我想能夠從這個程序中刮屏幕,但這是非常困難的。

我試過使用WindowSpy和Spy ++來檢查窗口文本,它出現空白。 這是一個由供應商編寫的自定義C程序(他們甚至禁用了選擇文本)。 我真的在尋找一個免費的選項,我可能可以結合使用腳本語言。

這似乎是抓取文本的唯一方法是直接從Windows GDI或內存,但這似乎有點極端。

任何人都可以推薦任何軟件/ DLL可能能夠實現這一目標嗎?我會非常感激。

回答

0

我最終只是在一個十六進制編輯器(我使用WinHex)中打開運行在內存中的軟件,然後找到了文本在內存中的位置。
然後我得到了AutoHotKey和AutoIt的內存抓取代碼,它將從特定的內存地址讀取無論多少字符的文本。

0

如果數據流已加密,以下操作將不起作用,並檢查您的許可證,以確保它是合法的。爲什麼不通過代理記錄所有數據傳輸來連接它?

如果真的只是處理文本,這應該是微不足道的。

不太理想的方法是執行屏幕截圖並運行OCR來捕獲文本。這兩種方法都有很多解決方案,但我沒有任何我可以推薦的細節。

0

我有一個Windows應用程序使用自定義文本字段,我不能複製類似的問題。幸運的是,它是一個等寬字體。獲取數據非常簡單,只需抓取一個屏幕快照並編寫一個小型python程序來遍歷圖像中的每個字符,將其轉換爲1和0的字符串,然後將其用作存儲映射的字典的關鍵字從位圖 - >字母。

當然,如果您可以使用wireshark對協議進行反向工程,那麼世界會更好。