powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Защита mdb. Удачный пример.
44 сообщений из 44, показаны все 2 страниц
Защита mdb. Удачный пример.
    #32402861
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До недавнего времени считал, что нормально защитить mdb файл не реально. Но встретил программу, в которой защита mdb на недосягаемом для меня уровне.

Сама программа написана на С++, самораспаковывающийся код + привязка к Hasp.
Данные берёт из mdb файла, о котором и речь.

При попытке открыть его с помощью Access 97 и Access XP получаю сообщение "Нераспознаваемый формат базы данных"
Программа AOXPPR 2.00 говорит - "Unknown file format"
Программа AccessRecovery сообщает - "No data to recover detected"

Одним словом структура файла модифицирована, но это действительно mdb. И программа с ним работает через ADO. Загружает библиотеки msado15.dll; oledb32.dll; msjet40.dll и.т.д. Создаётся ldb файл. Мне даже удалось найти строку подключения, когда запускал программу под отладчиком.
Код: plaintext
1.
Provider=Microsoft.Jet.OLEDB. 4 . 0 ;User ID=Admin;Data Source=.\db.mdb;Mode=Share Deny None;Ext
Extended Properties= "";Persist Security Info=False;Jet OLEDB:System database="  ";Jet OLEDB:Registry Path=" "

К стати udl файл с такой строкой тоже сообщает: "Нераспознаваемый формат базы данных"/
Самое интересное, что по логам программы File Monitor - записи в этот mdb файл не происходит, т.е. он не зашифрован. Зато данные считываются из него спокойно.

Вопрос один: как такое возможно?
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402881
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто скорей всего модифицировани заголовок файла, по моему вроде тут проскакивал способ защиты с помощью замены одного байта (в заголовке вместо Standard Jet было StandarT Jet) и всё, Access не мог его открыть. Во время запуска программы заголовок приводился в нормальный вид и при выходе из неё опять менялся, т.е без этой проги файл становился нерабочим.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402887
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВо время запуска программы заголовок приводился в нормальный вид и при выходе из неё опять менялся
Ню-ню... Доктор Ватсон что-ли ни разу к прогам не приходил?
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402895
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Л.П.
речь идёт не о клиентской части, а о файле с данными :)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402900
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том то все дело, что записи в этот файл не происходит вообще.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402907
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 marvan
Заголовок файла, когда его аксес открыть не может, посмотреть можно и самому.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402909
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kelme
Вот и я про то же самое речь веду.
Клиентская часть рухнула - файл данных остался с нормальным (немодифицированным) заголовком. Бери и пользуйся.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402920
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а может прога напрямую из файла читает, а эта строка подключения, так, для отвода глаз :)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402937
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убить из системы компоненты Jet'а и поглядеть - для отвода глаз или нет.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402939
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>в заголовке вместо Standard Jet было StandarT Jet

Идея и пример: http://am.rusimport.ru/MSAccess/topic.aspx?ID=317
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402960
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kelmeа может прога напрямую из файла читает, а эта строка подключения, так, для отвода глаз :)

Нет, Это точно работа через ADO, т.к. я запускал эту программу под отладчиком и смортел загружаемые библиотеки:
C:\WINDOWS\System32\VBAJET32.DLL
C:\WINDOWS\System32\expsrv.dll
C:\WINDOWS\System32\msjet40.dll
C:\WINDOWS\System32\msjter40.dll
C:\WINDOWS\System32\MSJINT40.DLL
C:\WINDOWS\System32\msjetoledb40.dll
C:\WINDOWS\System32\MSWSTR10.DLL
C:\WINDOWS\System32\msjtes40.dll
C:\Program Files\Common Files\system\msadc\msadce.dll
C:\Program Files\Common Files\system\msadc\msadcer.dll
C:\Program Files\Common Files\system\ado\msado15.dll
C:\WINDOWS\System32\MSDART.DLL
C:\Program Files\Common Files\system\ole db\oledb32.dll
C:\Program Files\Common Files\system\ole db\OLEDB32R.DLL
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402980
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор File Monitor - записи в этот mdb файл не происходит

