"Как в С++ написать программу, позволяющую получить доступ к файлу SAM?"
Страницы: 1
Пользователь: diman-189 Сообщений: 2 Статус: Незримый Зарегистрирован: 18 июня 2008, 19:21 Был:18 июня 2008, 19:29 | Дата: 18 июня 2008, 19:28 Сообщение № 1 |
Как в С++ написать программу, позволяющую получить доступ к файлу SAM? |
Пользователь: irvin Сообщений: 1 Статус: Незримый Зарегистрирован: 11 сентября 2008, 21:45 Был:11 сентября 2008, 22:00 | Дата: 11 сентября 2008, 21:59 Сообщение № 2 |
луче всего на асемблере считатть кластеры на винте на том месте где находится этот файл |
Пользователь: DMT Сообщений: 123 Статус: Программист Зарегистрирован: 18 октября 2007, 2:35 Был:13 ноября 2017, 4:54 | Дата: 11 сентября 2008, 23:57 Сообщение № 3 |
Да кстате открываешь винт и ищеш имя нужного файла в MFT, переходишь на первый кластер и далее проходишь по цепочки. В данном случае этот фрагмент не пойдёт!!! Т.к напрямую к файлу обратиться мы не можем. DeviceIoControl нужен идентификатор файла!! Может получица каким нибуть образом его открыть, для получения идентификатора. Если это выйдет, то найдём начальный VCN экстента.
Можно конечно и просканить всё дерево, предварительно конечно расшифровать структуру файловой системы. Просканить напрямую можно примерно так:
|
Пользователь: i386 Сообщений: 6 Статус: Незримый Зарегистрирован: 2 декабря 2008, 17:13 Был:7 декабря 2008, 16:34 | Дата: 2 декабря 2008, 17:42 Сообщение № 4 |
да скорее всего лучше на ассемблере,повкалываешь и в итоге получешь норм прогу |
Пользователь: kiber_shurik Сообщений: 3 Статус: Незримый Зарегистрирован: 24 января 2009, 5:33 Был:24 января 2009, 6:15 | Дата: 24 января 2009, 5:50 Сообщение № 5 |
Здесь очень важны права программы(premissions) и кроме покластерного считывания, можешь попробовать поэксперементировать с дескриптором файла: DuplicateHandle() - для копии handl'ы к файлу CloseHandle() - для закрытия его процессом system но нет гарантии, что ситема переоткроет хэндл и ещё: для этого есть много программ, попробуй их либо дизассемблировать(и вставить hex-код секции, для получения прав в свою программу), либо декомпилировать(для С++ есть плагин[платный вроде бы] под IDA Pro 5.0) |
Страницы: 1