Программа Для Незаметного Копирования Флешки В Компьютер

Нужна прога для скрытого поиска и копирования файлов. Резервное копирование всей информации с переносных носителей пользователя. USB Stealer 2.8 - Мощный инструмент для скрытого копирования. Вы также можете ознакомится с обратным стиллером (с компьютера на флешку).

Программа Для Незаметного Копирования Флешки В КомпьютерПрограмма Для Незаметного Копирования Флешки В Компьютер

Программа для скрытого копирования данных с флешек.

Простейшая флешка- граббер. Для простых смертных флешка – это девайс для переноса документов/фильмов/фоток и другой личной (а иногда и очень личной) информации. А вот для хакеров флешка – это одновременно и жертва, и боевой инструмент. Сегодня я расскажу все тонкости незаметного слива данных с флешек к себе на комп, а также научу превращать безобидные флешки в программы для резервного копирования паролей с «большого» компьютера. Ловушка для чужих флешек.

Идея программы «Злобный комп» будет заключаться в следующем. Мы разработаем небольшую тулзу, которая будет притворяться супер- мега продвинутым антивирусом, цель которого - качественное удаление с флешек «опасных» вирусов. Зараженной вирусами флешкой уже никого не удивишь, поэтому наш специализированный «антивирус» не вызовет у доверчивого пользователя опасений. Наоборот, вставив флешку к тебе в комп и увидев сообщение типа: «Обнаружен вирус. Произвожу детальное сканирование всех файлов на предмет наличия зараженных», – он обязательно подождет завершения данной операции.

Подготовка инструментов. Писать столь полезную программу мы будем на модном нынче C#. Гибкость языка и широкий функционал платформы .

NET позволяют разрабатывать приложения с молниеносной скоростью. Именно это нам и нужно. Нас интересует урожай, который мы сможем собрать, а не утомительный процесс кодинга. Одной из важных составляющих нашего приложения будет интерфейс. Чем солиднее ты его сделаешь, тем больше шансов, что жертва не заметит подвоха и спокойненько будет ожидать завершения антивирусного сканирования.

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

Итак, наш антивирус должен начинать свою грязную работу во время инсталляции флешки. Как только новый диск появляется в системе, наша программа должна определить его букву и начать копирование. Перед тем как я взялся писать эту статью, мне на глаза попался исходник подобной программы. Автор примера определял факт присутствия флешки путем периодичного перебора всех дисков на предмет наличия драйва типа «съемный носитель». Сначала я думал пойти тем же путем, но внутренний голос подсказывал о нерациональности.

Взвесив все «за» и все «ну его на», я отбросил эту идею и пошел прогуляться на MSND. Через пять минут оказалось, что сделал я это не зря. Ответ был найден! Без Win. API никуда.. Эффективней всего узнать о подключении нового оборудования (в нашем случае – флешки) можно путем отлова и анализа сообщения WM. Во время инсталляции девайса мессадж рассылается всем окнам, и мы достаточно легко можем его обработать в своем приложении. Для этого достаточно лишь описать функцию Window.

