Як надійно ховати нотатки та цілі файли на комп'ютері ..


У вас коли-небудь виникала необхідність заховати файл на комп'ютері? Ні, не просто зробити його "невидимим" - включив "показувати приховані і системні" і ву а ля, - і не зашифрувати - "ей, а це що за шифровані файли? чого ховаємо? ", а імено сховати. Так щоб ніхто не знайшов. Щоб не знайшли цікаві батьки, або, навпаки, допитливі діти, щоб не знайшов начальник або, навпаки, підлеглий.

А ще буває потрібно надіслати листа з одним явним змістом і зовсім іншим прихованим, а? Інсайдери та інші шпигуни - но!

Потрібний механізм реалізований у файловій системі NTFS . Цей механізм документований, але не афішується, оскільки призначений для використання самою операційною системою, а не її користувачами.

Механізм називається ADS = Alternative Data Streams, він реалізує можливість дописати совешенно будь-яку інформацію до абсолютно будь-якого файлу в системі, так, що сам файл-носій ніяк не поміняється і не зіпсується.

Оскільки механізм не орієнтований на роботу з них користувачів, ніяких спеціальних інструментів його використання, наприклад віконних додатків з зручним інтерфейсом немає (ну точніше, немає в системі Windows), тому працювати доведеться з командним рядком.

Інструкція Рівень складності: Нескладно Що вам знадобиться:
  • Комп'ютер
  • Файлова система NTFS
  • Мінімальні навички роботи з командним рядком
1 крок

Підготуйте файли до операції. Виберіть файл, який буде носієм, для зручності в цей же фолдер покладіть файл, який треба заховати.

Припустимо для визначеності, як файлу носія, ви вибрали файл carrier.bin, а заховати треба my_secret.txt. Далі у прикладах ми будемо використовувати саме ці імена. Якщо вам не треба ховати цілий файл, а треба заховати всього кілька слів (наприклад декілька паролів або які-небудь ключі доступу), то секретний файл створювати не обов'язково. Нижче я розповім як без нього обійтися.

2 крок

Запустіть консоль (командну строку). Для цього в меню Пуск знайдіть команду Виконати, у вікні,, в рядку Відкрити: наберіть cmd і натисніть OK.

У діалоговому (чорному) вікні повинно бути написано щось на кшталт:

Microsoft Windows [Версія 6.0.6000]
? Корпорація Майкрософт, 2006. Всі права захищені.
З: \ Users \ ваш_сістемний_логін>

і відразу за стрілочкою миготливий курсор. Наберіть команду cd і через пробіл повний шлях до фолдера, в якому вас чекають файли carrier.bin і my_secret.txt. Наприклад:

з: \ Users \ Choock> cd c: \ working_d \ temp

Натисніть ENTER . Якщо ви все зробили правильно, то шлях до ваших файлів з'явиться перед стрілочкою, ось так:

c: \ Working_D \ Temp>

для надійності наберіть команду dir, натисніть ENTER і переконаєтеся що ви перебуваєте в тому фолдера, де лежать ваші файли:

c: \ Working_D \ Temp> dir
Том в пристрої C має позначку System
Серійний номер тому: ... ... ..

Вміст папки c: \ Working_D \ Temp

29.11.2008 15:54.
29.11.2008 15:54 ..
26.10.2008 22:43 AudioCD Copy
29.11.2008 15:53 ??14972 carrier.bin
25.11.2008 10:36 garbage
29.11.2008 15:54 38 my_secret.txt
05.08.2008 13:53 _ScreenCapture

2 файлів 15 010 байт
5 папок 150 262 046 720 байт вільно

c: \ Working_D \ Temp>

Так, вони тут. Можна продовжувати.

Якщо ви зовсім не знаєте як користуватися командним рядком, пошукайте на цьому сайті рада "Як переходити з фолдера в фолдер в режимі командного рядка в Windows" або щось типу цього.

3 крок

Отже, ховаємо. У командному рядку набираємо наступне простеньке "заклинання" і натискаємо ENTER :

c: \ Working_D \ Temp> type my_secret.txt> carrier.bin: secret. txt

Тепер звичайним для себе способом зайдіть в фолдер і видаліть файл my_secret.txt. Більше він вам не потрібен, він надійно захований всередині (ну, умовно кажучи всередині) файлу carrier.bin. На наступному кроці ми в цьому переконаємося, а поки, як і обіцяв, ось що треба зробити щоб заховати не файл а всього кілька слів. Припустимо ховаємо ми їх у тому ж carrier.bin. Набираємо наступну команду:

c: \ Working_D \ Temp> echo "Ось ці слова треба б приховати"> carrier.bin: secret.txt

