![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
API Hook нужен на функции CopyFile/CopyFileEx и MoveFile/MoveFileEx, см. http://www.codeproject.com/system/hooksys.asp
-------------------- ![]() |
|||
|
||||
ANDeath |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 9.4.2006 Где: Краснодар Репутация: нет Всего: нет |
mr.DUDA, а как это хук на CopyFile b MoveFile, они же ничего в очередь сообщений не кидают?
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Почитай плз ссылку что я дал выше. API хук и windows hook разные вещи. API hook юзает вин-hook для инжекции в чужое адресное пространство, но по сути своей и назначению - совершенно другая область: api-hooks = перехват вызовов WinAPI функций, win-hooks = перехват оконных сообщений. -------------------- ![]() |
|||
|
||||
ANDeath |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 9.4.2006 Где: Краснодар Репутация: нет Всего: нет |
mr.DUDA, на данный момент, имеет ли смысл изучать это все? смогу ли я после всего узнать куда был скопирован файл, и определить является ли пункт назначения съемным носителем (cd, флешка, внешний хард)?
Это сообщение отредактировал(а) ANDeath - 17.11.2006, 15:04 |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Да, путь source и destination в обеих функциях есть, этого достаточно.
Это придётся отдельно сделать - в .NET есть стандартный класс DriveInfo, у него можно это узнать. Если нужна более детальная инфа о типе носителя (например, отличить флешку от флопика), то помогут классы из неймспейса System.Management -------------------- ![]() |
|||
|
||||
ANDeath |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 9.4.2006 Где: Краснодар Репутация: нет Всего: нет |
mr.DUDA, во-первых, большое спасибо за консультацию, приступаю к изучению апи-хук
![]() во-вторых, а по букве из пути destination нельзя ли определить тип запоминающего устройства? для флопи это понятно будет - диск A для флешки и мобильного харда, может можно как-нибудь определить через апи-функции? а вот как отследить запись на cd - явно проблема... |
|||
|
||||
Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 3 Всего: 16 |
Обычно дисковод блокируется во время записи (иногда его блокируют также некоторые инсталляторы, но редко) Так что если заблокирован, то скорее всего что-то пишут. Так один приколист сделал прогу, "запоминающую" первый обнаруженный дисковод, и если производилась запись, то отправлял комп в ребут. Если вставлялся другой дисковод - все было нормально. И так несколько дисководов хапнул как сломанные.
Вот для этого и существуют классы, названные mr.DUDA. -------------------- Разочарованный в .NET |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
-------------------- ![]() |
|||
|
||||
ANDeath |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 9.4.2006 Где: Краснодар Репутация: нет Всего: нет |
Кажется, меня не так поняли...я хотел узнать можно ли определить тип зап. устройства по имени, ограничиваясь языками с++ и vbs, ну не хватит мне времени чтобы еще в .NET ковыряться...
Softaz, а как связать: сидюк блокируется после начала записи и перехват апи-функций копирования? Насколько я себе это представляю, проги типа стандартного win-резака и nero про запоминают список необходимых файлов (ссылки на них), а потом просто читая эти файлы, пишут на CD. Так? P.S.: вопрос о литературе и примерах об api-хуках остается открытым и крайне актуальным. Ссылка на пример? предоставленная mr.DUDA, безусловно является крайне полезной, но не достаточно информативной для меня. В нете нашел как писать апи-хуки на pascal, да вот только видно не владею им в достаточно степени. Это сообщение отредактировал(а) ANDeath - 18.11.2006, 13:26 |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Тогда эта тема - кандидат на перемещение в один из указанных разделов. ![]() -------------------- ![]() |
|||
|
||||
ANDeath |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 9.4.2006 Где: Краснодар Репутация: нет Всего: нет |
mr.DUDA, если бы там отвечали, я бы здесь не сидел...
![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
ANDeath, так или иначе, по C++ и VBS никто здесь советов не даёт.
-------------------- ![]() |
|||
|
||||
ANDeath |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 9.4.2006 Где: Краснодар Репутация: нет Всего: нет |
Триумфальное возвращение к .NET
![]() Средствами WMI и VBS ничего неудалось поделать; основная проблемма заключается в том чтобы узнать путь к файлу, который был скопирован. Копал и Api-hook для CopyFile, но работает это не слаженно и его можно легко обойти.... Так же смотрел исходники filemon с его виртуальным драйвером - слишком много гемороя... И вот я вернулся к .NET...просмотрел, на скорую руку, синтаксис C#...и пространство имен System.IO. И опять возникает вопрос можно ли понять какой файл был скопирован? Хотя бы следить за событиями чтения файлов? Я уже даже незнаю как решать эту проблему, может как-нибудь связывать событие создания файла с процессами (просто предположение). Я уже не вспоминаю про запись на компакт-диски... |
|||
|
||||
Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 3 Всего: 16 |
Ты внимательнее ответы читай ![]() Вот здесь http://forum.vingrad.ru/s/07187540e1f9ed26...ic-121301.html# в аттаче целая программка -------------------- Разочарованный в .NET |
|||
|
||||
ANDeath |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 9.4.2006 Где: Краснодар Репутация: нет Всего: нет |
[b]Softaz[/b,
Во-первых эта программа у меня только запустила форму и отказалась как-либо реагировать на нажатие кнопок и на события происходящие в папке, указаной в xml-документе...может она только показательная и оно так и надо, но... Во-вторых, я просмотрел все скрипты и натолкнулся только на один, нужный мне и заодно подвласный моему разумению... так вот, я не понимаю каким образом здесь возможно отследить за копированием? теже события что и в WMI: создание/модификация/удаление, ну и переименование добавили. FormMain.cs
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |