Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1] 2  Все   Вниз
  Печать  
Автор Тема: Начинающим разработчикам о будущем  (Прочитано 38797 раз)
0 Пользователей и 1 Гость смотрят эту тему.
SlavaI
Главный специалист

ru
Offline Offline

« : 16-07-2006 19:43 » 

 Пробежавшись по форуму хочу напомнить что
 1) В 64 разрядном ядре нельзя хукать( изменять ) таблицу IDT, таблицу системных вызовов и код ядра, система проверяет их и вывесит синяк в релизном варианте без дебагера. Так что не затачивайтесь на это, если у вас не исследовательский интерес для запуска под дебагером.
 2) SoftICE и Driver Studio мертвы и более не будут продаваться, обновляться и поддерживаться( до 31 марта 2007 поддержка только для проплативших ранее ), так что отходите от них.
Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #1 : 19-07-2006 09:17 » 

1) Думаешь не найдется способой этого сделать? Мне так кажется найдется очень много дыр которыми начнут пользоваться! Вы ведь не отказываетесь от вызова недокументированных функций сейчас? Вот так вот никто не будет отказываться от таких же действий и в будушем!

2) Пусть DriverStudio умерла, но это не повод отказываться от ее использования. Код в DriverWorks вполе можно адаптировать к будуим версиям DDK, если вообще это прийдется делать! Ребята постарались, да есть там баги, которые пришлось исправлять, но на то тебе голова и дана  чтобы думать!

Как будет на самом деле в будушем - поживем увидим!
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #2 : 19-07-2006 09:56 » 

1) Ты лично можешь делать как хочешь, реализация защиты известна, но обойти ее можно только отключив ее тотально или сильно зависисмым от текущей сборки способом( при этом способ защиты может меняться с каждым билдом ), то есть неприменимо для стандартного коммерческого продукта. К тому же для исследования можно запускаться под дебагером и делать что угодно. Кстати я отказываюсь от вызова недокументированных функций, хотя бы потому что они могут быть реализованы по разному в разных версиях, примеры есть, вплоть до сваливания в синяк.
 
2) Еще можно пользоваться DOSом и Windows 3.1 тоже не повод отказываться.

Особо мило звучит фраза "но на то тебе голова и дана  чтобы думать" так и представляю драйвер для 64 битной Vista, написанный на DriverStudio и хукающий ядро, коммерческий успех обеспечен, ведь разработчик так упорно напрягал голову, награда неизбежна.
« Последнее редактирование: 19-07-2006 10:04 от SlavaI » Записан
Scorp__)
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 19-07-2006 10:02 » 

SlavaI, можно еще добавить, что для Vista не обойтись теперь только 32-х разрядным драйвером, придется поддерживать еще 64-х разрядный. И все надо подписывать, при установке неподписанного 64-х разрядного драйвера пользователь Висты не сможет производить некоторые действия, в частности, загружать защищенный контент. Информация взята из NT Insider.
Записан

- А Вы сами-то верите в привидения?
- Конечно, нет, - ответил лектор и медленно растаял в воздухе.
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #4 : 19-07-2006 10:06 » 

Я так понял, что защитники хуков и DriverStudio, будут обречены работать только под дебагером, а там подписывать не надо.  Улыбаюсь
Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #5 : 19-07-2006 10:09 » 

А нука расскажи мне каким ты представляешь коммерческий проект который должен хукать ядро легальными методами? это раз!
Второе - да хоть 128 битная выйдет - не важно. Основы заложеные в DriverStudio вполне можно адаптировать под новый DDK. Это личное дело каждого!
Кому какой отладчик выбрать умерший SoftICE или WinDBG тоже дело такое. Пусть ребята учатся пользоваться тем и другим! Опыт отладки лишним не будет!
И еще раз говорю, тогда выйдет релиз Vista тогда и будем зарекаться!
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #6 : 19-07-2006 10:19 » 

Коммерческие проекты, которые хукают ядро являются или узко специализированными и не покупаются обычными юзерами, обычно это серверные продукты заточенные под определнную сборку, некоторым нужны pdb файлы.
Вот сразу видно что с основами у вас проблемы. Вы хотя бы понимаете что в ядре нет библиотеки поддержки C++ и ее надо писать самому если что то меняется( не знаю написали ее в DriverStudio для 64 битов или нет ). Думаю первоначальное восхищение этой библиотекой у вас пройдет.
А совет юзать SoftIce нужно расматривать как вредительство, рекомендовать худшее не очень хорошо.
« Последнее редактирование: 19-07-2006 10:26 от SlavaI » Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #7 : 19-07-2006 10:46 » 

Да в ядре нет поддержки С++, но обвертка класснов которая приводится в DriverWorks вполне для этого подходит, взгляни на код.