заховано, переходимо до найцікавішого.

4 крок

Щоб переконатися що у нас все добре вийшло, і що результатами ми зможемо скористатися, набираємо наступну команду:

c: \ Working_D \ Temp> more output.txt

У результаті її виконання, вміст ADC , який ми назвали secret.txt копіюється у файл output.txt (створювати його не треба, він створиться автоматично).


Відкрийте output.txt за допомогою свого улюбленого текстового редактора. Як бачите, його содежімое еквівалентно вмісту файлу my_secret.txt, який ви ховали. Майте на увазі, що скопіювати таким чином можна без втрат лише текстовий файл, будь-який інший в результаті копіювання за допомогою команди more швидше за все буде зіпсований.

Отже, принципова працездатність механізму продемонстрована. Тепер давайте згадаємо про що я говорив на самому початку: як файлу-носія може виступати будь-який файл і ховати можна абсолютно будь-який файл: ролик, картинку, електронний лист, виконуваний файл і, звичайно, як ми переконалися на прикладі, текстовий файл.

Файл носій як би отримує суфікс до свого імені. Суфікс цей ніде в операційній системі не показується, мені відомий тільки один спосіб його побачити. Але навіть для того, щоб скористатися цим способом, треба розуміти хоча б приблизно де шукати файл-носій. Якщо в якості файлу носія ви виберіть один з файлів в фолдера Windows, то знайти його буде нелегко навіть знаючи, що десь там він є. До речі, про фолдера, вони теж можуть виступати носіями секретних додатків.

У всіх операціях з суфіксом він дописується, як ми бачили, після двокрапки. Суфікс може складатися з одного слова, йому не обов'язково давати розширення, але в деяких випадках, як ми побачимо нижче, це корисно.

5 крок

Як використовувати файли з ADS безпосередньо? Взагалі це просто, хоча є тонкощі. Робити це доведеться, з командного рядка, врочем, ви можете написати bat-файл .. і теж його сховати:)

Ви можете неспосредственно переглядати і редагувати свої текстові секрети. Якщо ви дали секреному SDS текстове розширення, то візьміть все ім'я в лапки, як показано нижче.

c: \ Working_D \ Temp> notepad "carrier.bin : secret.txt "

Якщо не давали ніякого розширення, то використовуйте безпосередньо, ось так:

c: \ Working_D \ Temp> notepad carrier.bin: secret

У результаті відкриється вікно notepad і ви зможете відредагувати і зберегти фал, при цьому він так і залишиться захованим у файлі carrier.bin. Майте на увазі, що якщо ви дописали ADS за допомогою команди echo, то notepad цей ADS не відкриє. Тому, щоб ховати тексти, які хочете далі окривать і редагувати в notepad, наприклад, створюйте спочатку файл і копіюйте його в ADS командою type як розказано вище.

6 крок

Але це ще не вся магія. Давайте-но сховаємо куди-небудь цілу іграшку, а потім її звідти запустимо. Нехай це буде наприклад солітер. Робимо теж що робили для текстового файлу:

c: \ Working_D \ Temp> type c: \ windows \ system32 \ sol.exe> ??carrier.bin: game.exe

А тепер командуємо:

c: \ Working_D \ Temp> start. \ carrier.bin: game.exe

Можливо, такий спосіб запуску exe не буде працювати під Вистой, але я думаю, що ховати екзешнік якраз не найактуальніше завдання. Поексперементіруйте з іншими програмами і розширеннями.

Поради та попередження:
  • Мені невідомі випадки псування файлів в процесі або в результаті дописування до них секретних додатків. Незважаючи на це, проявіть обережність - ОБОВ'ЯЗКОВО створіть резервну копію файлу, який плануєте використовувати в якості носія.
  • Майте на увазі, що описаний метод не забезпечує стовідсоткової надійності, фахівець знає про цю особливість файлової системи NTFS все-таки зможе знайти те, що ви ховаєте. Тому описаний спосіб слід визнати "побутовим".
  • Механізм не призначався для користувача, тому його працездатність при роботі через команди типу type, start, more і т.п. ніким не гарантується. Якісь із описаних прийомів можуть не заробити на вашій конкретній системі. Проте, можна з упевненістю стверджувати що у вас вийде ховати таким чином принаймні невеликі текстові файли.
  • Пам'ятайте, що описані доповнення до файлів підтримуються тільки у файловій системі NTFS, при копіюванні файлу на диск з іншою системою, або (що теж саме) при отриманні його поштою і збереження на диску з іншого файловою системою, доповнення не скопіюється і буде втрачено. (Дякуємо Vir за нагадування про необхідність даного попередження).