|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.01.2015, 15:27 | #1 |
Регистрация: 05.02.2014
Сообщений: 5
|
Метрологическая библиотека
Здравствуйте, форумчане!! Не подскажете, как решить задачу такого рода.
Имеется метрологическая библиотека, она используется приложением, которое что то делает и пишет в БД по событию. Так вот надо определять при записи в БД (то есть при работе приложения) каждый раз - совпадает ли md5 библиотеки с поверенной суммой. Изначально я хотел просто проверять на совпадение сумм при старте процесса, но сейчас у меня появились мысли, а что если кто то изменит библиотеку уже при работе приложения, то есть непосредственно в памяти приложения сделает определенные изменения. Потому думаю, правильно ли проверять только 1 раз перед стартом, а если нет - то как вообще получать сумму у объекта в памяти и тем более сравнивать ее с md5 ФАЙЛА ибо при проверке то поверялся файл либы. Подскажите пожалуйста направление , куда копать, я сильно озадачен этим вопросом просто(((( |
22.01.2015, 16:28 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Погодь погодь погодь...
Я правильно понял: есть DLL или типа того, которую нужно защитить от взлома?
I'm learning to live...
|
22.01.2015, 19:07 | #3 |
Регистрация: 05.02.2014
Сообщений: 5
|
Да, все верно, so-шка на Линуксе. Ее надо защитить от изменения. Суть в том, чтобы ее md5 всегда оставалась одной и той же.
|
22.01.2015, 19:29 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Сложный вопрос...
Защищать придется и файл и то, что загрузчик в память закладывает. Я бы посоветовал протекторы, но не знаю какие есть для Линукса. Одной простой проверкой можно и не отделаться, поскольку это легко снимут. Я и сам такие защиты снимал, что уж говорить - в играх патроны бесконечные ставил. Как я понял ты хочешь снять контрольную сумму с файла, чтоб принимать решение делать в БД запись или нет. Может быть тебе стоит подумать не о защите библиотеки а о защите самой БД?
I'm learning to live...
|
22.01.2015, 19:47 | #5 |
Регистрация: 05.02.2014
Сообщений: 5
|
Защиты БД от чего? тут дело в том, что библиотека принимает данные извне, которые на валидность при записи в БД не проверишь. к примеру . библиотека линкует с каким то действием координаты Глонасс , где это действо произошло. ее просто поменяют на 55.5555 всегда и никак не проверить, ведь она существует. А Надо, чтобы НИКТО не мог изменить либу, либо если вдруг это произошло я мог отследить изменение..
сложность - как снять md5 с находящейся в памяти либы(( и правильно ли это будет - вопрос еще... ведь есть варианты - 1) она измененная уже на старте - это легко проверяемо, хотя механизмы проверки на старте тоже легко обмануть, изменив логику работы механизма.. исходя из этой мысли и думаешь над тем, что защита либы от изменений вообще - единственный выход 2)во время работы кто либо меняет либу в памяти.. тут вообще эпик фэйл, что делать... так и остается вопрос - как защитить файл И область в памяти от изменений.. |
22.01.2015, 20:23 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Цитата:
Сама программа, даже скомпилированная по сути открытый исходник, только на машинном языке, но она доступна. Иначе никак. Протектор зашифровывает исполняемый файл таким образом, что его расшифровка становится затруднительной или даже бессмысленной. Сам по себе протектор является как-бы виртуальной машиной (наподобие ядра .NET), которая данные, зашифрованные в нем уже при исполнении расшифровывает и передает процессору. Я поэтому и подумал прежде всего о протекторах. Просто поверь наслово - так просто ты не напишешь программу защиты. Хорошую всмысле. Я тоже сходу не напишу, это нужно потратить немало времени и усилий.
I'm learning to live...
|
|
22.01.2015, 20:40 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
В принципе проверку достаточно сделать один раз, после загрузки приложения.
В дальнейшем даже если либу изменят, то, что уже загружено в память не изменится. Все это - путь в никуда, поскольку не составит труда изменить и приложение, на предмет не обращения внимания на изменения библиотеки. |
22.01.2015, 21:59 | #8 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,520
|
Можете не переживать. Человек, который может изменить библиотеку, сможет победить вашу самописную защиту. Ставьте себе проверку на md5 от "дураков" и не тратьте время на ненужную работу.
|
22.01.2015, 22:02 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Цитата:
I'm learning to live...
|
|
22.01.2015, 22:11 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
Можно, но если менять в памяти, тогда зачем париться менять файл...
Файл поменять легче. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
библиотека | bicks | Общие вопросы C/C++ | 1 | 24.11.2013 17:48 |
БД Библиотека | vaako | Microsoft Office Access | 0 | 02.05.2012 21:37 |
Библиотека | btf | Общие вопросы по программированию, компьютерный форум | 0 | 03.12.2011 17:40 |
Библиотека Си++ | Мелия | Помощь студентам | 2 | 21.06.2011 15:52 |
библиотека | Serg12 | Помощь студентам | 1 | 09.05.2010 20:28 |