1-е откуда у Вас вообще взялось основание утверждать что используя DriverWorks я якобы считал что в ядре есть поддержка С++?
2-е я не опускал Ваше мнение, говоря о недостаточной квалификации в разработке драйверов, и не  брался утверждать в чем Ваши проблемы!
3-е Если я захочу использовать С++ в проектах для 64 и выше, я возьму за основу DriverWorks и минимальными переделками подружу ее с новыми DDK
4-е Опять же Вы опускаете SoftICE! Научится отлаживать и понимать процесс отладки можно в SoftICE, и он ни чем не хуже Вашего приподнесенного WinDBG.
5-е Вы даже не соизолили взягунуть есть ли поддержка 64-бит в DriverWorks, но яросно пытаетесь ее полить грязью. Есть хорошее выражение "Давайте спорить о вкусе устриц с теми кто их ел!"

Записан
maaaaaad
Гость
« Ответ #8 : 19-07-2006 14:24 » 

Так и знал что эта хлипкая надстройка DriverStudio рано или поздно развалится и на нее забьют  Улыбаюсь) С++ можно использовать в ядерном коде и без DriverStudio , классифицированные ядерные обьекты это хорошо но исторически так сложилось что для ядра использовался не обьектный код. И переделывать уже никто ничего не будет.  Не-а...
Айс жалко, конечно.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #9 : 19-07-2006 14:42 » 

IRP вы очень агрессивный гражданин и со своим подходом рискуете застрять в глубоком прошлом.
Я отвечал Вам в вашем же стиле, как пример ваша фраза "Думаешь не найдется способой этого сделать? ", а с чего Вы решили что я не знаю как это сделать. Я знаю и знаю что ничего хорошего в этом нет. Ядро защищает само себя на том же уровне привилегий что и работают драйвера, это значит что защита может быть основана только на обфускации( так оно и есть ), то есть снять ее можно, но результат не очень или непортабелен.
DriverWorks я никакими плохими словами не называл, только сказал что надо с нее уходить, как с закрытого проекта. Вы же очень агрессивно это восприняли, рассказывая про какие то "основы".
« Последнее редактирование: 19-07-2006 14:48 от SlavaI » Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #10 : 19-07-2006 14:46 » 

Нет ни сколько не рискую! Знания так или иначе пригодятся, а вот с Вашим подходом у Вас будет дифицит!
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #11 : 19-07-2006 14:49 » 

Дефицит чего позвольте узнать( денег, работы, проектов)? И о каких знаниях вы говорите?
Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #12 : 19-07-2006 14:54 » 

И потом, я больше чем уверен, что если бы прокт SoftICE стал открытым, то нашлись бы люди которые на голом интузиазме продолжали бы его поддерживать и дружить с новыми ОС. Не хочу скахать что WinDBG хуже, но в некоторых моментах SoftICE еще нет равных. Хотя бы взять банальный пример с неверным доступом к памяти! SoftICE всплывет имено в тот момент когда произойдет исключение, в WinDBG мы остановимся уже далего далеко в ядре - обоботчике исключения, и прийдется анализировать стек, чтобы всетаки понять где и почему произошел сбой...
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #13 : 19-07-2006 14:59 » 

Проблема неясна, стек не можете проанализировать? Он простой как пробка в случае если PTE невалиден и не может быть сделан валидным- вы получаете KeBugCheck с нормальным стеком. В случае обрабатываемого исключения- тоже не проблема, так как сохранен контекст.
 Вам говорят СофтАйс мертв, вы кричите- ему нет равных. Чего вы хотите, убедить что наде его использовать. Нет не надо, так как в результате придется переходить на другой отладчик но с большими мучениями.
Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #14 : 19-07-2006 15:03 » 

Я имел в виду дифицит в опыте работы с драйверми, уже сейчас Вы направляете людей одном направлении. Почему бы не порекомендовать покрайней мере разобраться с тем, что уже сделано и есть? Подчеркнуть из этого что то полезное! Пусть даже написаное на классах С++. По большому счету библиотеки STL в ядре до DriverWorks не применялась, а это довольно полезная библиотека! С подходом давай те забывать старое и изучать только новое - я не очень согласен.
Записан
maaaaaad
Гость
« Ответ #15 : 19-07-2006 15:08 » 

Да, Слава, рекомендуй разбираться с дебагером debug для DOS для новичков для начала
Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #16 : 19-07-2006 15:08 » 

Я не кричу, а лишь говорю что в некоторых моментах ему действительно нет равных! Пожалуйста - научитесь владеть и тем и другим отладчиком, без каких либо серъезных мучений.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #17 : 19-07-2006 15:09 » 

То есть незнание СофтАйса и ДрайверВоркса это большой дефицит? Что то я не припомню чтобы их знание было требованием хоть у одного серъезного работодателя. Есть много других более интресных и важных вопросов из теории операционных систем и взаимодействия компонентов системы.
P.S.А вот незнание WinDBG сильно уменьшит вашу зарплату. Улыбаюсь
« Последнее редактирование: 19-07-2006 15:12 от SlavaI » Записан
maaaaaad
Гость
« Ответ #18 : 19-07-2006 15:10 » 

STL - мусор Улыбаюсь как и C++ Улыбаюсь DriverWorks мертв, ура, товарищи Улыбаюсь
Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #19 : 19-07-2006 15:11 » 

Нет, тоесть опыт приобретеный в их использовании - никогде не станет лишним!
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #20 : 19-07-2006 15:15 » 

