Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: Orfus от Октябрь 14, 2011, 14:56



Название: QLibrary из QByteArray
Отправлено: Orfus от Октябрь 14, 2011, 14:56
Доброго дня. Надеюсь, что пишу в нужный подфорум  :)

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

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

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

P.S. если кого то интересует то библиотека для hasp usb ключей, так что хочется сделать по высшему разряду  ::)


Название: Re: QLibrary из QByteArray
Отправлено: Bepec от Октябрь 14, 2011, 15:22
Сделай проще:
1) либо сделай проверку и подключение последовательно (что тебе там разница, всеравно подменить не успеют)
2) копируй библиотеку куда нибудь рандомно и используй её()
3)  блокируй ее нафиг :)

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

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

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


Название: Re: QLibrary из QByteArray
Отправлено: Bepec от Октябрь 14, 2011, 15:31
На правах рекламы.

Можно еще раром или зипом, или arj архивировать с паролем.
Нужна функция - разъархивируешь, вызываешь, меняешь пароль, архивируешь :)


Название: Re: QLibrary из QByteArray
Отправлено: xokc от Октябрь 17, 2011, 20:05
Тут и до собственного dll loader недалеко. Можно поискать что-нибудь типа BoxedApp и запихать эту dll непосредственно внутрь exe файла. Далее записывать её на виртуальную файловую систему, доступную только твоему приложению и не бояться, что её кто-нибудь подменит. Только вот с этими виртуализаторами пока не попробуешь - не поймешь работает оно у тебя или нет.


Название: Re: QLibrary из QByteArray
Отправлено: dimen от Октябрь 18, 2011, 02:39
Так а смысл то какой? пропатчить прогу в памяти еще легче!

Короче обезьяний труд...


Название: Re: QLibrary из QByteArray
Отправлено: xokc от Октябрь 18, 2011, 20:16
Ну насчет легче - я бы поспорил. А то, что труд обезьяний - так задача у автора такая.


Название: Re: QLibrary из QByteArray
Отправлено: Orfus от Октябрь 26, 2011, 19:54
Тут и до собственного dll loader недалеко. Можно поискать что-нибудь типа BoxedApp и запихать эту dll непосредственно внутрь exe файла. Далее записывать её на виртуальную файловую систему, доступную только твоему приложению и не бояться, что её кто-нибудь подменит. Только вот с этими виртуализаторами пока не попробуешь - не поймешь работает оно у тебя или нет.

Думаю заказчику хватит и простого лока библиотеки открытием на чтение. Однако для себя поковыряю BoxedApp  :) Благодарю за ответы.