может все операции проходят с копией этого файла
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32402982
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Сенин Виктор
Идея и пример конечно прикольные... но если приложение рухнет до того как обратно файл данных попоганит - то делай с ним что хошь.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403017
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kelmeс помощью замены одного байта (в заголовке вместо Standard Jet было StandarT Jet) и всё, Access не мог его открыть
Программа AccessRecovery такие файлы спокойно открывает, а в этом mdb - первая строка "╚☻У☻kт$Ф♠▄[╝Ц2!O├" в то время как в обычных файлах эта строка выглядит "☻☺☺☺StandarT Jet DB☺"

Kelmeможет все операции проходят с копией этого файла

фрагмент лога:
IRP_MJ_READ C:\WINDOWS\system32\msjet40.dll
FASTIO_UNLOCK C:\Program Files\...\db.ldb
IRP_MJ_READ C:\Program Files\...\db.mdb
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403035
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot автор]как в обычных файлах эта строка выглядит "☻☺☺☺StandarT Jet DB☺" quot]

в нормальном файле эта строка выглядит как : StandarD Jet DB

Ты попробуй убей эту прогу через Task menager и зацени этот файл, чё в заголовке будет написано :)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403047
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kelme
Если бы ты скачал пример, то увидел бы, что убивать надо с хирургической точностью :)

2 marvan
Через NTFS не пробовал жестко запретить модификацию mdb файла?
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403060
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Л.П.
А где скачать можно? :)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403065
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык ведь Сенин Виктор сделал тынц
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403072
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я думал ты про этот суперзащищённый файл :)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403086
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТы попробуй убей эту прогу через Task menager и зацени этот файл, чё в заголовке будет написано
пробовал многократно - файл прежний

авторЧерез NTFS не пробовал жестко запретить модификацию mdb файла
попробовал только что. Выводит сообщение: "файл не может быть открыт ядром базы данных Microsoft Jet. Файл уже открыт ...и.т.д."
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403095
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KelmeА где скачать можно
Скачать его не можно. Мне эту прогу начальник дал, вместе с Hasp-ключом. На сколько я знаю, такие программы в интернет не выкладываются.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403108
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты стань первым, выложи :))
А ключ по почте
шутка....
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403150
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К стати, mdb - файл всё таки зашифрован, т.к. архиваторами файл не сжимается.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403154
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот, ты всех разочаровал :(
как говорится всё гениальное просто :)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403190
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл зашифрован средствами самого Access.
Каким образом его открывают в программе, не смотря на модифицированный формат - вопрос открытый.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403229
TRoUbLEs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не профи в этих делах, но возможно, что прога создает виртуальный диск в оперативки или еще как в нее загоняет расшифрованный файл, далее и сним идет работа, а уж после все снова криптуется на диск.
Это просто предположение, так что сильно не бейте ногами. ;-)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403230
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 marvan
Читаем раздел справки: Шифрование и дешифрование базы данных Access.
Исходя из написаного мне никто не помешает открыть объект апликайш аксеса и дешифровать базу при соответствующих правах.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403245
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2marvan

По-играй в игру: найди 100 отличий в файле заголовка обычного Mdb и суперпупер защищеного.
==
А зашифрован он али нет - роли не играет - заголовки файла не шифруются
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403336
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА зашифрован он али нет - роли не играет - заголовки файла не шифруются
Но в заголовке хранится информация, зашифрован файл или нет и, соответственно, ключ.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403355
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Serge Gavrilov

Навряд ли там все-так сложно - скроей всего сделано по примеру с сайта Андрея Митина
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403379
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Senin Viktor

Я подразумеваю стандартное шифрование Access
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32403638
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Serge Gavrilov
Я подразумеваю стандартное шифрование Access

Я имел ввиду, что слово "Standard Jet" в обычном и в зашифрованном файле выглядит одинаково.

==
Но все-равно, что бы там не было в проге - она во время работы должна восстановить по-ломанное и, если ее выбрубить в этот момент, - то получим (вероятно) обычный mdb.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32405402
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понял как защищён этот файл.
Использзуется HASP Envelope - утилита позволяющая защитить не только приложение, но и данные. Используется механизм "прозрачного" шифрования, обестечивающий доступ к данным только из защищённого приложения.

