Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> disk encryption software 
:(
    Опции темы
InvalidProperty
Дата 28.5.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL ICQ Jabber   Вверх
Alca
Дата 28.5.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Глянь исходники TrueCrypt.


--------------------
PM WWW ICQ Skype Jabber   Вверх
InvalidProperty
Дата 28.5.2009, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL ICQ Jabber   Вверх
Alca
Дата 28.5.2009, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Цитата

Есть ли какое-то средство с открытым API и библиотекой, чтобы геморроя много не было?

Ты типа хочешь компонент? Как в билдере?


--------------------
PM WWW ICQ Skype Jabber   Вверх
InvalidProperty
Дата 28.5.2009, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL ICQ Jabber   Вверх
Alca
Дата 28.5.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



А че самому впадло тяжело состряпать? Прийду домой, гляну исходник ТруКрипта.

Добавлено @ 18:15
О.. чудо... там есть папочка "Mount"...

M
GremlinProg
Alca!

smile

Это сообщение отредактировал(а) GremlinProg - 28.5.2009, 21:05


--------------------
PM WWW ICQ Skype Jabber   Вверх
jonie
Дата 28.5.2009, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



у трукрипта есть еще и опции заапуска) итого mount может без гемороя превратится в ShellExecuteEx ))


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
azesmcar
Дата 28.5.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 5
Всего: 211



InvalidProperty

Посмотрел оба..изучил сайты, погуглил..нету у них библиотеки.

Цитата(jonie @  28.5.2009,  19:48 Найти цитируемый пост)
у трукрипта есть еще и опции заапуска) итого mount может без гемороя превратится в ShellExecuteEx )) 

это выход, хотя надо признатся не самый лучший.
но у него есть коммандная строка+он опенсорсный. Выдрать из него библиотеку будет не очень сложно.

Это сообщение отредактировал(а) azesmcar - 28.5.2009, 19:58
PM   Вверх
jonie
Дата 28.5.2009, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



azesmcar выдрать библиотеку? а потом <---> мучиться с разными версиями софчины ? Уж увольте. В никсах дофига чего делается через запуск и чтение вывода (а в нашем случае разный код возрата будет) и никто не страдает вроде.

M
GremlinProg
jonie!

 smile 

Это сообщение отредактировал(а) GremlinProg - 28.5.2009, 21:08


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
azesmcar
Дата 28.5.2009, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 5
Всего: 211



Цитата(jonie @  28.5.2009,  20:16 Найти цитируемый пост)
azesmcar выдрать библиотеку? а потом <---> с разными версиями софчины ? Уж увольте. В никсах дофига чего делается через запуск и чтение вывода (а в нашем случае разный код возрата будет) и никто не страдает вроде. 

Запускать приложение а потом страдать от того что флаг -R заменили на -T? В принципе запускать приложение нормально. Но библиотека лучше, если в дальнейшем придется обновлять - возможны проблемы. Вобщем решать топикстартеру. 

Это сообщение отредактировал(а) GremlinProg - 28.5.2009, 21:09
PM   Вверх
InvalidProperty
Дата 29.5.2009, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL ICQ Jabber   Вверх
Alca
Дата 29.5.2009, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Код

...
bResult = DeviceIoControl (hDriver, TC_IOCTL_MOUNT_VOLUME, &mount, sizeof (mount), &mount, sizeof (mount), &dwResult, NULL);
...


Добавлено через 2 минуты и 8 секунд
???


--------------------
PM WWW ICQ Skype Jabber   Вверх
GremlinProg
Дата 29.5.2009, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



InvalidProperty, тут придется либо драйвер писать на новое виртуальное дисковое устройство,
либо найти уже готовый, содрать драйвер (но тут проблемы в принципе очевидны - отсутствие документации)

а так, информация по монтированию есть в MSDN: mount manager
но это естественно DDK


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
InvalidProperty
Дата 29.5.2009, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL ICQ Jabber   Вверх
GremlinProg
Дата 29.5.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(InvalidProperty @  29.5.2009,  12:30 Найти цитируемый пост)
значит API нет. Без API оно как-то все не очень весело. Все равно спасибо за ответ. Мне, кстати, TrueCrypt не принципиально, можно какое-то другое решение, главное, чтобы API открытый был.

я просто прокомментировал то, что написал Alca

TrueCrypt поставляется с драйверами:

truecrypt.sys
truecrypt-x64.sys

можешь их и использовать, Alca  показал основную команду на монтирование из пользовательского режима, (т.е., используя API)
открыто - да
документировано - да, на сколько позволяет truecrypt (я просто не пробовал искать мануалы по нему для девелоперов, может и есть)

все доступные команды, структуры и пути находятся в \TrueCrypt 6.2 Source\Common\Apidrvr.h
а сам проект драйверов - в \TrueCrypt 6.2 Source\Driver

TrueCrypt практически все делает в драйвере, поэтому, если пересобирать драйвер только на монтирование-размонтирование, оттуда можно будет выкинуть больше половины


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0781 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.