Показать полную графическую версию : [решено] Можно ли как-нибудь найти счётчик времени работы программы?
Денис Пирожков
06-11-2011, 15:58
Всем Привет. Интересует такой момент. Допустим запускаем программу любую ну к примеру меня интересует DC клиент и вот скажем она запущена и работает ровно час. Я бы хотел найти бы эту цифру времени в самой запущенной программе. То есть к примеру у меня имеется программа DC клиент собственная разработка интернет-провайдера она имеет этот счётчик где-то внутри себя. Поскольку когда она у меня включённая, то самое большое время она передаёт в виде статистики то ли на хаб, то ли сразу на внутренний сайт. Где я вижу что максимальное время работы у меня было скажем 48часов. Я бы хотел найти этот счётчик времени, а именно число и изменить его на другое. Чтобы получилось так. Программа скажем запущена и работает часа 3 или 4 но я нахожу это значение в программе и меняю его на 120 часов. Таким образом при закрытии программы передастся статистика как-будто у меня клиент работал 120 часов не выключаясь.
Вопрос. Можно ли как-нибудь найти счётчик времени работы программы?
Денис Пирожков, в твоем случае, счетчик стоит на сервере DC, он и считает сколько ты был к нему подключен
Можно ли как-нибудь найти счётчик времени работы программы? »
Может такое подойдёт LiderControl (http://freesoft.ru/?id=10666) или TimeLocker (http://freesoft.ru/?id=10666)
Денис Пирожков
06-11-2011, 16:26
freese, Да вот как раз он в клиенте стоит. Поскольку одному удалось там как-то поковыряться и исправить время. Я по этому тему и создал поскольку точно знаю что это возможно. Я просто не знаю как эти данные как время работы клиента он нашёл и поправил.
yurfed, Судя по описание это не то что мне нужно, да и к тому же она не устанавливается на мою ОС Вин 7 х64
Денис Пирожков
06-11-2011, 17:22
Вот к примеру мы видим в программе 1Мб, а в программе это число прописано так 1048576. А когда в программе я вижу 1 час то как оно прописано в программе?
А когда в программе я вижу 1 час то как оно прописано в программе? »
Как угодно. Целым числом, числом с плавающей запятой, символом, результатом функции получения времени.
из разряда примитивных методов
изменить системную дату на год назад, после запуска программы на год вперёд переставить.
посложнее
переводим дату, запускаем программу, потом отправляем систему в "гибернацию", залезаем в bios, возвращаем дату на место, загружаем систему
Денис Пирожков
07-11-2011, 12:15
rsod, Слушай можно по подробней, я что не совсем понял последовательность.
Денис Пирожков, можно попробовать изменить дату в системе на пару дней назад, запустить клиента и во время его работы дату изменить на верную.
Денис Пирожков
07-11-2011, 12:27
rsod, Сделал так. В правом нижнем углу время дата поменял дату на 2 месяца назад. Включил клиента DC поменял дату вперёд на сегодня результат ноль. То есть не сработало.
Вариант с "гибернацией" тоже не помог к сожалению.
Денис Пирожков, перезагрузитесь, зайдите в bios, измените дату там, загрузите систему, запустите клиент, перейдите в режим гибернации (пуск - гибернация), включите компьютер, зайдите в bios, верните дату на нормальную, и затем загрузите систему. Возможно, поможет. Можно подобную манипуляцию на виртуальной машине проделать.
Денис Пирожков
07-11-2011, 12:34
rsod, Сделал я уже ответил на этот метод. Просто я на пару секунд успел по раньше отредактировать сообщение своё предыдущее. Не помогло одним словом.
Значит, программа получает время извне.
Значится можно сделать так: подменить пакет с временем, который передаётся/принимается. Но для этого нужна программа, которая этот пакет подменяет. Найти пакет можно с помощью wireshark, а вот подменить - я не знаю. Я вообще сам когда-то искал такую программу, достаточно долго, но безрезультатно
Денис Пирожков
07-11-2011, 12:40
rsod, Вот я и говорю что этот клиент отправляет статистику. Просто нужна как вы говорите сторонняя программа чтобы найти это значение и исправить его. Попробую поискать ту программу которую вы порекомендовали.
rsod, Нашёл программу. Самое интересное её в сети разместил тот кто изменил эти данные. Аха-ха приколист блин. Но я профан. Как ей искать и самое главное что искать какие значения прога к тому же на английском.
Можно вопрос?
Вы о чем? Какое, блин, время? Какая, блин, программа? Какой, блин, клиент?!? Какая блоха?! (с)
Что вообще происходит, что требуется?
Денис Пирожков, можно что-нибудь вразумительное по проблеме услышать?
Денис Пирожков
07-11-2011, 12:54
lxa85, Можно. Моё первое сообщение внимательно прочитайте чтобы мне его не переписывать и всё понятно станет что я хочу сделать. Другие же пользователи поняли.
Иожик! Ладно, что-то я где-то упустил.
А мысль о том, что время считается на стороне сервера, не прижилась?
Денис Пирожков, в твоем случае, счетчик стоит на сервере DC, он и считает сколько ты был к нему подключен »
Что за DC клиент? Протокол DC изучался? Раз уж мы говорим о подмене пакетов.
Денис Пирожков, Представьте себе что вы держите один конец доски, а я другой и я считаю до десяти и отпускаю конец. Мне глубоко будет пофигу на ваши счетчики я буду только знать что на другом конце вы и как только у меня будет "десять" произойдет отключение.
Это я пытаюсь вам объяснить что ваши махинации на вашем компьютере, никак не повлияют на таймер, находящийся на сервере!
Денис Пирожков
07-11-2011, 14:11
lxa85, Какая разница какой DC клиент. Я же написал это собственная разработка провайдера принцип работы что и у Флайлинка только интерфейс и оформление своё. Мне нужно изменить время работы клиента о чём я уже писал. Допустим программа включена и работает 2 часа а мне нужно изменить на скажем на 120 часов. Чтобы статистика ушла на хаб или на внутренний сайт не важно куда, но ушла с данными как будто клиент работал вместо 2 часов все 120 часов. Если знаете как сделать тогда предложите свои варианты, вместо того чем засыпать меня вопросами. Я помоему тему создал так чтобы всё было разжевано и понятно. Возьми для себя в качестве примера не мой клиент а скажем тот же Флайлинк. И скажите можете ли осуществить замену данных о времени работы клиента с 2 часов на 120. Если можете то подскажите варианты как сделать.
И ещё раз повторю, а то я смотрю вам лень читать мои сообщения и вы задаёте не нужные вопросы на которые я уже ответил. Одному человеку это удалось сделать. Сидя дома у ПК открыл клиент DC и открыл другую программу (какую именно я не знаю сам, знал бы сказал) и при помощи неё искал значение времени то есть клиент отработал у него скажем 1 час он не выключая обе программы нашёл этой сторонней программой этот 1 час и поменял на 180 часов. И закрыл клиент DC, в результате чего ушла статистика что будто у него работал клиент 180 часов.
Теперь я надеюсь полностью обрисовал картину того что я хочу сделать, найти и изменить.
Если кто знает как это делать прошу подсказать.
Ment69, Повторю Таймер не на сервере таймер в самой программе. Это можно сделать без подключения к локальной сети. Все изменения хранятся в самой программе просто при появлении локальной сети клиент отсылает статистику с данными где уже всё изменено. Я же вам не фантазёр. Как будто мне делать больше нечего чем выдумывать всякую ерунду. Я вам говорю что сделал реально как минимум 2 человека у нас. Просто не могу с ними связаться ни как а так бы не писал бы здесь.
Денис Пирожков, начало темы начиналось с Вот к примеру мы видим в программе 1Мб, а в программе это число прописано так 1048576. А когда в программе я вижу 1 час то как оно прописано в программе? »Потом темы объединили. Отсюда все непонятности.
К теме:
Я же написал это собственная разработка провайдера принцип работы что и у Флайлинка »
Берем flylincdc (http://code.google.com/p/flylinkdc/source/browse/#svn%2Ftrunk%2Fclient) и ищем протокол взаимодействия с сервером. Ну или список переменных программы, в одной из которых должно храниться время.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.