· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Как прочитать слайс в конце файла?

Посл.отвђт Сообщенiе


Дата: Янв 13, 2004 05:20:19

В свежеопубликованной главе из цикла о крэкинге by CyberManiac упоминается любопытный топик - "слайсы", которые используются в некоторых защитах, т.к. чайник эти слайсы просто не увидит. Но я тоже не очень хорошо представляю себе принцип работы со слайсами... :-))) Записать эти дополнительные данные между концом файла и концом кластера, IMHO, можно через стандартные API, а как их потом прочитать? Безопасно ли такое делать на NTFS? Может где-то статьи лежат по этой теме? По ключевому слову "слайс" ничего не нахожу...


Дата: Янв 13, 2004 06:34:07

Хочешь, у автора спрошу?


Дата: Янв 13, 2004 18:37:41 · Поправил: Quantum

Хочу! Мне это очень интересно, особенно с программерской точки зрения, т.е. не утилиты для низкоуровнего доступа к файловой системе, а теория этого самого доступа применительно к слайсам и безопасно ли всё это... Заранее спасибо!


Дата: Янв 13, 2004 18:59:57

Интересно, а при дефрагментации что-нибудь изменится?


Дата: Янв 13, 2004 19:26:48

Теоретически, не должно... под FAT32 по крайней мере, если слайс не переходит границу кластера, но с NTFS всё гораздо сложнее, т.е. я её плохо знаю :-)

С другой стороны, если юзверь запустит какой-то "левый" дефрагментатор, затрёт мой слайс и демо-версия моей проги перестанет работать, то так ему [юзверю] и надо! ;-)


Дата: Янв 13, 2004 20:22:35 · Поправил: CyberManiac

Quantum
---
В свежеопубликованной главе из цикла о крэкинге by CyberManiac упоминается любопытный топик - "слайсы"
---
Дико извиняююсь - попутал похожие термины. В оригинале были "слэки" Надлежащее количество волос из задницы уже вырвано :-), просьба исправить баг - отправлена.

Абсолютно точно известно, что защиты на основе слэков функционировали под ДОС и Win95/98 (про ME просто не знаю). Под XP на FAT32 у меня не работает (по крайней мере, средствами WinAPI).

Чисто технически слэки создаются обычным "удлиннением" файла (нужно только, чтобы данные влазили в остаток кластера). Читаются при помощи API'шной функции изменения размера файла (после записи "секретных данных" укорачиваем файл, а когда надо, меняем размер в бОльшую сторону и смотрим, что нового появилось в файле). Понятно, что нужно учитывать размеры кластеров, но это в принципе не проблема.


Дата: Янв 13, 2004 20:57:55

Еще Аркадий добавил:

Это когда на FAT кластер, скажем, 32k, а файл, скажем, 10*32+5k - тогда
в последнем кластере образуется "дыра" в 32-5=27k. Впрочем, это довольно не
надёжно: при любом переносе хвоста (дефрагментация, копирование,
архивирование) этот хвост будет потерян (за одним маловероятным
исключением). Также, вряд ли возня со "слэками" будет работать на других FS,
кроме FAT.


Дата: Янв 13, 2004 21:42:37

Жаль, а то я уже слюну пустил :-) Хотел в слэки сохранять регистрационную инфу, чтоб она терялась при копировании (это фича, а не баг :-) Компрессия, я так понимаю, имеет отношение к самой файловой системе (потому я и вспомнил про NTFS), а не к winzip и т.д.

CyberManiac
про ME просто не знаю
У меня в ME работает запись, но после "удлиннения" читаются нули :-(

Всем спасибо за участие!

CyberManiac
Аркадий Белоусов | volodya
Большое спасибо!!!


Дата: Янв 13, 2004 22:29:27

Я конечно не специалист в этом деле..
Но на уровне ниже файловой системы должно же все читаться / писаться блоками кратными, скажем, 512.


Дата: Янв 17, 2004 18:17:23

Интересно, а при дефрагментации что-нибудь изменится?
Помнится, есть непереносимые (системные) кластеры. Можно ли сделать кластер со слайсом системный?


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.101