Название: 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 :) Благодарю за ответы. |