Russian Qt Forum
Сентябрь 24, 2024, 20:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 3 [4]   Вниз
  Печать  
Автор Тема: QThread  (Прочитано 23349 раз)
iroln
Гость
« Ответ #45 : Май 22, 2012, 23:26 »

Есть альтернатива, запускать нужную процедуру в отдельном процессе!

ЭЭЭЭ... так вроде с самого начала об этом и вопрос))
Не, с самого начала обсуждались потоки, а не отдельные процессы под задачу.
Записан
V1KT0P
Гость
« Ответ #46 : Май 22, 2012, 23:27 »

протокол то не документирован
Я тебя умоляю)) по роду своей деятельности очень часто этим занимаюсь))) Это не реверсинг - это всего лишь анализ протоколов работы, что совсем не одно и тоже))
То-есть восстановление алгоритма дешифровки это не реверсинг? Да и сервер сперва пришлось отвязать от USB ключа.
Каждый раз от железки приходят важные 16 байт информации, оттуда мне надо достать 8 байт. Но проблема в том, что каждый раз абсолютно разные байты, хотя там 12 байт точно одни и те-же. Закономерности никакой и как ты проанализируешь и узнаешь как оттуда достать эти 8 байт? Могу скинуть хоть 100 штук, врят-ли ты найдешь алгоритм. А вот дизассемблер любезно предоставил код на асме(там жуть, компилятор развернул циклы и получилась громадная такая простыня =)).
Записан
Alex_C
Гость
« Ответ #47 : Май 22, 2012, 23:36 »

Да, я об этом тоже уже думал. Но пока было лень думать над тем, как всё это спроектировать, межпроцессорное взаимодействие и т.п. Хотя, думаю, если всё по уму сделать, должно быть даже проще и гибче чем с потоками.

Даже забудь об этом думать. Межпроцессорное взаимодействие (даже не беря во внимание кросс-платформенность) - ... очень ограничена. В своей проге пытался это сделать - на основе ActivX - даже такая гибкая структура породила кучу проблем . Бросил это не благодарное занятие))
Записан
Alex_C
Гость
« Ответ #48 : Май 22, 2012, 23:40 »

То-есть восстановление алгоритма дешифровки это не реверсинг?

Я не спорю - что ты - умный))) Но все же по моему реверсинг - это то, что я делал в 90-е во времена DOS - реально восстанавливая , как прога работает. Зачем - не спрашивай)))
Записан
iroln
Гость
« Ответ #49 : Май 22, 2012, 23:40 »

Даже забудь об этом думать. Межпроцессорное взаимодействие (даже не беря во внимание кросс-платформенность) - ... очень ограничена. В своей проге пытался это сделать - на основе ActivX - даже такая гибкая структура породила кучу проблем . Бросил это не благодарное занятие))
Ну вот, Google Chrome, например, работает же. Причём неплохо работает, надо заметить. Смогли же. Улыбающийся
Записан
Alex_C
Гость
« Ответ #50 : Май 22, 2012, 23:46 »

Ну вот, Google Chrome, например, работает же. Причём неплохо работает, надо заметить. Смогли же. Улыбающийся

Э... даже не знаю что ответить. Вы хотите написать новый интернет-навигатор? Это одно. Или же свою программу со множеством exe-файлов , взаимодействующих между собой?
Записан
V1KT0P
Гость
« Ответ #51 : Май 22, 2012, 23:52 »

Но все же по моему реверсинг - это то, что я делал в 90-е во времена DOS - реально восстанавливая , как прога работает.
Как по мне так реверсинг это не только полное восстановление программы, но и часть программы, отдельные алгоритмы, архитектура и идеи.
Зачем - не спрашивай)))
Небось интересно было =). Я помню свой первый комп, мне было интересно как оно работает и что внутри. Лазил везде, вплоть до уничтожения ОС =).
Записан
iroln
Гость
« Ответ #52 : Май 22, 2012, 23:56 »

Э... даже не знаю что ответить. Вы хотите написать новый интернет-навигатор? Это одно. Или же свою программу со множеством exe-файлов , взаимодействующих между собой?
Chrome же не имеет "множества exe-файлов". Файл один, а процессов много. Каждая вкладка в своём процессе. Улыбающийся
Я пишу софт для инженерно-исследовательской работы, но это не имеет особого значения, просто хочется написать хорошую программу. Улыбающийся
Записан
Alex_C
Гость
« Ответ #53 : Май 22, 2012, 23:56 »

Небось интересно было =). Я помню свой первый комп, мне было интересно как оно работает и что внутри. Лазил везде, вплоть до уничтожения ОС =).

Институт. Студент. Изучал (? - так вроде культурно) программы по своей инициативе - да и денег тогда б за это не дали. Согласен с тобой - интересно было!
Записан
Alex_C
Гость
« Ответ #54 : Май 22, 2012, 23:58 »

Chrome же не имеет "множества exe-файлов".

Должен тогда понимать - какое будет взаимодействие? Если уровень гугл-хрома - почему бы нет? Если сложнее - думать надо.
Записан
iroln
Гость
« Ответ #55 : Май 23, 2012, 00:01 »

Должен тогда понимать - какое будет взаимодействие? Если уровень гугл-хрома - почему бы нет? Если сложнее - думать надо.
Примерно представляю себе, но серьёзно не думал и пока ничего не проектировал. Это пока в мыслях, там других проблем помимо этого хватает. Улыбающийся
Записан
DmitryM
Гость
« Ответ #56 : Май 23, 2012, 06:32 »

Да, я об этом тоже уже думал. Но пока было лень думать над тем, как всё это спроектировать, межпроцессорное взаимодействие и т.п. Хотя, думаю, если всё по уму сделать, должно быть даже проще и гибче чем с потоками.

Даже забудь об этом думать. Межпроцессорное взаимодействие (даже не беря во внимание кросс-платформенность) - ... очень ограничена. В своей проге пытался это сделать - на основе ActivX - даже такая гибкая структура породила кучу проблем . Бросил это не благодарное занятие))
Кто же делает на основе ActivX, когда есть замечательный QProcess http://qt-project.org/doc/qt-4.8/qprocess.html
Нужно всего лишь запихать вызов этой dll в main, который из stdio берет входные данные, а результат выводит в stdout.
При этом всегда можешь убить этот процесс, а если из-за ошибки внутри dll умирает процесс, то всегда это можно будет обработать.
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #57 : Май 23, 2012, 22:43 »

А что значит один поток в одно???

.. время. В том коде, что приведен нет проверки - а поток запущен уже или нет. Нажимаем снова на кнопочку старт ..и ? запускаем еще один экземпляр потока или нет?

Если взять себе привычку читать доку, то станет ясно, что вызов start() для уже запущенного потока не сделает ничего


 Непонимающий так как надо делать правильно Непонимающий
Скажите  Улыбающийся
Записан
alexis031182
Гость
« Ответ #58 : Май 23, 2012, 23:01 »

Код:
void threadForm::keyPressEvent ( QKeyEvent * event)
{
...
if(event->key == Qt::Key_1)
   {
    thread->quit();
    thread->wait();
    event->accept();
  }
}

void threadForm::mouseDoubleClickEvent ( QMouseEvent * event )
{
  ...
  if(thread->isRunning()) {
    thread->quit();
    thread->wait();
  }

  thread->start;
  event->accept;
}
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #59 : Май 26, 2012, 22:46 »

 ;)Спасибо
Записан
Страниц: 1 2 3 [4]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.144 секунд. Запросов: 23.