Конечно не станет, но зачем его начинать приобретать сейчас? Я же написал- начинающим! Гуру могут и дальше юзать ДрайверВоркс и СофтАйс.
Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #21 : 19-07-2006 15:16 » 

Цитата
А вот незнание WinDBG сильно уменьшит вашу зарплату.
Я сказал учитесь пользоваться тем и другим!

Цитата
STL - мусор Улыбаюсь как и C++ Улыбаюсь DriverWorks мертв, ура, товарищи Улыбаюсь
Ну удачи Вам в Ваших разработках.
Кстати maaaaaad! отзываться так о STL теперь уже говорит о Вашей компетентности в области С++ не только в драйверах, а в общем!
« Последнее редактирование: 19-07-2006 15:20 от IRP » Записан
maaaaaad
Гость
« Ответ #22 : 19-07-2006 15:30 » 

Наезд без комментариев. Тебе сколько лет Улыбаюсь
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #23 : 19-07-2006 15:33 » 

"We don't know MFC, COM or almost any of that other programming that happens up in user-mode." ну эти тогда вобще дети. Откуда фраза не скажу.
 Нормальный отзыв кстати о STL, и не любить C++ это его личное дело. Не всем нравится усложненный синтаксис и неочевидная семантика, я вот язык с семантикой и синтаксисом близким к C# или Java предпочту.
« Последнее редактирование: 18-12-2007 21:52 от Алексей1153++ » Записан
maaaaaad
Гость
« Ответ #24 : 19-07-2006 15:59 » 

Ну зря я конечно так о C++ Скромно так..., тестовое приложение ща пишу на С++ MFC, чтобы прыщавому студенту (или старперу математику Здесь была моя ладья...)  было проще разобраться...
« Последнее редактирование: 19-07-2006 16:03 от maaaaaad » Записан
maaaaaad
Гость
« Ответ #25 : 19-07-2006 16:19 » 

Что я знаю - автор плохого не посоветует..... Улыбаюсь
Еще один хороший отладчик будет только в плюс Ага

Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #26 : 19-07-2006 17:34 » 

maaaaaad, в таких случаях спрашивать "сколько тебе лет" - показать своё бессилие  Улыбаюсь
Смешно выглядит. Как будто возраст имеет значение тут. Ну ответит он - 3 года, ну ичто? станешь потрясять седой бородой?
Записан

IRP
Постоялец

ua
Offline Offline

« Ответ #27 : 19-07-2006 18:13 » 

Цитата
Ну зря я конечно так о C++
Я бы сказал что наш разговор проходил с гАряча и Ваш и Мой и Славика.
Никого не хотел обидеть.
Что хотел сказать:
Не стоит списывать труды вложиные Compuware со считов. Говорить что ребята не постарались тоже не правильно! Скажим так долгие годы еще со времен DOS пользовались NuMega продуктами и теперь в сложившейся ситуации каждый из сторон пытается отстоять право за лучший продукт или разработку, я имею в виду SoftICE и WinDBG.
В общем учится нужно и набирать опыт и там и там, где кому будет проше, особено если пытаешся разобраться с внутреней работой системы! А зная ее тонкости, драйвера будут писаться уже на уровень выше и багов будет меньше, что будет нас заставлять реже пользоваться отладчиком. Так что  молодым начинающим специалистам этой области просто нужно не стоять на месте и не списывать со счетов то, что вполне нормально работает.

Сейчас эра компакт дисков, а ведь слушают же люди пластинки! и уверен что практически любой любитель винила знает как считывается запись с компакт диска, а не каждый CD-man блеснет принципами работы простой грам-пластинки. Так вот чтобы не быть таким, нужно развиваться во всех напрвлениях, оно еще пригодится!
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #28 : 19-07-2006 19:52 » 

А вот про CD и винил ты не прав, абсолютно. Если человек знает как работают коды Рида-Соломона, да еще может и математическую теорию объяснить, да еще и расскажет принцип работы твердотельного лазера( а если еще теорию с точки зрения квантовой механики а не школьной физики ), то простой аналоговый перевод изгибов винила в электрические сигналы и рядом не стоит( я абсолютно уверен что тот кто знает принцип записи и считывания CD, знает про винил, так как точно в школе видел картинку граммофона Эдисона, это то у которого раструб торчит и барабан ). Скажем так- перевод механических колебаний в электрические - это уровень школы, теория конечных полей и квантовая механика - это уже университет.
« Последнее редактирование: 19-07-2006 19:58 от SlavaI » Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #29 : 20-07-2006 07:10 » 

Раз мы уже на Ты, то давай так.
Снова меня не понял. Я не говорил про глубокий анализ знания работы того или другого,
а лишь о принципах работы.
О человеке который знает как работают коды Рида Соломона здесь речь не идет.
Возми обычного пользователя CD и обычного слушателя винила.

В общем так мы так будем дискутировать вечно!

Пусть каждый сам для себя выбирает как ему заниматься програмированием драйверов и какими отладчиками пользоваться!
Записан
Страниц: [1] 2  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines