2009-10-02 3 views
0

У нас есть устаревшая система, которая по существу является прославленным интерфейсом telnet. Мы не можем использовать альтернативную клиентскую программу telnet для подключения к системе, так как есть специальные функции, встроенные в клиентское программное обеспечение, которое они нам предоставили.Экранная скребка C-приложения без использования OCR или DOM?

Я хочу, чтобы у меня была возможность очистить экран от этой программы, однако это очень сложно.

Я попытался использовать WindowSpy и Spy ++, чтобы проверить текст окна, и он выглядит пустым. Это обычная программа на языке C, написанная поставщиком (они даже отключили выделение текста). Я действительно ищу свободный вариант и что-то, что я, возможно, смогу использовать в сочетании со сценарием.

Кажется, единственные способы захвата текста - непосредственно из Windows GDI или из памяти, но это кажется немного экстремальным.

Может ли кто-нибудь рекомендовать какое-либо программное обеспечение/библиотеки DLL, которые могут быть выполнены? Я был бы очень благодарен.

ответ

0

Я закончил тем, что просто открыл программное обеспечение, работающее в памяти в шестнадцатеричном редакторе (я использовал WinHex), а затем нашел, где текст находится в памяти.
Затем я получил код очистки памяти для AutoHotKey и AutoIt, который будет читать текст любого количества символов из определенного адреса памяти.

0

Следующие действия не будут работать, если поток данных зашифрован, и проверьте свои лицензии, чтобы убедиться, что это законно. Почему бы вам просто не подключиться к нему через прокси-сервер, который регистрирует все передачи данных.

Если это действительно просто работа с текстом, это должно быть тривиально.

Менее желательный подход заключается в том, чтобы делать снимки экрана и запускать OCR для захвата текста. Существует множество решений для обоих подходов, но у меня нет каких-либо особенностей, которые я могу порекомендовать.

0

У меня была аналогичная проблема с приложением Windows с использованием настраиваемого текстового поля, которое я не мог копировать. К счастью, это был моноширинный шрифт. Получение данных было так же просто, как захват снимка экрана и запись небольшой программы python для циклического преобразования каждого символа в изображении, преобразования в строку из 1 и 0, а затем использования ее в качестве ключа к словарю, где я сохранил отображение из битмапа-> буквы.

Конечно, если вы можете использовать wirehark для обратной инженерии протокола, то это мир лучше.

Смежные вопросы