![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| InvalidProperty |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: 1 Всего: 9 |
всем привет,
имеется файл-диск, созданный, к примеру, с помощью FreeOTFE или TrueCrypt, необходимо на С++ код написать, который бы этот файл монтировал на какой-либо виндовый диск точно так же, как это делают эти софтины. Для FreeOTFE имеется SDeanComponents, но оно для Delphi, мне же нужно на С++. Может у кого есть опыт работы с такими задачами? Буду рад любой помощи -------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Глянь исходники TrueCrypt.
|
|||
|
||||
| InvalidProperty |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: 1 Всего: 9 |
Alca, понятно дело, что исходники можно глянуть и все такое. Есть ли какое-то средство с открытым API и библиотекой, чтобы геморроя много не было?
-------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Ты типа хочешь компонент? Как в билдере? |
|||
|
||||
| InvalidProperty |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: 1 Всего: 9 |
Alca, я хочу, типа, API, как в Windows. Есть такие api функции, как CreateFileA, MessageBoxA, etc., я хочу что-то такое же, т.е. функцию Mount, допустим. В общем, мне нужен заголовочный файл + библиотека, если еще и описание функций будет, будет просто прекрасно
-------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
А че самому впадло тяжело состряпать? Прийду домой, гляну исходник ТруКрипта.
Добавлено @ 18:15 О.. чудо... там есть папочка "Mount"...
Это сообщение отредактировал(а) GremlinProg - 28.5.2009, 21:05 |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
у трукрипта есть еще и опции заапуска) итого mount может без гемороя превратится в ShellExecuteEx ))
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
InvalidProperty
Посмотрел оба..изучил сайты, погуглил..нету у них библиотеки.
это выход, хотя надо признатся не самый лучший. но у него есть коммандная строка+он опенсорсный. Выдрать из него библиотеку будет не очень сложно. Это сообщение отредактировал(а) azesmcar - 28.5.2009, 19:58 |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
azesmcar выдрать библиотеку? а потом <---> мучиться с разными версиями софчины ? Уж увольте. В никсах дофига чего делается через запуск и чтение вывода (а в нашем случае разный код возрата будет) и никто не страдает вроде.
Это сообщение отредактировал(а) GremlinProg - 28.5.2009, 21:08 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
Запускать приложение а потом страдать от того что флаг -R заменили на -T? В принципе запускать приложение нормально. Но библиотека лучше, если в дальнейшем придется обновлять - возможны проблемы. Вобщем решать топикстартеру. Это сообщение отредактировал(а) GremlinProg - 28.5.2009, 21:09 |
|||
|
||||
| InvalidProperty |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: 1 Всего: 9 |
Alca, вы, товарищ, еще и не в тему говорите. Я, по-вашему, совсем имбицил что-ли? Видел я все, что находится в сырцах TrueCrypt. Вопрос был следующий "есть ли открытое api", если вы не понимаете вопросов на русском языке, то это наврядли моя проблема.
azesmcar, jonie, ShellExecute не подходит, сделал через CreateProcess & GetExitCodeProcess. В принципе, такой вариант на первый взгляд устраивает, однако проблема, связанная с необходимостью библиотеки, все еще остается. -------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Добавлено через 2 минуты и 8 секунд ??? |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
InvalidProperty, тут придется либо драйвер писать на новое виртуальное дисковое устройство,
либо найти уже готовый, содрать драйвер (но тут проблемы в принципе очевидны - отсутствие документации) а так, информация по монтированию есть в MSDN: mount manager но это естественно DDK -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| InvalidProperty |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: 1 Всего: 9 |
GremlinProg, :( значит API нет. Без API оно как-то все не очень весело. Все равно спасибо за ответ. Мне, кстати, TrueCrypt не принципиально, можно какое-то другое решение, главное, чтобы API открытый был.
-------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
я просто прокомментировал то, что написал Alca TrueCrypt поставляется с драйверами: truecrypt.sys truecrypt-x64.sys можешь их и использовать, Alca показал основную команду на монтирование из пользовательского режима, (т.е., используя API) открыто - да документировано - да, на сколько позволяет truecrypt (я просто не пробовал искать мануалы по нему для девелоперов, может и есть) все доступные команды, структуры и пути находятся в \TrueCrypt 6.2 Source\Common\Apidrvr.h а сам проект драйверов - в \TrueCrypt 6.2 Source\Driver TrueCrypt практически все делает в драйвере, поэтому, если пересобирать драйвер только на монтирование-размонтирование, оттуда можно будет выкинуть больше половины -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |