Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #65, МАЙ 2004 г.

Куда уходят файлы

Дубовцев Алексей

Xakep, номер #065, стр. 065-114-5


После того как вся информация в файле будет многократно перезаписана, программа удалит файл, обратившись к функции DeleteFile. При желании можно закомментировать вызов этой функции, и тогда можно будет легко увидеть, какой бред кладет программа внутрь файла.

Ищем потоки в файлах

fileHandle = CreateFile( szFileName, GENERIC_READ,

FILE_SHARE_READ|FILE_SHARE_WRITE, NULL,

OPEN_EXISTING, 0, 0 );

if( fileHandle == INVALID_HANDLE_VALUE )

return;

streamInfoSize = 16384;

streamInfo = (PFILE_STREAM_INFORMATION)malloc( streamInfoSize );

status = STATUS_BUFFER_OVERFLOW;

while( status == STATUS_BUFFER_OVERFLOW )

{

status = pNtQueryInformationFile( fileHandle, &ioStatus,

streamInfo, streamInfoSize,

FileStreamInformation );

if( status == STATUS_BUFFER_OVERFLOW )

{

free( streamInfo );

streamInfoSize += 16384;

streamInfo = (PFILE_STREAM_INFORMATION)malloc( streamInfoSize );

}

else

break;

}

if( NT_SUCCESS( status ))

{

streamInfoPtr = streamInfo;

while( 1 ) {

memcpy( streamName,

streamInfoPtr->Name,

streamInfoPtr->NameLength );

streamName[ streamInfoPtr->NameLength/2 ] = 0;

….

if( !streamInfoPtr->NextEntry ) break;

streamInfoPtr = (PFILE_STREAM_INFORMATION) ((char *) streamInfoPtr +

streamInfoPtr->NextEntry );

}

CD

На диске ты найдешь полные исходные коды приложения XWipe, а также его рабочую версию. Для компиляции исходников тебе понадобится Microsoft Visual Studio.

WWW

Если ты покупаешь журнал без диска, то ищи на сайте www.xakep.ru исходные коды в разделе Х-релиз.

INFO

При желании ты сможешь расширить функциональность приложения, научив его садиться в трей.

Назад на стр. 065-114-4  Содержание