santa_claus_rpm: (Default)
[personal profile] santa_claus_rpm
Я тут решил, что в общеобразовательных целях могу тиснуть небольшую информацию из своей прошлой жизни.
Как обычно в популярном виде!



Итак, если у вас w2k/XP и файловая система - NTFS, то для ознакомления с alternative data streams (ADS) выполните несложное упражнение.
Например, перейдите в папку %SystemRoot%

cd %SystemRoot%


, сделайте резервную копию файла notepad.exe и исследуйте следующие команды.

echo dir > notepad.exe:hidden_stream
more < notepad.exe:hidden_stream | cmd


Т.е. мы "спрятали" команду dir в файл notepad.exe в поток с именем hidden_stream. Обратите внимание, что размер и данные файла notepad.exe при этом не изменились!

Можно спрятать еще кое-что:

type eicar.com > test.txt:hidden_test_virus


и затем выполнить:

more < test.txt:hidden_test_virus | cmd


(Естественно, что современные антивирусы прекрасно осведомлены об ADS)

Для понимания сути происходящего необходимо вспомнить, что с точки зрения NTFS файл - это совокупность пар атрибут-значение. Один из атрибутов содержит собственно сами данные, т.н. основной неименованный поток, другие атрибуты включают имя файла, временные метки и т.п. Каждый атрибут хранится как отдельный поток байтов. Поэтому NTFS читает/пишет не файлы, а потоки атрибутов. И делает это через стандартные функции Win32 API: CreateFile(), ReadFile(), WriteFile().
Дополнительная информация находится в MSDN "A Programmer's Perspective on NTFS 2000 Part 1: Stream and Hard Link" (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/ntfs5.asp).

If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

santa_claus_rpm: (Default)
santa_claus_rpm

December 2020

S M T W T F S
  12345
6789101112
1314 1516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 28th, 2025 10:14 pm
Powered by Dreamwidth Studios