Russian Qt Forum
Ноябрь 22, 2024, 22:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QLibrary из QByteArray  (Прочитано 4538 раз)
Orfus
Гость
« : Октябрь 14, 2011, 14:56 »

Доброго дня. Надеюсь, что пишу в нужный подфорум  Улыбающийся

Собственно имеется библиотека dll с неким исполняемым кодом внутренности которого мне не известены. Библиотеку подключаю, функции использую и всё замечательно, до того момента как я задумался "А откуда мне знать что я подключаю ту самую библиотеку?".

Первая мысль проверить её на контрольные суммы через md5(md4 или sha1). Проверить, то я проверю но откуда мне знать что между проверкой и подключением (или наоборот) библиотеку не подменят? Посему захотелось мне прочесть библиотеку в QByteArray, затем проверить QByteArray и после этого преобразовать уже имеющийся QByteArray в QLibrary без создания доп файлов прямо из памяти.

Стоит ли переписывать QLibrary или есть другой выход чтобы файл не подменили? А может это просто уже паранойя?

P.S. если кого то интересует то библиотека для hasp usb ключей, так что хочется сделать по высшему разряду  Строит глазки
Записан
Bepec
Гость
« Ответ #1 : Октябрь 14, 2011, 15:22 »

Сделай проще:
1) либо сделай проверку и подключение последовательно (что тебе там разница, всеравно подменить не успеют)
2) копируй библиотеку куда нибудь рандомно и используй её()
3)  блокируй ее нафиг Улыбающийся

Но по теме вопроса:
1) Либка в любом случае требует файла (ты и сам это знаешь Улыбающийся )
2) логичный вывод что файл создавать придется
3) тут подойдет тогда (2) вариант

PS помоему у тебя паранойя.

4)просто блокируй либку QFile'om пока не пользуешься и проверяй каждые 5 секунд по SHA кешу + проверяй её атрибуты + проведи поиск файлов с похожим названием на исполняемом компьютере и если найдутся - убивай, пытай, ЖГИ ЕРЕТИКОВ!!! Твоя либка - самая самая... ^^
Записан
Bepec
Гость
« Ответ #2 : Октябрь 14, 2011, 15:31 »

На правах рекламы.

Можно еще раром или зипом, или arj архивировать с паролем.
Нужна функция - разъархивируешь, вызываешь, меняешь пароль, архивируешь Улыбающийся
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #3 : Октябрь 17, 2011, 20:05 »

Тут и до собственного dll loader недалеко. Можно поискать что-нибудь типа BoxedApp и запихать эту dll непосредственно внутрь exe файла. Далее записывать её на виртуальную файловую систему, доступную только твоему приложению и не бояться, что её кто-нибудь подменит. Только вот с этими виртуализаторами пока не попробуешь - не поймешь работает оно у тебя или нет.
« Последнее редактирование: Октябрь 17, 2011, 20:07 от xokc » Записан
dimen
Гость
« Ответ #4 : Октябрь 18, 2011, 02:39 »

Так а смысл то какой? пропатчить прогу в памяти еще легче!

Короче обезьяний труд...
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #5 : Октябрь 18, 2011, 20:16 »

Ну насчет легче - я бы поспорил. А то, что труд обезьяний - так задача у автора такая.
Записан
Orfus
Гость
« Ответ #6 : Октябрь 26, 2011, 19:54 »

Тут и до собственного dll loader недалеко. Можно поискать что-нибудь типа BoxedApp и запихать эту dll непосредственно внутрь exe файла. Далее записывать её на виртуальную файловую систему, доступную только твоему приложению и не бояться, что её кто-нибудь подменит. Только вот с этими виртуализаторами пока не попробуешь - не поймешь работает оно у тебя или нет.

Думаю заказчику хватит и простого лока библиотеки открытием на чтение. Однако для себя поковыряю BoxedApp  Улыбающийся Благодарю за ответы.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 22.