Comments 57
UFO just landed and posted this here
Всё зависит от того что вам нужно.
P. S. а на MetroTwit вы внимание не обратили? Ясно же что это не рабочая лошадка, а так для экспериментов.
P. S. а на MetroTwit вы внимание не обратили? Ясно же что это не рабочая лошадка, а так для экспериментов.
+1
Для начала зачем на серверной винде Opera и Chrome?
Сервер для тестов. Соответственно проверяется работа всего.
наличие или отсутствие вкладок вообще не должно интересовать
Если вы с UNIX больше знакомы, то представьте, что в команде top убрали пару столбцов, объяснив, что они много кушают и пользуйтесь альтернативами.
+6
Зачем в винде юзать консоль для того, для чего есть вполне удобный GUI, и он является не каким-то костылём, а штатным средством. Я тоже линуксы люблю, но, как говорится, кесарю — кесарево…
Это мог быть терминальный сервер, а опера с хромом — для его пользователей.
Это мог быть терминальный сервер, а опера с хромом — для его пользователей.
+11
кмк хром ставится в узердир пользуна, не?
0
Можно скачать установщик для всех аккаунтов. Если пользователь уже поставил себе отдельно, то его копия автоматически удалится при следующем запуске Хрома (профиль сохранится).
support.google.com/installer/bin/answer.py?hl=ru&answer=126299
support.google.com/installer/bin/answer.py?hl=ru&answer=126299
0
Например скачать на сервер какой-нибудь патч или вообще любой другой файл. Сделать это с ИЕ, который в режиме пришибленного параноика, весьма проблематично.
+1
Целостность файла проверяется флагом в самом файле
Б_я. Аааа, хотя понятно, это ж бизнес — система, т.е. надо и компаньонам (антивирусным компаниям) дать заработать.
+4
UFO just landed and posted this here
Затем, что в Win8/2012 он перестал быть говённым.
+4
UFO just landed and posted this here
В этом плане он стал скорее хуже :) Кастомные поля в нем например не выводятся больше. Т.е. показывает всё что видите на скриншоте и ни одним столбцом больше.
0
Насчет всего перечисленного сходу не уверен, но многое точно умеет.
0
Странно, что Микрософт вообще не отказался от таск менеджера после того, как они купили с потрохами Sysinternals, и теперь тот же Process Explorer разрабатывается на деньги Microsoft.
+1
А ведь некоторые над нами, линуксоидами, смеются: «Да кому, мол, нужны эти ваши открытые исходники».
Вот он красивый ответ кому и зачем.
Вот он красивый ответ кому и зачем.
+7
Как мы наглядно видим — исходники не нужны. К тому же некоторый ОСС так написан, что только дебаггером его и лечить…
0
UFO just landed and posted this here
В винде есть dll injection, я в былые годы виндовый софт многому научить успел. Самый весёлый мой проект был — второй скайп с табами. Исходники? Не, не слышал.
+1
UFO just landed and posted this here
Я как-то раз прикручивал флеш-плеер к Android 2.1 (офф. поддержка с 2.2), сначала я скачал несколько гигов исходников, потом я четыре часа собирал дебажный билд, потом я неделю воевал с премапом, а потом ещё неделю изучал исходники вебкита, сопровождая процесс трёх-часовыми рекомпиляциями.
Если бы под армовый линух были бы тулзы типа Hiew, я бы это запилил часа за два-три.
Исходники полезны только в виде библиотек (;
Если бы под армовый линух были бы тулзы типа Hiew, я бы это запилил часа за два-три.
Исходники полезны только в виде библиотек (;
0
UFO just landed and posted this here
Мне некогда приходилось писать т. н. launcher, т. е. программу, которая модифицировала другую программу и передавала управление ей.
Подробности
Собственно, у нас есть малюсенькая программа, которая запускает процесс, пишет ему в память, и тихонечко уходит со сцены.
// Все писалось под x32 систему, совершенно не в курсе, есть-ли проблемы при использовании 64.
— Зовем CreateProcessW и в аргументе dwCreationFlags передаем CREATE_SUSPENDED, это создаст приостановленный процесс
— GetFileVersionInfoSizeW — я использовал для того, чтобы быть уверенным, что я работаю с нужным мне кодом, а не с чем попало. Можно для душевного спокойствия проверить и hash исполняемого файла целевой программы, и проверить, какие инструкции находятся по address, по которому планируется писать
— WriteProcessMemory, переписываем в целевом то, что Вы делали в hex редакторе. Я вот не помню, нужен ли VirtualProtect предварительный на данную память с фагом «ПишуЧитаюИсполняю»?
— Пускаем процесс (он же у нас замороженный)
Все это ассемблируется, и запускается наша программа, которая создает процесс уже целевой и запускает ея.
// Все писалось под x32 систему, совершенно не в курсе, есть-ли проблемы при использовании 64.
— Зовем CreateProcessW и в аргументе dwCreationFlags передаем CREATE_SUSPENDED, это создаст приостановленный процесс
— GetFileVersionInfoSizeW — я использовал для того, чтобы быть уверенным, что я работаю с нужным мне кодом, а не с чем попало. Можно для душевного спокойствия проверить и hash исполняемого файла целевой программы, и проверить, какие инструкции находятся по address, по которому планируется писать
— WriteProcessMemory, переписываем в целевом то, что Вы делали в hex редакторе. Я вот не помню, нужен ли VirtualProtect предварительный на данную память с фагом «ПишуЧитаюИсполняю»?
— Пускаем процесс (он же у нас замороженный)
Все это ассемблируется, и запускается наша программа, которая создает процесс уже целевой и запускает ея.
0
— WriteProcessMemory, переписываем в целевом то, что Вы делали в hex редакторе. Я вот не помню, нужен ли VirtualProtect предварительный на данную память с фагом «ПишуЧитаюИсполняю»?
А как мы узнаем адрес памяти, куда надо писать? С учётом ASLR как-то не очень понятно.
0
Интересно! Я, сказать по правде делал это все для XP, хотя в Vista и 7 у других пользователей это работало прекрасно. Суть фишки, насколько я понял в том, что Image Base случаен (в таком случае компилятор также должен создавать код без абсолютных аддрессов, только с относительными?).
Первое, что приходит на ум — после того, как был создан процесс мы делаем VirtualAllocEx, пишем туда наш код, который с помощью GetModuleHandle узнает базовое смещение и от него будет плясать. Не осложнит ситуацию и то, что память, в которой происходит необходимая проверка может находиться в dll или памяти, выделенной динамически, но тогда необходимо будет колдовать со сплайсингом. С другой стороны я не знаю, одинаковы-ли аддресса внешних win32api (наверное уже 64) процедур для разных процессов. В XP я просто читал нужные мне аддресса из секции импорта своего процесса и напрямую писал их в выделенную через VirtualAllocEx память целевого процесса. Ах да, после WriteProcessMemory нашего кода по аддрессу, полученному от VirtualAllocEx мы делаем туда CreateRemoteThread и ждем WaitForSingleObject (что ждем не помню, точнее ясно, что завершении веточки, но какой там флаг — не помню) и только после этого пускаем процесс.
Первое, что приходит на ум — после того, как был создан процесс мы делаем VirtualAllocEx, пишем туда наш код, который с помощью GetModuleHandle узнает базовое смещение и от него будет плясать. Не осложнит ситуацию и то, что память, в которой происходит необходимая проверка может находиться в dll или памяти, выделенной динамически, но тогда необходимо будет колдовать со сплайсингом. С другой стороны я не знаю, одинаковы-ли аддресса внешних win32api (наверное уже 64) процедур для разных процессов. В XP я просто читал нужные мне аддресса из секции импорта своего процесса и напрямую писал их в выделенную через VirtualAllocEx память целевого процесса. Ах да, после WriteProcessMemory нашего кода по аддрессу, полученному от VirtualAllocEx мы делаем туда CreateRemoteThread и ждем WaitForSingleObject (что ждем не помню, точнее ясно, что завершении веточки, но какой там флаг — не помню) и только после этого пускаем процесс.
0
added:
Нашел на wasm.ru упоминание о том, что Руссинович писал в своем блоге, что по крайней мере в Vista SP3 аддресса процедур из ядра системы одинаковы для всех процессов в рамках одной сессии (technet, сам топик не читал, поверил на слово). Следовательно, можно из секции импорта загрузчика импортировать любые аддресса процедур в целевой процесс, и с их помощью, действуя уже от имени целевого процесса искать базовый отступ.
Нашел на wasm.ru упоминание о том, что Руссинович писал в своем блоге, что по крайней мере в Vista SP3 аддресса процедур из ядра системы одинаковы для всех процессов в рамках одной сессии (technet, сам топик не читал, поверил на слово). Следовательно, можно из секции импорта загрузчика импортировать любые аддресса процедур в целевой процесс, и с их помощью, действуя уже от имени целевого процесса искать базовый отступ.
0
С Vista прошло уже 2 операционные системы, вполне может быть что и рандомизировали и библиотеки. Хотя мало вероятно. Тут ещё по идее DEP может сыграть свою роль, если будем пробовать код править. Хотя если просто подменить вызов функции GetVersionEx, то может и прокатит.
В любом случае, задача эта более теоретическая в данный момент, и если заниматься, то нужно писать сразу более или менее универсальный патчер для любых систем.
В любом случае, задача эта более теоретическая в данный момент, и если заниматься, то нужно писать сразу более или менее универсальный патчер для любых систем.
0
> Эта функция впервые появилась во 2-м пакете обновлений для Windows XP
Так пишет Википедия о DEP. Следовательно нас должен спасти virtual protect.
> и если заниматься, то нужно писать сразу более или менее универсальный патчер для любых систем.
Я не разбираюсь в серверных системах и технологиях вообще, но может лучше ничего не писать, а использовать просто другую программу для мониторинга или что то такое?
Так пишет Википедия о DEP. Следовательно нас должен спасти virtual protect.
> и если заниматься, то нужно писать сразу более или менее универсальный патчер для любых систем.
Я не разбираюсь в серверных системах и технологиях вообще, но может лучше ничего не писать, а использовать просто другую программу для мониторинга или что то такое?
0
Прочитал статью, но так и не понял, зачем сравнивать десктопную и серверную операционные системы, особенно, если для вас разница только в том, что «это такая Windows 8, только дороже».
А теперь, внезапно, новость №1 — мониторинг iops'ов реально нагружает дисковую подсистему и, в отличие, от планшета, сервер из-за этого может потерять определенный % производительности.
А новость №2 заключается в том, что серверная архитектура может быть виртуальной, облачной, сегментированной, распределенной, при этом, использовать локальные диски, FC-СХД, iSCSI-СХД, DFS и прочее. Часть из того, что я сейчас перечислил (оборудование), умеет считать утилизацию своих ресурсов, но сервер об этом может не знать.
Так же не следует забывать, что подобная ситуация как у Вас — смотреть определенные показатели в таскменеджере на сервере — это редкость. Для мониторинга серверов есть SCOM.
Отличная бонусная статья, но о чем она?
А теперь, внезапно, новость №1 — мониторинг iops'ов реально нагружает дисковую подсистему и, в отличие, от планшета, сервер из-за этого может потерять определенный % производительности.
А новость №2 заключается в том, что серверная архитектура может быть виртуальной, облачной, сегментированной, распределенной, при этом, использовать локальные диски, FC-СХД, iSCSI-СХД, DFS и прочее. Часть из того, что я сейчас перечислил (оборудование), умеет считать утилизацию своих ресурсов, но сервер об этом может не знать.
Так же не следует забывать, что подобная ситуация как у Вас — смотреть определенные показатели в таскменеджере на сервере — это редкость. Для мониторинга серверов есть SCOM.
Отличная бонусная статья, но о чем она?
+10
Прочитал статью, но так и не понял, зачем сравнивать десктопную и серверную операционные системы, особенно, если для вас разница только в том, что «это такая Windows 8, только дороже».
Это была ирония.
Так же не следует забывать, что подобная ситуация как у Вас — смотреть определенные показатели в таскменеджере на сервере — это редкость. Для мониторинга серверов есть SCOM.
Статья о том: дайте нам выбор, а мы уж сами разберёмся. Именно потому что, таск менеджер запускается редко, смысла урезать функциональность не вижу никакого. Изменяются настройки только в нём, а не во всей системе, значит незапущенный не влияет не на что.
И такой вопрос — SCOM 2012 работает с новым сервером? Насколько я знаю, сервис пак для него ещё в бете, так что надо ждать релиза.
+1
А это такой тренд последних лет — урезать функциональность жестко, без настроек. С легкой руки Apple. Чтобы пользователям не нужно было разбираться в этих настройках.
+1
| Это была ирония.
А сходу не понял ;)
| Статья о том: дайте нам выбор, а мы уж сами разберёмся.
Ну вы же понимаете, что если инструмент может влиять на производительность, но зачем он нужен такой, особенно в серверной ОС, где каждый показатель может быть узким местом? В случае с Task Manager, для отображения iops'ов, необходимо, чтобы в фоне постоянно крутился счетчик производительности. Есть специальный инструменты, работающие ondemand, а именно — Performance Monitor.
| И такой вопрос — SCOM 2012 работает с новым сервером? Насколько я знаю, сервис пак для него ещё в бете, так что надо ждать релиза.
Да, вы правы, пока еще Beta с поддержкой WS2012 и W8, но смысл здесь в другом. Я пытался сказать, что для мониторинга серверов (а их, как правило, всегда больше одного) рекомендуется использовать решения, позволяющие мониторить показатели «по умному» — централизованно и автоматизированно. Иначе администраторы начинают взрывать себе мозг от бесчисленных ковыряний с серверами 1 на 1. ;)
А сходу не понял ;)
| Статья о том: дайте нам выбор, а мы уж сами разберёмся.
Ну вы же понимаете, что если инструмент может влиять на производительность, но зачем он нужен такой, особенно в серверной ОС, где каждый показатель может быть узким местом? В случае с Task Manager, для отображения iops'ов, необходимо, чтобы в фоне постоянно крутился счетчик производительности. Есть специальный инструменты, работающие ondemand, а именно — Performance Monitor.
| И такой вопрос — SCOM 2012 работает с новым сервером? Насколько я знаю, сервис пак для него ещё в бете, так что надо ждать релиза.
Да, вы правы, пока еще Beta с поддержкой WS2012 и W8, но смысл здесь в другом. Я пытался сказать, что для мониторинга серверов (а их, как правило, всегда больше одного) рекомендуется использовать решения, позволяющие мониторить показатели «по умному» — централизованно и автоматизированно. Иначе администраторы начинают взрывать себе мозг от бесчисленных ковыряний с серверами 1 на 1. ;)
0
Ну вы же понимаете, что если инструмент может влиять на производительность, но зачем он нужен такой, особенно в серверной ОС, где каждый показатель может быть узким местом? В случае с Task Manager, для отображения iops'ов, необходимо, чтобы в фоне постоянно крутился счетчик производительности. Есть специальный инструменты, работающие ondemand, а именно — Performance Monitor.
Что за подход «может влиять», «может быть узким местом»? Еще раз, автор топика поменял лишь (насколько я понял) отрисовку столбцов, то есть «счетчики производительности» как крутились так и крутятся. Скрыты они были примерно так же, как закрыть глаза ладонями.
Единственно возможный сценарий, где сокрытие действительно оправдалось бы — это если в дальнейшем коде системный монитор действительно будет включать какие-то системные службы, следящие за производительностью. Но тогда это и есть «on demand», о котором вы говорили.
+1
В случае с Task Manager, для отображения iops'ов
Э… Не то, чтобы я был большим специалистом в вопросе, но когда IOPS начали измеряться в процентах? И почему, например, в каком-нибудь linux ведение статистики дисковых операций не считается чем-то нагружающим сервер?
+1
Подпишусь под каждым словом. Даже больше скажу, на 2003 при включении счетчиков и логировании этой информации, у меня юзеры на терминальнике, заметили, что просела производительность. И этот сервак не самый нагруженный.
А теперь для автора на серваке есть Resource Manager и Performance Monitor. Если у вас проблемы с производительность опытный админ всегда найдет узкое место. Вы вроде человек не глупый, но видно что с Windows вы не очень близко знакомы.
А теперь для автора на серваке есть Resource Manager и Performance Monitor. Если у вас проблемы с производительность опытный админ всегда найдет узкое место. Вы вроде человек не глупый, но видно что с Windows вы не очень близко знакомы.
0
Ещё раз напишу:
Если есть простой и удобный инструмент, которого хватает, зачем использовать более продвинутый? Вот если не хватит, тогда да, можно и ресурс-монитор использовать.
Как пример, представьте что на сервере крутятся 10 одинаковых сервисов (со своими настройками). Вы замечаете, что есть проблема, быстро открываете таск менеджер и видите виновника сожравшего сеть/диск. И уже идёте с ним разбираться.
Да, можно запустить Performance Monitor, но это лишние действия, которые в принципе не нужны в данном случае.
Может я не правильно вас понял, но логгирование IO влечёт за собой IO, что логично просаживает производительность.
Если есть простой и удобный инструмент, которого хватает, зачем использовать более продвинутый? Вот если не хватит, тогда да, можно и ресурс-монитор использовать.
Как пример, представьте что на сервере крутятся 10 одинаковых сервисов (со своими настройками). Вы замечаете, что есть проблема, быстро открываете таск менеджер и видите виновника сожравшего сеть/диск. И уже идёте с ним разбираться.
Да, можно запустить Performance Monitor, но это лишние действия, которые в принципе не нужны в данном случае.
Даже больше скажу, на 2003 при включении счетчиков и логировании этой информации
Может я не правильно вас понял, но логгирование IO влечёт за собой IO, что логично просаживает производительность.
0
А если просто включить режим совместимости для экзешника соответствующий?
0
>сервер из-за этого может потерять определенный % производительности
Скорее всего, MS отказались от этого столбца не из-за производительности, а потому что на сервере он перестал показывать реальное состояние дел.
>представьте, что в команде top убрали пару столбцов, объяснив, что они много кушают и пользуйтесь альтернативами.
Представьте, что top стал показывать галиматью, и тогда ему отключили пару столбцов, чтобы сисадмины не названивали в саппорт и не говорили, что «наш сервер сошел с ума».
Скорее всего, MS отказались от этого столбца не из-за производительности, а потому что на сервере он перестал показывать реальное состояние дел.
>представьте, что в команде top убрали пару столбцов, объяснив, что они много кушают и пользуйтесь альтернативами.
Представьте, что top стал показывать галиматью, и тогда ему отключили пару столбцов, чтобы сисадмины не названивали в саппорт и не говорили, что «наш сервер сошел с ума».
+2
Тут нельзя не вспомнить старое доброе… «Как пропатчить KDE под FreeBSD?»
0
А для 2012 r2 такой фокус пройдет? Я попробовал, и что-то в лоб не получилось. ТС, может попробуете? :)
0
Я делал на 2012 r2, но после кучи апдейтов, в которых меняли Task Manager — слегка надоело :) Но идея та же.
0
А может сделать некий запускатор и поместить его в hijack? Он подменит оригинальный и будет, так сказать, актуален. Только вот самому мне не осилить такое, в reverse-engineering я профан :)
0
Учитывая комментарии выше, возможно есть способ «подсунуть» диспетчеру ложное условие, чтобы результат проверки возвращал 1, а не 3. И не придется искать адрес, куда писать.
0
Ложное условие отлично прокатывает для проверки гипотезы — брекпоинт с заменой результата, но, поскольку, фактический возврат значения происходит в ntdll, её патч может поломать все остальные проверки для системы, что по идее не очень хорошо.
0
Хм, а разве смысл лаунчера не в том, чтобы создать «капсулу» для процесса? Главное чтобы процесс диспетчера задач «думал», что анализирует десктопную систему и дальше него (процесса) это ложное условие не ушло.
0
Возможно я не так выразился, можно же подменять результат, как это сделано у Вас патчем, но как бы, «на горячую»? Чтобы изменения влияли лишь на диспетчер задач, который запущен лаунчером? (грубо — как трейнер для игры) При желании можно просто вызвать диспетчер без запускатора, не применяя лаунчер или наоборот — держать ярлык на лаунчер под рукой, который будет запускать %windir%\taskmgr.exe, а основные горячие клавиши будут вызывать стандартный дисппечтер задач.
Понимаю, что прошу непростую задачу, да еще из порядком поднадоевшей темы ) Но если получится — как минимум я останусь доволен, может еще кто-то. Сам тоже попробую изучить как работают инжекторы всякие там, может чего выйдет :)
Понимаю, что прошу непростую задачу, да еще из порядком поднадоевшей темы ) Но если получится — как минимум я останусь доволен, может еще кто-то. Сам тоже попробую изучить как работают инжекторы всякие там, может чего выйдет :)
0
Sign up to leave a comment.
Странное поведение Task Manager в Windows Server 2012