На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
Страницы: (4) 1 [2] 3 4  все  ( Перейти к последнему сообщению )  
> Process Explorer от Sources.ru
    Скриншоты Process Explorer от Sources.ru
    user posted image
    user posted image
    user posted image
    user posted image
    user posted image
    user posted image
    user posted image
    user posted image
    user posted image
    user posted image


    Итак, в проект ищутся желающие поковыряться в недрах win, и создать проект, позволяющий изучать процессы от А до Я.

    Цель проекта
    - Отобразить максимально возможную информацию о процессах и потоках:
    -- Структура процесса: Потоки, модули, объекты ядра, объекты GUI, принадлежащие ему;
    -- Потребление памяти, CPU и прочих ресурсов;
    -- Управление процессом: запуск, остановка, управление потоками, модулями, объектами ядра и GUI.

    Структура
    Проект состоит из трех составляющих:
    - GUI-приложение, с которым работает пользователь;
    - Прослойка между GUI-приложением и драйвером ядра: библиотека DLL, имеющая абстрактный от ядра интерфейс, с которым работает GUI-приложение;
    - Драйвер ядра, собирающий и управляющий объектами, недоступными из режима USER (3 кольцо).

    GUI-приложение
    Его проект непосредственно представлен на скриншотах выше (т.е. на скриншотах только проект, который в конечном варианте скорее всего будет сильно отличаться от представленного).
    - Главное окно отображает совокупную информацию по процессам и ресурсам системы;
    - Диалоговое окно процесса содержит в себе несколько категорий:
    -# Системная информация:
    -- Совокупные данные по процессу (время запуска, потребление физической и виртуальной памяти, данные исполняемого модуля и т.д.);
    -- Модули, загруженные процессом;
    -- Потоки;
    -- Привилегии;
    -- Использование сети;
    -- Службы, содержащиеся в процессе;
    -- Прочие данные.
    -# Объекты ядра:
    -- Полный список объектов ядра, принадлежащих процессу;
    -- Объекты реестра (ключи);
    -- Объекты ФС (файлы, директории);
    -- Объекты синхронизации;
    -- Прочие объекты.
    -# Объекты GUI:
    -- Окна;
    -- Таймеры;
    -- Контекстные устройства, кисти, шрифты и т.п.
    -- Хуки;
    -- Прочие данные (полный список приведен в структурах ядра).

    !!! Примечание: в GUI-приложении НЕ используются ресурсы типа RT_DIALOG. Все диалоги создаются посредством класса CDialog (на базе DialogBoxIndirectParam), весь текст на которых берется уже из ресурсов.

    Библиотека абстракции от ядра
    Содержит интерфейс обмена данными между GUI-приложением и ядром. Т.е. предоставляет API для извлечения и изменения данных объектов ядра и GUI. Т.е. системное API будет все тут, все данные по системе, процессам, потокам, объектам ядра и GUI будет предоставлять именно эта библиотека, GUI-приложение будет использовать системное API лишь для отображения собственного оконного интерфейса.

    Драйвер режима ядра
    Содержит в себе API для работы с ядром: извлечение и управление данными ядра. Изначально общение с DLL планировалось сделать через SSDT, но не срослось, и поэтому используются CTL-коды.

    Текущее положение проекта
    Находится в стадии "набросков". Т.е. общая картина представленного предложения прослеживается, но весьма и весьма размыта.
    Если найдутся желающие, то подниму SVN и даю исходники (далекие, кстати, от идеала) и их описание.

    Добавление идей и/или поправка имеющихся приветствуются. Т.е. это мое предложение заключается в наборе команды, готовой заняться таким довольно весомым, но бесплатным и открытым проектом, который в теории переплюнет PE от Руссиновича. :) Достаточно иметь желание и уметь разбираться во всяких "системных штучках". Соответственно, все комментарии приветствуются.

    Пока все. :)
      Urich, если есть интерес заняться, то можем обсудить в ПМ или icq, что есть и что нужно. :)
        ALXR, а не удобнее создать группу в Скайпе? И инвайтить туда желающих по мере появления..
          Цитата
          Исходники жесточайшим образом грохнул (вместе с бинарниками).

          Привлечь бы тебя за порчу имущества.
            Цитата B.V. @
            ALXR, а не удобнее создать группу в Скайпе? И инвайтить туда желающих по мере появления..

            Не умею пользоваться. Да и пока не досуг изучать.
              Проект заглох?
                Цитата ALXR @
                Не умею пользоваться

                Там нечего особо уметь, интерфейс достаточно простой. А плюс в том, что в Скайпе очень многие наши тематики
                  B.V., а поподробнее об ентом где узнать? (а то я как всегда не вкурсах..)
                    Цитата Krid @
                    а поподробнее об ентом где узнать?

                    Здесь, например: Чат игроманов (и не только) Исходников в Скайпе. (сообщение #2593349)
                      Потихоньку впиливаем под Win7.
                      user posted image
                        Можно глупый вопрос? Я понимаю мол хардкорить в коде. Но с формами то зачем хардкорить? )) заняться нечем?))
                          Тут подумалось - а зачем вообще изобретать лисопед??

                          ИМХО, лучше уж сделать что-нибудь типа Task Manager Extension

                          Помнится, когда-то я его юзал (+ ещё кое-чего туда добавил) - довольно удобная чтука была.

                          Да и намного меньше кода нужно писАть, поскольку это как-бы "плагин" к стандартному TaskManager'у. Ну а в последнем основная функциональность уже реализована. И задача сводится к тому, чтобы просто добавить что-то своё, не переписывая по-новой нормально работающий, отлаженный код.
                            Killbrum, где хардкод? Какой хардкод? Никакого хардкода и костылей там нет.

                            Krid, TME это как раз хардкод. Выглядит прилично, но удачной реализации быть не может.
                              Цитата ALXR @
                              TME это как раз хардкод.

                              Интересно, где это ты хардкод увидел? (или ты имеешь ввиду, что TME в систему встраивается?)

                              Цитата ALXR @
                              удачной реализации быть не может

                              Интересная мысль. И главное, полностью расходится с реальностью :)

                              ЗЫ Вообще не понятно - зачем плодить клоны Process Explorer'а (которых и так немеряно)?? Вот ты можешь объяснить мне внятно, зачем нужен этот твой очередной клон PE?

                              Не лучше ли будет сделать что-нибудь по-оригинальнее?
                                Цитата Krid @
                                Интересная мысль. И главное, полностью расходится с реальностью

                                ЗЫ Вообще не понятно - зачем плодить клоны Process Explorer'а (которых и так немеряно)?? Вот ты можешь объяснить мне внятно, зачем нужен этот твой очередной клон PE?

                                Зачем?

                                Цитата Krid @

                                Не лучше ли будет сделать что-нибудь по-оригинальнее?

                                Мне (ну и, похоже, не только мне) хочется покопаться во всех этих делах. Кроме того, наличие исходных текстов будет существенным плюсом ко всему этому делу.
                                  Цитата ALXR @
                                  Мне (ну и, похоже, не только мне) хочется покопаться во всех этих делах. Кроме того, наличие исходных текстов будет существенным плюсом ко всему этому делу.


                                  Не, ну с этим, конечно не поспоришь. Вещь, конечно же, очень полезная в плане обучения, изучения механизмов работы системы, ядра, etc. Наверное, нет такого программера, который бы не делал какой-нибудь свой taskman или PE (или хотя бы не думал об этом)..

                                  Просто сначала не очень понял - какова практическая цель всего этого.

                                  ЗЫ но всё-таки обрати внимание на TME. Он же с исходниками и содержит массу полезного кода..
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:
                                  Страницы: (4) 1 [2] 3 4  все


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0483 ]   [ 19 queries used ]   [ Generated: 28.03.24, 12:40 GMT ]