Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хитрое консольное приложение 
:(
    Опции темы
Vovkin
Дата 8.9.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



Есть консольная программка. При запуске ждет ввода строки с клавиатуры
и при нажатии ввод выполняет какие-то действия и закрывается.
Решил поуправлять ею дистанционно через pipe. Это хорошо описано
в инете.
Так вот. При таком способе (через pipe) программа не выводит запрос
и никак не реагирует на запись строки в стандартный pipe.
С другими программами (в том числе cmd.exe) моя управлялка отлично
работает, а с этой нет. Стоит перенаправить ввод и он пропадает вовсе.
В чём может быть причина. Исходником этой консольной программы нет.
Она кем-то когда то писалась. Может кто сталкивался с такими консольками?
Может она как то хитро написана.
И самое интересное, что команды вывода и ввода из файла работают.
Т.е. если я перенаправляю ввод-вывод, то не работает.
А если прямо при вызове делаю > file.txt или < file.txt, то в файлах
отражаются результаты и данные из файла тоже берутся и подставляются
как при вводе.

Это сообщение отредактировал(а) Vovkin - 8.9.2007, 00:50
PM MAIL   Вверх
Tectoder
Дата 8.9.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 202
Регистрация: 13.3.2007

Репутация: 7
Всего: 8



На самом деле и консоль, и файл, и пайп отличаются друг от друга.
Если твой программа(консольная) этого не учитывает, то у нее будут трабблы.
Попробуй писать в пайп всю информацию перед передачей, авось поможет

Это сообщение отредактировал(а) Tectoder - 8.9.2007, 09:42
PM   Вверх
Vovkin
Дата 8.9.2007, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



 А как например из моей программы запустить консольную (DOS) программу и там
сымитировать нажатия клавишь клавиатуры? Без перенаправления ввода-вывода.

Это сообщение отредактировал(а) Vovkin - 8.9.2007, 23:29
PM MAIL   Вверх
Tectoder
Дата 8.9.2007, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 202
Регистрация: 13.3.2007

Репутация: 7
Всего: 8



эмм, кажеться никак smile
PM   Вверх
Vovkin
Дата 9.9.2007, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



Программка оказалась очень хитрая.
Она даже не реагирует на SendMessage в своё консольное окно.
Если какой-нить cmd.exe запустить, то всё работает.
Что-то мне говорит, что это какая-то чисто досовская программа,
которая вообще на винду чихает.
PM MAIL   Вверх
Tectoder
Дата 9.9.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 202
Регистрация: 13.3.2007

Репутация: 7
Всего: 8



Консольные окна не реагируют на SendMessage. Потому что лежат в другой станции
PM   Вверх
W4FhLF
Дата 9.9.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 12
Всего: 121



При запуске программы в процессах появляется ntvdm.exe? 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Vovkin
Дата 9.9.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



Цитата(W4FhLF @ 9.9.2007,  17:02)
При запуске программы в процессах появляется ntvdm.exe?

Даю Я как раз хотел написать, что выяснил, что
прога запускается под ntvdm.
Есть какие-нить варианты борьбы с этой прогой?
PM MAIL   Вверх
W4FhLF
Дата 9.9.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 12
Всего: 121



Стандартных способов нет. Из прочего, реверсить виртуальную машину, смотреть как она выводит на консоль и делать перехват этого функционала в процессе ntvdm.exe.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Vovkin
Дата 9.9.2007, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



Цитата(W4FhLF @ 9.9.2007,  17:51)
Стандартных способов нет. Из прочего, реверсить виртуальную машину, смотреть как она выводит на консоль и делать перехват этого функционала в процессе ntvdm.exe.

А может есть возможность перенаправить ввод вывод ntvdm?


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0716 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.