|
|
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Ребята! Заказчик хочет , чтобы я так защитил базу Access , чтобы программа работала только определенное время. И только он мог ввести пароль и указать сколько дней ей еще работать. В смысле можно открыть. Он правда еще говорил про учет количества запусков программы. Якобы он может дать базу другому юзеру и указать сколько дней работать программе. Как только наступает конец периоду, база запрашивает пароль. И только он может придти к этому юзеру и продлить срок работы базы через свой персональный пароль. Мне так кажется он еще и бабки с него сдерет? Ребята, может заказчик решил заработать на моей программе? С какого черта ему давать ее другим и срок работы назначать? Как думаете? Может он ее решил толкать? Вот для этого и просит такую извратную защиту? Кстати еще вопрос. Вот у нас есть скрытая таблица в файле БД. При импорте из другой базы она не видна. Как же до нее добраться? В общем то заказчик настаивает именно на такой защите и "активации". А я чешу репу, как это сделать то получше? Кроме хранения количества запусков и общего времени работы базы в скрытой таблице ничего в голову не приходит. Ну пусть я сделаю так. - Пароль воткну на базу с логином . - В скрытой таблице буду хранить общее время работы базы и сколько раз она запускалась. -Шифрану файл БД. Кто специализировался на взломе Access? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 09:12 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Ну для начала по смотри мой топик /topic/35479&hl=\r Ну и + поиск по форуму, только нифига особой защиты не выйдет - так, видимость оной\r \r >Кто специализировался на взломе Access?\r \r Никто, акромя, наверное, Сергея Гаврилова :). Для взлома есть программы, где по-щелкав мышкой получаешь взломанную базу - вот такой мышиный хакинг баз Акеса :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 09:56 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
юзер-то будет знать пароль на базу. Не нужно даже ломалок. Узнать о скрытой таблице из MSysObjects не проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 10:39 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor Интересный топик.Много нового узнал. Только вот просвети.Если есть скрытая таблица. Как к ней в mde файле добраться? Ну как? При импорте из базы ее то не видно? 2 Alexander G Может пароль хранить внутри VBA кода? Все равно VBA код насмерть компилируется. Хотя впрочем можно и узнать пароль который торчит в VBA коде mde файла. Только вот как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 11:10 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Что понимается под скрытой таблицей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 11:21 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Так и не въехал, что защищать-то надо? Данные или работу программы. Чтоб не работала сделать конечно можно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 11:25 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
>>Хотя впрочем можно и узнать пароль который торчит в VBA коде mde файла. Только вот как? АГА, особенно если он в явном виде не присутствует. Специалисты, наверное, могут отключить блок проверки в P-кодах, но стоимость такого взлома довольно велика, ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 11:37 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
2Eternal >Только вот просвети.Если есть скрытая таблица. Как к ней в mde файле добраться? Ну как? При импорте из базы ее то не видно? До любого объекта БД добраться можно в независимоти от того mdb или mde, скрытая она или ситемная. Как вариант тебе уже сказал Alexander G - MSysObjects, еще можно через DAO (Tabledefs), ADO - через OpenShema, ADOX - через Catalog.Tables , Access.CurrentData.AllTables. Ну а самое простое увидеть твою таблицу: выставить флажок - "показывать скрытые объекты" :) Единственная возможная трудность для получения доступа к данным таблицы - защита с помощью рабочих групп - но это взламывается с помощью "мышинного" хакинга (крагинга?) З.Ы. Оставь надежду на серьезную защиту своей проги (данных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 11:42 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Senin ViktorНу а самое простое увидеть твою таблицу: выставить флажок - "показывать скрытые объекты" :) Можно установить dbHiddenObject, тогда не будет видна. Но в Tabledefs все равно будет. (и в а97 удаляется при сжатии) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 12:01 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
я dbHiddenObject выставляю в момент создания mde, но только в качестве защиты от дурака. Мне даже один юзер писал - что я не могу нормальной защиты для своих коммерческих баз сделать, что он ее взломал за 5 минут. Правда сам я ломаю свою же защиту за гораздо меньшее время :). Правда от этого один плюс - теперь все глюки взломаной проги можно списывать на не удачный взлом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 12:09 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Оставь надежду на серьезную защиту своей проги (данных). (с) Senin Viktor Вот это самые важные слова всего этого топика Только нужно добавить: при разработке на Access MDB(MDE). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 12:17 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
To incold To Senin Viktor С прогой сложнее. Или есть способ легко добраться до Р-кодов mde, чтобы снять защиту от копирования за 5 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 13:32 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
>Или есть способ легко добраться до Р-кодов mde, чтобы снять защиту от копирования за 5 минут. Так что нужно-то? Снять защиту от копирования (это должно быть просто) либо добраться до П-кодов (это пока не возможно)? Но весь интерфейс (формы, отчеты) + схему данных + сами данные и запросы импортировать из mde можно. А код...код дело наживное, к тому же, возможно, и нафиг не нужный, когда получены сами данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 13:39 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Я так понял, вопрос был о работе программы. Т.е. наоборот данные не нужны (вернее у каждого юзера свои), а нужна работающая программа, а это взломать сложнее. К тому-же обработку интерфейса тоже можно оставить в мде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 13:48 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
2 Serge Gavrilov >Так и не въехал, что защищать-то надо? Данные или работу программы. Чтоб не работала сделать конечно можно ... Надо защищать и то и то. Только важней (со слов) заказчика защитить именно программу, чтобы ей мог пользоваться только он и его подопечные ч/з него. 2 Senin Viktor Ясно к таблице с атрибутом скрытый можно достучаться скажем через DAO.TableDefs. Но вот чтобы достучаться до кода в mde файла. Тут я признаться удивлен? Это возможно оказывается? Я считал что это уже не код а мешанина. 2 Roalex >Я так понял, вопрос был о работе программы. Т.е. наоборот данные не нужны (вернее у каждого юзера свои), а нужна работающая программа, а это взломать сложнее. К тому-же обработку интерфейса тоже можно оставить в мде. Вообщем надо защитить данные, но приоритетная задача защитить саму программу . Ну т.е чтобы при попадании в чужие руки был отсос. Я уже понял что защитить базы mdb/mde полностью просто не реал. Но сделать защиту хотя среднего уровня. Если программа отстойная ее и ломать то не будут . Моя база еще не готова, так что посмотрим. Понравились мне мысли Сенина Виктора о запрете добавления записей. Под конец разработки выберу какой либо способ. Просто нет времени создавать многоуровневую защиту. Успеть бы в срок саму базу сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:03 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Работу программу защитить достаточно просто, но данные о времени работы и сколько раз она запускалась надо прятать не в таблице (всегда можно взять копию исходной базы), а хотя бы в реестре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:17 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
2Eternal >Но вот чтобы достучаться до кода в mde файла. Тут я признаться удивлен? Это возможно оказывается? Не будем плодить недоразумений - я про "досутчаться" до кода не говорил - кода в мде - нет и достучаться до него низя. Можно лишь саму форму "спереть" (без кода) >Понравились мне мысли Сенина Виктора о запрете добавления записей. Мне тоже иногда мои мысли нравяться :) Только в данном случае программой можно будет пользоваться неограниченное время, например, директор дома - для анализа данных, а на работе держать оплаченную полнофункциональную копию. Хотя... > Но сделать защиту хотя среднего уровня. Сделай привязку к серийному номеру диска. Сам ключ активации храни либо в самой базе либо прямо в текстовом файле и, есно, зашифрованным. >Если программа отстойная ее и ломать то не будут Во-во :) Принцип неуловимого (неломаемого) Джо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:26 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Вообще, ребяты, лично для себя я давно оставил мечту о нормальной защите данных Акцеса, поэтому если что серьёзное, то пишу на Скуэль сервере. Но, что касается защиты клиентской интерфейсной части, то, если кому интересно, поступаю так: интерфейс всегда MDE в стартовых параметрах всё поотключено установлена только стартовая форма и самопальная строка меню AllowByPassKey всегда фальш, перевести в тру можно только в том случае, если будет опознано какое-нить секретное имя пользователя. В этом случае на экран выводится панель, информирующая о состоянии данного свойства и его можно поменять по кнопке, но опять таки введя пароль, а он скомпилирован в модуле этой формы. Если имя пользователя в числе разрешённых, но другое - не это секретное, то вход осуществляется, но эта панель не показывается. Есть скрытая таблица, где прописаны имена разрешённых юзеров. При запуске она просматривается и если такого юзера нет, то юзер выкидывается. Если юзер опознаётся, то делается запись в историю запусков - тоже скрытая таблица. Кстати записи в этих таблицах можно зашифровать. При стирании какой либо из этих таблиц, нарушения порядка следования записей и т.п. удаляются несколько ключевых объектов и прогу можно выбрасывать. К какой-нить табле прицеплено пользовательское свойство, которое например может равняться числу мах разрешённых запусков, да и вообще чему угодно. При превышении его тоже можно организовать какую-нить бяку. Ну а если отдал прогу совсем, то введя опять какой-нить пароль можно это свойство или проверку на него нейтрализовать. Согласен, что сломать тоже можно, но для этого надо знать куда залезть (кто его знает, на кой здесь вообще эти таблицы) , для этого надо время, а это не продукт Мелкософта на кряках к которому можно хорошо заработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:31 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Достучаться до кода поможет Soft Ice. Но я только один случай помню, когда мне захотелось сломать какую-то Access прогу (код регистрации надо было ввести) и то уже забыл, что за прога была :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:35 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Достучаться до кода поможет Soft Ice. Но я только один случай помню, когда мне захотелось сломать какую-то Access прогу (код регистрации надо было ввести) и то уже забыл, что за прога была :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:35 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Достучаться до кода поможет Soft Ice. Но я только один случай помню, когда мне захотелось сломать какую-то Access прогу (код регистрации надо было ввести) и то уже забыл, что за прога была :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:35 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
2 Serge Gavrilov Ты предлагаешь хранить инфу о количестве запусков в реестре. Все равно , чем же это лучше хранения в скрытой таблице то? Ну и что , что можно взять копию базы, что это даст то? В реестре? Я эту ситуацию рассматривал. Но в реестр может залесть любой пользователь, а там как говорится все на блюдечке. Но правда надо знать где. Что выбирать для хранения пароля или скрытую таблицу в БД или реестр это еще вопрос. У каждого варианта свои + и - . Конечно же если юзер обратиться к проффи он проблему решит. Но дело в том , что не каждый юзер может догадаться обратиться к проффи. Обратиться скорее продвинутый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:35 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Достучаться до кода поможет Soft Ice. Но я только один случай помню, когда мне захотелось сломать какую-то Access прогу (код регистрации надо было ввести) и то уже забыл, что за прога была :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:36 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
Извините, что-то глюкнуло ... авторНу и что , что можно взять копию базы, что это даст то? А то, скопировал данные и продолжаешь работать как с первого запуска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:41 |
|
||
|
Защита файла БД. Вот такое извращение хочет заказчик.
|
|||
|---|---|---|---|
|
#18+
2 SG >но данные о времени работы и сколько раз она запускалась надо прятать не в таблице (всегда можно взять копию исходной базы), а хотя бы в реестре Ага. ReGet так и делает. Тока "умные" люди с помощью монитора отследили обращение проги к "тому самому значению реестра" (можно и к файлу отследить) и сделали "снимок" правильного значения, чем люди и пользуются (всегда до конца срока 30 дней - не плохо?) :) З.Ы. SG - я не тебя лечу-учу :) - другим пытаюсь объяснить З.Ы. Мне все-таки более импонирует мысль о привязки проги к серийному номеру диска (лучше еще к паре "номерных" компонент, но тут уже проблема с версиями ОС - не все поддерживают нужные API, кстати - повезло прогам для работы с инетом - у них хотя бы есть шанс опираться на MAC-адрес сетевой карточки) и сформированным для каждого клиента ответного шифрованного ключа (лучше с завязать с данными реквизитами фирмы, которые будут использоваться для печати накладных/счетов-фактур). Есно - огромная дыра в такой защите серийный номер диска - говорят его можно сменить наживую (программно) ничего не форматируя, поэтому периодически прогеры ищут " тот самый уникальный заводской номер диска ", а не задаваемый программой форматирования) - некоторые его уже нашли - но вроде только для WinXP (через WMI) //где-то на форуме по VB было Алгоритм шифрования вскроют навряд ли (например, с помощью CryptoAPI Windows'a можно формировать ключ RSA длиной 4096 байт - это работы ПК на несколько столетий - правда и тут "подводные" камни локализованых версий ОС и ораничений на экспорт усточивых к взлому технологий шифрования) Ну и остаються еще отладчики/дебюгеры и пр., с помощью которых можно просто изменить нужные байтики - правда тут Access-mde им особый не помощник - эти проги в основном заточены под нормальные dll/exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 14:43 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32371159&tid=1676838]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 383ms |

| 0 / 0 |
