Russian Qt Forum
Май 10, 2024, 05:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Проверка памяти для приложений Qt
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Проверка памяти для приложений Qt (Прочитано 13411 раз)
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Проверка памяти для приложений Qt
«
Ответ #15 :
Июнь 27, 2016, 16:39 »
Цитата: qate от Июнь 27, 2016, 16:03
а подмена либ рушит всю построенную защиту
Коли тебя заботят такие вещи, то подмена либ должна быть исключена на начальном уровне.
Либо подписывай их либо линкуйся статически.
Записан
Qt 5.11/4.8.7 (X11/Win)
qate
Супер
Offline
Сообщений: 1175
Re: Проверка памяти для приложений Qt
«
Ответ #16 :
Июнь 27, 2016, 16:43 »
Цитата: GreatSnake от Июнь 27, 2016, 16:39
Либо подписывай их либо линкуйся статически.
а как подписать qt библиотеки ?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Проверка памяти для приложений Qt
«
Ответ #17 :
Июнь 27, 2016, 17:02 »
Цитата: qate от Июнь 27, 2016, 16:43
а как подписать qt библиотеки ?
Тут я не большой знаток.
Можешь купить сертификат и им подписывать.
Можешь сам получить md5 таскаемых с пакетом либ, вкомпилить их в еxe-шник и проверять при старте.
Записан
Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Проверка памяти для приложений Qt
«
Ответ #18 :
Июнь 27, 2016, 17:04 »
Типовой "перекос" в постановке. Зачем какая-то "подмена либ"? Напр на Вындоуз реально написать хук который будет запоминать нажатия для окна с таким-то именем и/или классом. А то и "найти готовый"
И что, как с этим бороться? Да просто не пускать козлов на машину - лучшего нет. Не отвечает программист за это. "Никогда не храни пароль явно" (хотя бы заXOR'ь) - это уже прозвучало. Остальное - улет хз куда
Записан
Bepec
Гость
Re: Проверка памяти для приложений Qt
«
Ответ #19 :
Июнь 27, 2016, 18:35 »
Точного описания проверки эталоном не скажу, не занимался.
Но суть в том, что берётся слепок памяти программы при запуске, и потом сверяется по какому-либо событию.
Так же этот метод используется для отслеживания патчей - в программе хранится собственный исполняемый файл, с которым сверяется текущий. При различиях выход.
Защита от dll - выгрузка лишних сразу же, постановка своих хуков на LoadLibrary, внешнее приложение, которое при обнаружении загрузки лишней библиотеки рубит программу
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Проверка памяти для приложений Qt
«
Ответ #20 :
Июнь 27, 2016, 21:05 »
Цитата: Igors от Июнь 27, 2016, 17:04
Типовой "перекос" в постановке. Зачем какая-то "подмена либ"? Напр на Вындоуз реально написать хук который будет запоминать нажатия для окна с таким-то именем и/или классом. А то и "найти готовый"
И что, как с этим бороться? Да просто не пускать козлов на машину - лучшего нет. Не отвечает программист за это. "Никогда не храни пароль явно" (хотя бы заXOR'ь) - это уже прозвучало. Остальное - улет хз куда
Или просто хешировать его и добавить на всякий "соль"
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Old
Джедай : наставник для всех
Offline
Сообщений: 4349
Re: Проверка памяти для приложений Qt
«
Ответ #21 :
Июнь 27, 2016, 21:19 »
Цитата: gil9red от Июнь 27, 2016, 21:05
Или просто хешировать его и добавить на всякий "соль"
Что бы что то хешировать нужно иметь эту строку в исходном виде. Вот человек и спрашивает, а сколько копий исходной строки останется в памяти после ввода ее через QLineEdit. И как от них избавится после завершения редактирования.
Записан
qate
Супер
Offline
Сообщений: 1175
Re: Проверка памяти для приложений Qt
«
Ответ #22 :
Июнь 27, 2016, 23:34 »
Цитата: Igors от Июнь 27, 2016, 17:04
Да просто не пускать козлов на машину - лучшего нет. Не отвечает программист за это. "Никогда не храни пароль явно" (хотя бы заXOR'ь) - это уже прозвучало. Остальное - улет хз куда
Но ведь обычно не получается не пускать
Программа отдается пользователю, а значит он может делать с ней что захочет
Остается только написать условия использования - "не ломать, нельзя"
Записан
Bepec
Гость
Re: Проверка памяти для приложений Qt
«
Ответ #23 :
Июнь 27, 2016, 23:47 »
Нет невзламываемых программ.
Есть программы, которые взламывать экономически нецелесообразно
Записан
qate
Супер
Offline
Сообщений: 1175
Re: Проверка памяти для приложений Qt
«
Ответ #24 :
Июнь 28, 2016, 09:30 »
Цитата: Bepec от Июнь 27, 2016, 23:47
Нет невзламываемых программ.
Но задача ТС им не решена: обнулять память нет смыла, как и шифровать
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Проверка памяти для приложений Qt
«
Ответ #25 :
Июнь 28, 2016, 11:08 »
Цитата: qate от Июнь 27, 2016, 23:34
Но ведь обычно не получается не пускать
Программа отдается пользователю, а значит он может делать с ней что захочет
Остается только написать условия использования - "не ломать, нельзя"
Пользователь и так имеет имеет пароль, что от кого засисяем?
QLineEdit здесь вообще ни при чем. Если верный пароль введен - найдутся средства узнать что введено. Это все равно как юзер сообщил пароль злоумышленнику - бороться с этим бесполезно. Вероятно имеется ввиду такое
Код
C++ (Qt)
if
(
edit
->
text
(
)
==
"TruePassword"
)
...
И нужно лишить возможности подсмотреть в отладчике с чем сравнивается введенное, и/или забить это место nop'ами
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4349
Re: Проверка памяти для приложений Qt
«
Ответ #26 :
Июнь 28, 2016, 11:36 »
Цитата: Igors от Июнь 28, 2016, 11:08
QLineEdit здесь вообще ни при чем.
Цитата: WereWind от Июнь 27, 2016, 10:39
Есть некое Qt-шное приложение, в котором есть QLineEdt, в который вводится пароль латиницей+цифры (echomode там, например, password). И требуется чтобы этот пароль для злоумышленников было максимально трудно получить. Считается, что после использования пароля внутри программы он надежно затирается своими средствами, и QLineEdit - это единственное уязвимое место.
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...