|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.02.2011, 03:18 | #1 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
Копирование занятых файлов
На сайте wasm.ru прочитал статью "3 метода работы с занятыми файлами"
Там вместе со статьёй даны и исходники но только к сожелению на языке С Мне пондравился способ номер 3 "Чтение файла с помощью прямого доступа к диску" Я ради интереса попытался перевести это на ассемблер (masm32) но к сожелению встал на функции DeviceIoControl Вторым параметром этой функции указана константа FSCTL_GET_RETRIEVAL_POINTERS но в masm32 такой константы нет В библиотеке MSDN она есть только как её пристроить в код на masm32 я к сожелению так и не понял Алгоритм кода который дан в статье описывается такой дословно: "На выходе этой функции мы имеем массив описывающий кластеры файла и число этих кластеров, теперь можно легко скопировать файл" Может кто работал с этой функцией в этом направлении то было бы не плохо если бы подсказали Там конечно вместе со статьёй даны и исполняемые файлы но хочется ради интереса перебросить это на ассемблер (masm32) Статья правда дотирована 22.12.2005 Может уже давно придумали другие способы было бы интересно узнать ссылка на статью http://www.wasm.ru/article.php?article=lockfileswork Буду признателен любой информации по этой теме |
17.02.2011, 03:30 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
FSCTL_GET_RETRIEVAL_POINTERS = 0x00090073
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
17.02.2011, 03:37 | #3 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
Спасибо попробую
Не подскажешь как правильно для masm32 записать это значение а то попробывал записать так FSCTL_GET_RETRIEVAL_POINTERS equ 0x00090073 masm32 не принимает такую форму записи |
17.02.2011, 03:39 | #4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
не силён в масмах. попробуй 00090073h вместо 0x00090073.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
17.02.2011, 03:42 | #5 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
Вроде нормально
Спасибо буду пробывать |
17.02.2011, 13:07 | #6 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Программка на васме LoveHDD(запись и чтение секторов)+посмотрите эти функции для составления таблицы расположения файла по секторам из вышеобозначенной статьи
Нет, ну правда..
|
17.02.2011, 13:24 | #7 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
assch
FSCTL_GET_RETRIEVAL_POINTERS equ 0x00090073 так можно только в FASM'e или в NASM'e а для MASM или TASM только 90073h |
17.02.2011, 14:18 | #8 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
yuran666666
Не подскажешь где можно скачать LoveHDD В интернете я нашёл пока то что дословно: Программа демонстрирует низкоуровневое обращения к винчестеру с помощью стпндартного API из usermode. Автор программы обладает определённым чувством юмора, поэтому демонстрация происходит посредством стирания содержимого из первых 4000 секторов на диске C, так что собственно компилировать и запускать программу не рекомендуется. |
17.02.2011, 14:47 | #9 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
Извиняюсь что сразу не сообразил
Нашёл на этом же сайте Спасибо за информацию буду тестить |
17.02.2011, 18:54 | #10 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
В коде находяться две структуры которых в masm32 нет (или не там искал)
Первая - STARTING_VCN_INPUT_BUFFER В MSDN эта структура описывается так: Код:
Код:
В MSDN эта структура описывается так: Код:
Код:
Кто сталкивался с этим подскажите пожалуйста Последний раз редактировалось assch; 17.02.2011 в 19:01. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование файлов | Demien | Общие вопросы Delphi | 9 | 26.03.2010 08:52 |
Копирование файлов | critical | Microsoft Office Excel | 4 | 02.07.2009 14:45 |
Копирование файлов | Hacker19_90 | Общие вопросы C/C++ | 0 | 19.05.2009 19:24 |
Копирование файлов | VadEr | Помощь студентам | 4 | 06.04.2009 18:49 |
Копирование файлов | Devil_uu | Помощь студентам | 2 | 24.03.2007 20:27 |