Loader Опубликовано 18 апреля, 2007 Жалоба Поделиться Опубликовано 18 апреля, 2007 Удалил каспера, забыл удалить файловые потоки. Теперь собираюсь их удалить но не знаю как это сделать Да и вообще интересно узнать как можно с ними работать, файлы получаются спрятаны в независимости от операционной системы под которой работаешь. Нет ли утилиты для работы с потоками? Ссылка на комментарий Поделиться на другие сайты Поделиться
veiK Опубликовано 18 апреля, 2007 Жалоба Поделиться Опубликовано 18 апреля, 2007 Здорова Loader: Удалил каспера, забыл удалить файловые потоки. Теперь собираюсь их удалить но не знаю как это сделать Первое что приходит на ум это поставить опять КАВ и правильно все посносить а затем опять его грохнуть. Иначе нада лесть в ГУГЛУ http://forum.kaspersky.com/index.php?showtopic=5921 http://www.google.com.ua/search?hl=ru&...AV+&spell=1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 18 апреля, 2007 Жалоба Поделиться Опубликовано 18 апреля, 2007 Loader: Есть утилиты для работы с потоками. Например, ADS Spy для сканирования файловой системы, показа найденных потоков и их удаления. Ссылка на комментарий Поделиться на другие сайты Поделиться
ser208 Опубликовано 18 апреля, 2007 Жалоба Поделиться Опубликовано 18 апреля, 2007 (изменено) Утиль, так сказать, от создателя :) ftp://ftp.kaspersky.ru/utils/klstreamremo...reamremover.zip Скопируй в корень диска, с которого удаляются потоки, загрузись в безопасном режиме и выполни в командной строке: klstreamremover -r Изменено 18 апреля, 2007 пользователем ser208 Ссылка на комментарий Поделиться на другие сайты Поделиться
Loader Опубликовано 19 апреля, 2007 Автор Жалоба Поделиться Опубликовано 19 апреля, 2007 (изменено) спасибо всем, хотелось бы узнать можно ли самому создавать такие потоки? В принципе удобно прятать информацию, что особенно актуально на переносных носителях ( у меня усб винчестер) Изменено 19 апреля, 2007 пользователем Loader Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 19 апреля, 2007 Жалоба Поделиться Опубликовано 19 апреля, 2007 Loader: Изучаем "MSDN API WIN32/64" Или скачиваем тут MSDN около 1.8 - 2Гб Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 19 апреля, 2007 Жалоба Поделиться Опубликовано 19 апреля, 2007 (изменено) Loader: Поскольку в Windows есть ограничения на работу с потоками через оконный интерфейс, с ними надо работать через командные строки и пакетные файлы. Что не исключает и вызовов кое-каких обычных программ, понимающих потоки. Например, соорудим файл test.bat с содержанием notepad test.txt:hide.txtТеперь можно запустить этот файл, он вызовет текстовый редактор и с его помощью создаст файл test.txt с дополнительным потоком с именем hide.txt. После ввода в редакторе желаемого текста он будет записан в поток hide.txt файла test.txt. После сохранения файла (просто "Сохранить", имя мы ему дать иначе, как в командной строке, не можем) и закрытия редактора можно попробовать открыть файл test.txt - он будет пустым (фактически это основной, безымянный, поток файла test.txt) и с ним можно работать, как обычно. Но если мы снова запустим наш пакетный файл, он откроет в редакторе созданный нами дополнительный поток hide.txt этого файла, и мы увидим и сможем редактировать то, что было записано в нем. Можно создать у одного файла и несколько дополнительных потоков. А вообще с потоками надо работать средствами командной строки. Имя дополнительного потока отделяется от имени файла двоеточием. Кстати, имя файла test.txt было выбрано только чтобы просто показать, что в его основной поток можно записывать и читать независимо от основного потока. Можно было назвать файл test:hide.txt, тогда основной поток будет не привязанным ни к чему файлом. А можно и использовать вместо него уже имеющийся файл какой-нибудь игрушки или программы, только если она не в той папке, в которой наш пакетный файл, надо указать в нем путь к этой программе, чтобы текстовый редактор смог найти ее файл. И тогда новый файл создаваться не будет, а просто у этого exe файла создастся новый поток, который в нашем примере будет открываться текстовым редактором. То есть файл game.exe (например) останется файлом game.exe с игрушкой, и в нее можно будет играть, и никто не будет знать, что если этот файл послать в текстовый редактор как game.exe:hide.txt, то откроется дополнительный поток этого файла, содержащий обычный текст. P.S. у меня усб винчестерЧасто USB винчестеры допускают разметку только в FAT, а там файловых потоков не создать, и при копировании они потеряются. Так что надо сначала проверить, можно ли на твоем винчестере использовать NTFS. Изменено 20 апреля, 2007 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 20 апреля, 2007 Жалоба Поделиться Опубликовано 20 апреля, 2007 (изменено) Продолжу, да простит меня Тролль Процессом (process) называется экземпляр вашей программы, загруженной в память. Этот экземпляр может создавать потоки (thread), которые представляют собой последовательность инструкций на выполнение. Выполняются не процессы, а именно потоки. Причём любой процесс как минимум один поток. Каждый поток квантуется по времени или же по событиям те по прерываниям. Всё это сделанно что бы обеспечить многозадачность. Квантование по времени происходит по вычислению скорости логического источника и приёмника ( в случаи асинхронной передачи) и скорости обмена между ними. Как пример это участок ОЗУ и участок HDD. По событиям немного сложнее, прерывание принимается, ему выстанавливается приоритет, оно ставится в очередь идентичных прерываний, а далее оно квантуется. пример работы с объектом-взаимоисключением. Взято из mfc sdk (источник MSDN) #include <windows.h> #include <iostream.h> void main() { dword res; // создаем объект-взаимоисключение handle mutex = createmutex(null, false, "appname-mtx01"); // если он уже существует, createmutex // вернет дескриптор существующего объекта, // а getlasterror вернет error_already_exists // в течение 20 секунд пытаемся захватить объект cout<<"trying to get mutex...n"; cout.flush(); res = waitforsingleobject(mutex,20000); if (res == wait_object_0) // если захват удался { // ждем 10 секунд cout<<"got it! waiting for 10 secs...n"; cout.flush(); sleep(10000); // освобождаем объект cout<<"now releasing the object.n"; cout.flush(); releasemutex(mutex); } // закрываем дескриптор closehandle(mutex); } Изменено 20 апреля, 2007 пользователем Indomito Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 20 апреля, 2007 Жалоба Поделиться Опубликовано 20 апреля, 2007 (изменено) Indomito: Вообще-то имелись в виду не потоки команд, а файловые потоки. Файл NTFS - это группа файлов в понимании FAT, и отдельные файлы этой группы теперь именуются потоками файла NTFS. Изменено 20 апреля, 2007 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 20 апреля, 2007 Жалоба Поделиться Опубликовано 20 апреля, 2007 Тролль: но любой потокзависит от прерывания или я не прав? Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 20 апреля, 2007 Жалоба Поделиться Опубликовано 20 апреля, 2007 Indomito: Поток - слово многозначное. Есть потоковый ввод-вывод. Есть потоки процессов (потоки команд). Есть потоки файловой системы. Ничем иным, кроме как словом "поток", они не объединены. Есть и еще масса потоков - информационный поток, поток магнитного поля, определенное психическое состояние (например, в игре), в конце концов герои какого-то литературного произведения могут даже пересечь поток вброд - все это разные потоки. Прерывания - это для тех потоков, на которые делятся процессы. А потоки NTFS - из другой оперы. Файл в NTFS - не последовательная цепочка данных, которой является файл FAT, а более сложная структура данных. Вообще-то это даже не какая-то определенная структура данных, а просто абстракция уровня хранения информации, вроде папки в Windows. Деталями ее реализации занимается NTFS и может это делать по-разному. Содержимое файла может быть отдельно хранящейся разветвленной структурой данных, может целиком помещаться в таблице NTFS, все это внутренние дела NTFS. Важно, что файл NTFS - это группа из нескольких частей, называемых потоками и соответствующих обычным файлам или полям в каталогах FAT. Кроме стандартных, к файлу можно добавить свои собственные потоки (ADS - Alternate Data Streams), которые могут использоваться для хранения информации как обычные отдельные файлы FAT - через имя файла NTFS с уточнением через двоеточие, какой именно из потоков файла имеется в виду. Если уточнения нет, то имеется в виду основной поток. Возникли дополнительные потоки как наследство предшественницы NTFS из файловой системы Макинтошей и долгое время не использовались, но свято место (как и четвертый байт в 32-битном формате цвета, сначала пустовавший, а затем принявший в себя альфа-канал), не бывает пусто - со временем туда полезли вирусы, за ними антивирусы и так далее, место постепенно обживается... Посмотри в статье Файловая система NTFS раздел Файлы и потоки, хотя там ИМХО есть некоторые погрешности, но источника лучше не помню. Ссылка на комментарий Поделиться на другие сайты Поделиться
Loader Опубликовано 26 апреля, 2007 Автор Жалоба Поделиться Опубликовано 26 апреля, 2007 Спасибо Тролль многое прояснилось. Винт давно в NTFS, теперь осталось понять как из файла сделать поток, а из потока файл. Сделать два батничка и в принципе от большинства юзеров информация (а это не только текстовые файлы) защищена Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 27 апреля, 2007 Жалоба Поделиться Опубликовано 27 апреля, 2007 Тролль: а как же разквантование потоков, ведь ФС надо ставить потоки в очередь, а другого метода обеспечения многозадачности я не вижу. А прерывание таймерное, которое делит ресурсы. В чем я не прав? Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 30 апреля, 2007 Жалоба Поделиться Опубликовано 30 апреля, 2007 (изменено) Indomito: Слово "потоки" в файловой системе NTFS не имеет никакой связи с потоками в операционной системе, многозадачностью, приоритетами, прерываниями и так далее. Потоками в NTFS называются существующие в ней, по умолчанию скрытые от пользователя, части файла. И квантование у них соответственно, как у любого файла, не по времени, а по дисковому пространству: байты, секторы диска, кластеры... ФС не ставит файловые потоки в очередь, она, как и ее части - файлы и файловые потоки - статичное понятие. Поскольку файловые потоки, как и сама ФС - структуры данных. А потоки ОС - совершенно другое, это потоки (очереди) направляющихся в процессор команд, они квантуются по времени выполнения с использованием таймерных прерываний. Изменено 30 апреля, 2007 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти