Текущий архив: 2003.08.25;
Скачать: CL | DM;
Вниз
---|Ветка была без названия|--- Найти похожие ветки
← →
msts (2002-12-19 10:42) [40]Встречный вопрос: читаю хелп по WH_SHELL Hook там на многие фичи указано - Windows 95 only обманывают или нет? берут сомнения - хелп старый - иногда врет.
← →
Hlor © (2002-12-28 01:23) [41]Не хочу конечно прерывать Ваши дебаты, но я писал прогу в школу, правда не шел, а так.... Вообщем запрещал открывать проги и окна ну и естественно настройки виндовские менять и оставался при Эксплорре. И все это благодаря реестру и WinAPi.
Конечно не сравнить уровень школьников и тех кто в клубы ходит, но в принципе..........
А на счет объединения я за! :) Может действительно написать дельную замену Эксплорэру?
← →
Polevi © (2002-12-28 10:58) [42]лучше не надо, плиз
← →
CjCrazy (2003-01-12 17:37) [43]хотелось бы узнать как у вас успехи в написание шела?
сам разрабатываю программу администрирования клуба (уже почти год работает).
← →
Ruf © (2003-01-13 15:56) [44]>SeF © > 2 markers © > DVM ©
Давайте обединяться!
Опыт есть. Но в комманде лучше!!!
← →
Gez © (2003-01-14 00:25) [45]Наконец нашел рлдственные души!!!
Интересуют основные концепции (задачи) шелла, Ведь у разных клубов разные запросы... А также интересны методы решения (открытие-закрытие программ - особенно *.bat, связь с сервером, шифрование логов, хранение динамических данных и т.д.).
Сам работал и админом и директором, перепробовал больше 15 программ, но во всех есть свои бочины: хороший админ - плохой клиент, наоборот.., дорогой, но недостаточно функций, не хочет закрывать некоторые проги, нет логов, нет поддержки карточек..
Может кто-то поделится какими-то стандартными правилами, не охота с нуля делать, что уже давно сделано.
Опыта в программировании шеллов нет :)), пока примеры по процессам ганяю..
← →
SeF © (2003-01-14 22:54) [46]
> CjCrazy (12.01.03 17:37)
У меня нормально, а markers ©, DVM © подняли бурю в стакане воды и замолчали...
← →
markers © (2003-01-15 05:46) [47]Здравствуйте нерод!!! Давно я с вами не общался...........
Работа блин, учеба и всё такое... Некогда было!!!!!
Но зато за это время я уже что-то своё наклепал....
> SeF Я персонально извиняюсь за "пассивность"
← →
DVM © (2003-01-15 16:04) [48]Я бурю, извиняюсь, не подымал, я просто ответил. Кто надо, по почте мне писал, я отвечал.
← →
SeF © (2003-01-15 20:45) [49]
> DVM © (15.01.03 16:04)
сори, я так написал потому что думал что предлагал тебе объединить усилия по написанию Shell-a.
как Ты отнесешся к объединению усилий?
← →
dvm © (2003-01-15 21:18) [50]К объединению усилий по написанию программы-замены стандартному Shell-у предназначенному для игровых залов и интернет кафе я отношусь положительно. Но как объеденить усилия, не представляю, если честно. Меня вообще давно интересовало, как сотни человек пишут одну программу и как координируют свои действия.
← →
SeF © (2003-01-16 01:30) [51]Мне кажется необходимо обсудить
1)требования к возможностям Shell-a;
2)у кого какие наработки;
3)кому что интересно реализовывать;
4)определить API модулей;
5)etc..
← →
markers © (2003-01-16 05:37) [52]Сотни человек одну программу > dvm пишут блоками, один челл добустим в безопастности очень хорошо продвинут, он пишет алгоритм криптографии парролей и etc. Другой допустим в работе с сетью очень хорошо силен, пишет модуль работы с сетью, а потом эти блоки сливаются воедино в одну прогу!!!
У меня наработак не так уж и много пока, но стараемся....
1) Блокировка
2) Возможность смены режима пользователя (Админ/Юзер)
3) Tray (плохой правда, но всё-же)
4) Смена пароля админа
5) Возможность нормального выхода админу
6) Невозможность закрыть прогу стандартными методами (Не считая Диспетчера задач и Far`а. с фаром я только вижу два способа борьбы
1-ый Удалить из полагинов фара, "список процессов", но тогда всё-равно юзер сможет лазит по винту и вс-такое вследствиичего см.2
2-й Если прога наша находится в обычном режимя (юзера) при появлении фара, закрывать его к едрени фени.. А в режиме админа нет)
Ну и т.д.!
← →
markers © (2003-01-16 05:40) [53]Да ещё забыл добавить, свой тасклиск (ListBox правда)
Ещё пока не доделал возможность закрытия активации и сворачивания......
Хочу сделать такой же (почти) listBox с прогами и т.д. на своей проге и т.д.
← →
DVM © (2003-01-16 09:55) [54]>markers: ну то что сотни человек пишут программу блоками - это понятно. Мне интересно другое. Есть, например, исходник. Допустим он достаточно длинный и нет возможности его разделить на 2 блока. Его должны писать 2 человека. Как им координировать свои действия? У каждого будет своя копия исходника и каждый будет править свою копию. Как следить за изменениями? Либо каждое изменение обговаривается, а затем вносится, либо будет полный бардак.
Панель задач я, кстати, сделал. Почти как у виндов. Трэй делать не стал - не особенно это нужно, да и сложновато будет, учитывая заранее неизвестное количество значков, которое может оказаться в трее. Я, допустим, готов спорить что даже виндовый трей сглючит, если там окажется 100 значков.
← →
CjCrazy (2003-01-16 10:08) [55]в качестве шела на данный момент использую LiteStep
благо небольшую защиту всё-таки даёт.
клиентам предоставлен доступ только до определённых приложений.
плюс в клиентскую часть встроен контроль запуска приложений. если есть в списке, то запускает.
а возможности по:
админская часть -
вход админа под своим именем.
комтроль времени. и-нета (стандартно)
динамический прайс
работа с картами постояных клиентов
ведение лога работы (загрузки) компов
лог посадок
лог действий админа (плюс контроль перезагрузки клиентских компов)
проплата дополнительных услуг (печать, запись сд)
статистика игр
клиентская чать -
блокировка компов
включение (выключение) и-нета
контроль запуска приложений
директорская часть -
отображение всех логов, статистик
добавление админов
редактирование прайса, списка игр, дополнительных услуг
+
просмотр отображение состояния зала в данный момент
(почти так же как у админа, тока без возможности посадить или пересадить клиента)
← →
CjCrazy (2003-01-16 10:27) [56]кстати, кто на каких делфах пишет????
(у меня D3 client/server)
← →
CjCrazy (2003-01-16 10:33) [57]2 dvm ©, (15.01.03 21:18)
>как сотни человек пишут одну программу и как координируют свои >действия
один из вариантов - модульная система.
(как мне представляется - мона ведь всё запихать в dll, а после компиляции выкладывать где-нить на фтп, чтобы остальные участники загружали себе обновления (вот только надо ещё подумать как определить где новое, а где старое).
ещё один вариант - просто пишем в разных модулях *.pas
а потом сливаем всё в один котёл. тока вот надо чтобы кто-то собрал всё в единое целое.
но ведь если внимательно подумать, то мона шо-нить сообразить умное :)
← →
DVM © (2003-01-16 10:35) [58]D6e.
>CjCrazy: то, что вы описали написано на Delphi Вами или это готовый комплекс? (имеется ввиду не LiteStep)
← →
SeF © (2003-01-16 12:17) [59]D6e
В принципе я согласен с > CjCrazy (16.01.03 10:08) с некоторыми оговорками:
Клиент НЕ должен включать/выключать Inet, этим должен заниматься Proxy server.
судя по всему требования к shell-у выяснили. предлагаю обсудить то у кого какие есть наработки.
← →
SeF © (2003-01-16 12:19) [60]У меня в основном по работе с системой/слежением за процессами/пользователями/etc...
← →
SeF © (2003-01-17 11:12) [61]Все? опять тишина?
← →
DVM © (2003-01-17 11:19) [62]И мертвые с косами стоят...
← →
msts (2003-01-17 13:55) [63]Наконец-то закончились праздники - добрался до работы.
Посидел сегодня над:
>CjCrazy
>клиентская чать -
>блокировка компов
>включение (выключение) и-нета
>контроль запуска приложений
получилось вести список задач (точнее их окон - Task panel)
используя хук WH_SHELL,
представление формы как поверхности рабочего стола (с фоновым рисунком и любыми компонентами)
возникли вопросы по
1. под какую версию Делфы писать - предлагаю 5 и выше
2. под какую версию Винды писать - пердлагаю поколение NT - 2000/XP
в NT есть понятие Desktop которым можно гибко управлять и все такое.
← →
CjCrazy (2003-01-17 17:16) [64]2 DVM
>то, что вы описали написано на Delphi Вами или это готовый >комплекс? (имеется ввиду не LiteStep)
акромя ЛС всё моё. код мой. (если не считать использованные компоненты
← →
CjCrazy (2003-01-17 17:19) [65]2 SeF
> Клиент НЕ должен включать...
всё дело в том, что я не смог подружиться ещё ни с одним прокси, кроме как WinRoute а клиент прото напросто прописывает шлюз и тем самым включает и-нет (причём начинает работать любая софта, даже не предназначенная для работы через прокси.
← →
CjCrazy (2003-01-17 17:24) [66]2 DVM © (16.01.03 09:55)
>Трэй делать не стал - не особенно это нужно, да и сложновато >будет, учитывая заранее неизвестное количество значков, которое >может оказаться в трее.
хм, легко мона сделать трэй на любое количество значков. проблема лишь в отображении (как вариант мона поставить скроллер :). да и при большом количестве значков может оказаться накладным обрабатывать от них все сообщения (то есть обрабатывать будет, но не так шустро как при двух-трёх)
← →
CjCrazy © (2003-01-17 19:00) [67]а защиту какую-нить ставите в по?
(скажем, какое-нить шифрование ехе-шника, ещё какую-нить приблуду, чтобы программа была более устойчива к взлому)
← →
SeF © (2003-01-18 00:54) [68]
> CjCrazy (17.01.03 17:19)
> 2 SeF
> > Клиент НЕ должен включать...
proxy на linux/FreeBSD, правила firewall-a, ...
по умолчанию правило DROP/DENY для тех кому можно/запрещено вставляется/удоляется правило из INPUT цепочки.
в этих-же цепочках прописывается машина с которой есть доступ на 80-й порт.
устонавливает/удаляет правила скрипт на www запущеном на этом-же proxy.
трафик контролируется этими-же цепочками.
ps такая схема дествует сейчас в 2-х клубах
> CjCrazy © (17.01.03 19:00)
> а защиту какую-нить ставите в по?
Зачем???
← →
CjCrazy © (2003-01-18 09:32) [69]2 SeF,
>> CjCrazy © (17.01.03 19:00)
>> а защиту какую-нить ставите в по?
>Зачем???
ну как зачем? а как же всякие ушлые проги типа dede, которые разбирают делфёвые проекты на косточки и даже код представляют в ассемблерном виде?
даже обычная авторизация админа(оператора) в программе...
хотя, всё это может быть по большей части ерундой, если отслеживается в дизассемблерах.
например, тот же взлом игр, шобы cd не требовали. запускают дизассемблер (плюс отладчик может быть. не вникал я особо в эти тонкости) смотрят точки останова, кады игра орёт дай мол диск. возвращаются до предыдущего if и редактируют ехе-файл.
сам недавно вот приучил русскую гта3 работать без диска (правда делал я это в hex-редакторе, и лишь правил несоответствия с английским вариантом. но в итоге заработало)
← →
SeF © (2003-01-18 11:54) [70]с темже успехом я из 1с (не последней) доставал пароли при помощи SoftIce.
по этому проще запаковать чемнибудь для уменьшения объема *.exe
либо доп. dll которая время от времени будет проверять crc, а если crc будет не правильной то со случайным интервалом времени прога вываливается с какойлибо ошибкой. как вариант, у меня есть драйвер уровня ядра (NT) который пытается читать по адресу null после чего BSOD :)
← →
CjCrazy © (2003-01-18 16:15) [71]но ведь запакованное мона распаковать и дальше с тем же успехом ломать...
← →
SeF © (2003-01-18 22:45) [72]Самая лучшая защита - отсутствие тех поддержки не зарегиных пользователей IMHO.
← →
Gez © (2003-01-19 22:09) [73]DVM, можешь рассказать как ты панели задач делал. И интересно как ты связь организовал - Socket, UDP или что-то другое..
← →
DeadMeat © (2003-01-19 22:35) [74]Товарищи, я у вас тут новичок, но shell-ом тоже занимаюсь уже довольно давно, и (не хочу хвастать) кое-что наработал, кому интересно:
1) защита от убийства главного процесса shell-а;
2) блокировка нежелательных прог;
3) проверка на подмену "нашего shell-а" explorer-ом или кем-нибудь другим
4) блокировка system.ini; explorer.exe; regedit.exe и т.п.
5) 100% (по крайней мере пока) убийство игр (или чего другого) при блокировке компьютера
и т.п.
Свой TaskBar я сбацал, но пошёл весьма извращенским (как обычно) путём, кто может помочь, буду очень признателен...
← →
DVM © (2003-01-20 10:05) [75]> Gez
Панель задач сделать не очень сложно (как оказалось).
1. Нужна форма или какая нибудь панель (можно создать окно по примеру виндовой панели задач AppBar, можно взять обычную панель, можно ToolBar).
2. Эту панель следует расположить в нужном месте экрана (внизу) и лучше сделать неперетаскиваемой ввиду появления излишних сложностей с перекомпоновкой кнопок на ней.
3. Панель, кстати следует поместить либо внутрь ScrollBox-а, либо как-нибудь еще сделать прокрутку.
4. Далее наша задача получить список окон (в этом форуме вопрос всплывал).
5. Отрисовать кнопки (SpeedButton) на своей панели. Перед отрисовкой кнопок надо предварительно вычислить их размеры и положение опираясь на известное количество окон (задача непростая, надо учитывать что кнопка не может стать нулевой ширины и когда то надо начинать прокручивать панель).
6. Перед рисованием очередной кнопки следует получить иконку и текст из соответствующего окна (советую также в свойство Tag кнопки занести handle этого окна).
7. Перерисовку всех кнопок (предварительно уничтожив старые) надо производить при появлении нового окна или закрытии существующего. (момент ловится установкой соответствующих хуков).
8. Также, если необходимо создать полноценный аналог панели задач, следует ловить сообщения (опять хуки) о минимизации/максимизации окон и нажимать/отжимать соответствующие кнопки на своей панели.
9. Также следует активировать/деактивировать соответствующие окна при нажатии кнопок (либо посылкой им сообщений, либо функциями WinApi).
10. Каждой кнопке надо сопоставить PopupMenu, с соответствующими пунктами (закрыть, восстановить ...).
11. И, наверное, еще следует отслеживать не изменился ли у какого окна заголовок или иконка и перерисовывать их на кнопке.
(кто знает какие сообщения ловить?)
Вроде бы все.
← →
DVM © (2003-01-20 10:15) [76]> Gez
> И интересно как ты связь организовал - Socket, UDP или что-то
> другое..
Я не организовывал связь. Я делал только оболочку. Но связь организовать, по-моему, несложно. На клиентском компьютере стоит ServerSoket на админском ClientSoket периодически подключается к клиентским компам и передает им какую либо инфу (можно обычным текстом). Клиент в зависимости от этой инфы принимает решения, что делать.
Некоторые все это делают через зашаренный файл, но тогда на админской машине должен стоять Windows Server.
Только тормозит все это при большом количестве машин.
← →
DVM © (2003-01-20 10:22) [77]> DeadMeat
> защита от убийства главного процесса shell-а;
Что и в WinNT/2000/XP?
← →
DeadMeat © (2003-01-20 14:35) [78]> DVM
> защита от убийства главного процесса shell-а;
Где угодно...
> DVM
> Панель задач сделать не очень сложно (как оказалось)...
Всё это у меня давно сделано (правда чуть-чуть по другому), возникла другая проблема. Когда отсутствует в системе EXPLORER.EXE или INTERNAT.EXE окна при сворачивании превращаются в маленькие полосочки внизу экрана. От этого я избавился с трудом (но весьма неправильно), а как вы (все) от этого избавились.
← →
msts (2003-01-20 15:41) [79]не вкурсе как сделано в эксплорере
но у меня возник побочный эффект
свернутые окна ложатся под поверхность рабочего стола (моей формы) и их не видно
← →
DVM © (2003-01-20 17:28) [80]у меня окна нормально сворачиваются. Я для этого ничего и не делал специально.
> DeadMeat
Вы их как сворачиваете то?
> msts
А куда они по вашему должны деваться?. Они вообще по идее исчезать должны (это же не Win31). Или они и потом при восстановлении оказываются сзади? Тогда значит вы неправильно реализовали свой "рабочий стол". Не держится он у вас на заднем плане.
Я еще думаю, что многие ваши проблемы из-за того, что вы заменили эксплорер, а не закрыли его при старте своей оболочки.
Страницы: 1 2 3 4 вся ветка
Текущий архив: 2003.08.25;
Скачать: CL | DM;
Память: 0.65 MB
Время: 0.034 c