Удачной такую защиту можно назвать только для больших программ стоящих хороших денег, где стоимость Hasp - ключа большой погоды не сделает.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32405569
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.. просветите меня, HASP ключ это же помойму такая дурында как в 1С, которую надо в LPT-порт пихать...???

Представляю себе такое будущее: запуская каждый раз новую программу, лезешь под стол и вставляешь очередной HASP-ключ, картинка загляденье зато лишняя профилактика заболеваний суставов
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32405628
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeySVПредставляю себе такое будущее: запуская каждый раз новую программу, лезешь под стол и вставляешь очередной HASP-ключ...
Во первых вставлять очередной ключ не надо - они допускают параллельное подключение.
Во вторых будущее конечно не за ними, а за подобными решениями на USB, смарт-картах, и чипах интегрированных в материнскую плату (уже появляются первые образцы)
В третьих разработчик своей цели достиг. Третий день идёт, а mdb я так и не смог взломать. Пока не смог.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32405724
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут на другом форуме по VB один чел интересуется как можно напрямую следить за LPT-портом и считать передаваемую от HASP информацию. Я так думаю хочет ключ стыреть..... Это не твое там сообщение

Ну а если серъезно, то вроде уже есть варианты для обхода HASP ключа в 1С, тут я понимаю родственная технология должна быть.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32405772
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что я думаю:
Акес про Хаспы ничего не знает и Jet на них по фигу - т.е. сама бд должна быть в обычном, нормальном (не зашифрованным Хаспом или прогой) состоянии, что бы ни было в программе для того, что бы восполльзоваться возможностями СУБД этот файл должен быть в формате, понятным Jet (на него м.б. пароль, он может быть зашифрован средтсвами Акеса) - т.е. сам mdb получить можно (кстати, marvan, ты завершал прогу через диспечер здач - и что получилось с mdb?)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32406003
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeySVТут на другом форуме по VB один чел интересуется как можно напрямую следить за LPT-портом и считать передаваемую от HASP информацию. Я так думаю хочет ключ стыреть..... Это не твое там сообщение
Для работы с HASP использую HASP Emulator PPE V2.07 - и код ключа давно поимел.
Senin ViktorЧто я думаю:...
Объясняю принцип работы. Шифрование прозрачное. Т.е. в памяти сидит драйвер и ловит обращения на чтение/запись ко всем файлам на уровне API.
И если он видит, что к защищаемому файлу обращается защищаемая программа, то он возвращает расшифрованном виде.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32406029
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в памяти сидит драйвер и ловит обращения на чтение/запись ко всем файлам на уровне API.
color]

Это ты так думаешь или так и есть на самом деле?
А как Jet работать-то сможет, если файл не предоставляет собой нормальную бд? А нормальной она станет после ее полной дешифрации или я вообще ничего не понимаю :(
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32406065
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура. Я его открыл.
Причем двумя способами.
Способ 1.
Коллега написал прогру, которая используя хуки скопировала содержимое mdb в новый файл.

Способ 2.
Я нашел в памяти программы запрос на выборку и заменил его запросом на создание таблицы в новом файле, после чего спровоцировал выполнение этого запроса.

Мораль. Не доверяйте защиту ваших данных ни Access ни примочкам от сторонних производителей. Думайте сами.
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32406077
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvan
Мораль. Не доверяйте защиту ваших данных ни Access ни примочкам от сторонних производителей. Думайте сами.


Cпасибо что просветил, а то мы то думали.... :)
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32406275
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теперь продай варианты взлома изготовителю.
а предварительно поспорь с на чальником , что вскроешь мдб

извлеки выгоду...
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32406674
------------
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 marvan
Ура. Я его открыл.

Ну и окупились затраченные усилия ?
...
Рейтинг: 0 / 0
Защита mdb. Удачный пример.
    #32407023
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GuestНу и окупились затраченные усилия ?
Несомненно.
И дело не в ценности самих данных из базы (хотя они не лишние), а в полученом опыте взлома и знании о существующих технологиях защиты.

Начальник подумывает, а не защитить ли таким образом наши продукты.
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Защита mdb. Удачный пример.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]