Proc. На практике выглядит примерно так: LResult CALLBACK Window. Proc (. HWND hwnd, //идентификатор окна. UINT u. Msg, //идентификатор сообщения. WPARAM w. Param, //событие, которое произошло. LPARAM l. Param //указатель на структуру содержащую данные. В теле функции тебе необходимо сравнить значение параметра WParam с идентификаторами различных событий, относящихся к сообщению WM.

Для нашего примера это будут: DBT? Устройств с возможностью «горячего подключения» (я про usb) огромное множество (принтер, сканер, модем и т. К счастью, и эта проблема решается достаточно просто.

По параметру LParam мы можем обратиться к структуре . Вот, исходя из значения это поля, и делаются соответствующие выводы. Если оно равно DEV. Как в «Поле чудес», можно ее угадать, но лучше выдернуть информацию из структуры DEV.

Учти, что в этом свойстве содержится лишь бит буквы, а не ее символьное представление. Например, если значение 0, то буква диска будет A; если 1, то B и т. Для удобства получения символьной буквы лучше всего написать функцию. Если ты давно читаешь нашу рубрику и хорошо знаком с API- функциями, то в чтении следующей части статьи нет необходимости. Открывай редактор и начинай ваять приложения. Все необходимые структуры и функции я описал; тебе остается их собрать в программу.

Определяйся, а я начну погружение в . NET и C# в частности. Ударим . NET'ом. Время приступать к практике и применить знания к языку C#. Где заявленная молниеносная скорость разработки?». В чем- то ты прав. Наше приложение действительно будет использовать Win.

API- функции (проще никак), но сами мы их описывать не будем. С проблемой определения флешек сталкивались многие разработчики. В результате этих стычек стали появляться бесплатные классы для C#, в которых уже реализован весь необходимый функционал.

Нам остается только подключить такую заготовку (читай компонент) к своему проекту и вызвать пару методов. Одним из таких классов мы сейчас и воспользуемся. А вот знание структур, описанных выше, тебе обязательно пригодится при переносе этой программы на Windows API.

Готовых классов, решающих подобные задачи, великое множество, но мне больше всего понравился вариант от Jan Dolinay. Этот человек написал очень простой в использовании и понимании кода класс Drive. Detector, который умеет: Определять факт подключения флеш- накопителя. Определять запрос на отмонтирование подключенной флешки. Определять факт отключение флехи. Получать букву диска вновь подключенной флешки. Предоставлять список открытых с флешки файлов.

И самое главное, с этим классом чрезвычайно просто работать – в этом ты сейчас убедишься. Подключение класса к своему проекту выполняется стандартным образом, и останавливаться на этом смысла нет. Поэтому перейдем сразу к инициализации. Выполняется она так: flash. Drive. Detector = new Drive. Detector(). flash. Drive. Detector. Device.

Arrived += new Drive. Detector. Event. Handler(On. Drive. Arrived). flash.

Drive. Detector. Device. Removed += new Drive. Detector. Event. Handler(On. Drive. Removed); После создания экземпляра объекта класса Drive. Detector я определяю обработчики событий Devie.

Arrived() и Drive. Removed(). По их названию нетрудно догадаться, за что они отвечают. Весь код инициализации лучше всего писать в метод Form. Основной код нашей программы будет находиться в обработчике события Device.

Arrived. Его текст ты увидишь на врезке: string dir. Name =. Environment. Get. Command. Line. Args(). Выполнять копирование будем в директорию «flash.

Определившись с именем папки, я пытаюсь создать ее с помощью функции Create. Directory(). Эту функцию я написал исключительно для удобства.

В ней происходит создание экземпляра объекта Directory. Info, предназначенного для работы с директориями, и вызов его метода Create(), который и создает новую папку. После создания папки можно выполнять копирование. Копирование всех файлов я выполняю с помощью объекта типа x. Directory. Если ты набираешь код из листинга самостоятельно, то при попытке компиляции компилятор разродится ошибкой, в которой черным по белому будет сказано: «Объект такого типа не найден».

Дело в том, что x. Directory - сторонний класс. Когда- то давным- давно я его нашел на просторах инета и с тех пор частенько использую в своих проектах. Мне он нравится тем, что для копирования вложенных папок достаточно вызвать один метод. Кроме того, он позволяет устанавливать фильтры. Реально обойтись и без него.

Берем стандартные классы, хорошо знакомый всем программистам прием – рекурсию – и пишем пару десятков строк кода. Увы, этого я делать категорически не хочу. На дворе XXI век, нужно по максимуму оптимизировать свои действия и x.

Directory нам в этом поможет. Модуль с классом лежит у нас на диске, а узнать о предназначении методов/свойств/событий ты можешь, взглянув на соответствующую таблицу. Свойства класса x. Directory. Свойство. Описание. Source. Источник копирования.

Destination. Получатель. На указанный здесь путь будут скопированы все найденные файлы. Overwrite. Перезапись. Если true, то существующие файлы будут перезаписываться.

Folder. Filter. Фильтр для папок. File. Filters. Коллекция, содержащая фильтры для файлов. Методы класса x. Directory.

Метод. Описание. Start. Copy. Запуск процесса копирования.

Cancel. Copy. Остановка процесса копирования. События класса x.

Directory. Событие. Описание. Item. Indexed. Презентация Педагога Психолога Доу. Event. Handler. Возникает при индексировании очередного файла/папки. Index. Compleate.

Event. Handler. Происходит во время завершения создания списка копируемых файлов. Item. Copied. Event. Handler. Срабатывает во время копирования очередного файла. Copy. Complete. Event.

Handler. Возникает при полном завершении копировании файлов. Попробуй запустить наше приложение и вставить флешку. Через несколько секунд (в зависимости от захламленности твоей флешки) все содержимое usb- драйва перенесется в папку, из которой ты запустил свежеиспеченное приложение. USB граббер. Теперь рассмотрим обратную задачу и поговорим о нюансах создания т. Принцип создания точно такой же. Тебе нужно написать простенькое приложение, которое будет автоматически запускаться после инсталляции флешки.

В процессе работы приложение будет шерстить по папкам/ключам реестра, в которых популярные программы хранят сохраненные пароли и по возможности копировать всю инфу в одну из своих папок. Чтобы твой авторан не вызвал подозрений у бедного юзера, потрудись тщательно его замаскировать. Например, под launch- меню. Ты, наверное, в курсе, что сейчас стали очень популярны так называемые portable- версии приложений, то есть программы, умеющие работать прямо с флешки.

На этом лучше всего и сыграть. Оформи программу в соответствующем стиле и для правдоподобности брось несколько кнопок, предназначенных для запуска каких- либо программ. Мой вариант оформления представлен на рисунке. Как будем грабить?

Сразу скажу, что супер- хакерских действий здесь совершать не нужно. Большинство программ хранят личные данные в папке Documents and Settings\Пользователь\Application Data\%Program.

Name% или в реестре. Под Program. Name подразумевается любая программа.