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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Обфускация строк бинарника  (Прочитано 12882 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #15 : Октябрь 21, 2016, 13:49 »

Вы случаем не пароли / секретные ключи храните? Улыбающийся
а где же их еще хранить ? )
Ну вообще-то нужно хэши хранить. Ну или хранить зашифрованными, с паролем пользователя... тут все от задачи зависит.
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #16 : Октябрь 21, 2016, 14:05 »

Вы случаем не пароли / секретные ключи храните? Улыбающийся
а где же их еще хранить ? )
Ну вообще-то нужно хэши хранить. Ну или хранить зашифрованными, с паролем пользователя... тут все от задачи зависит.

Смотря с чем работаешь Улыбающийся
Если к какому-то сервису обращаешься, то ему ведь передается пароль, а не хеш от пароля, а тот уже если правильный пароль хеширует и в базе сохраняет, а так отдать хеш пароля, чтобы сервис сделал хеш хеша пароля, чтобы потом ругаться Улыбающийся
Записан

Akon
Гость
« Ответ #17 : Октябрь 27, 2016, 11:19 »

У меня была задача - строка должна оставаться открытой (видимой) в бинарнике, например, это может быть информация об авторских правах, но стойкой к изменению, т.е. любопытный пользователь изменяет строку в HEX-редакторе, а она все равно предстает в программе в неизменном виде.

Для решения использовалось помехоустойчивое кодирование (коды Рида-Соломона). Вкратце, суть: вместо исходной строки
Код:
"хрен изменишь!" 
используется строка вида
Код:
"хрен изменишь!виьдил ывдуцщиму"
с проверочными символами в конце. В случае повреждения (изменения) символы исходной строки восстанавливаются из проверочных в результате декодирования.

Это так-называемая систематическая форма кодирования, в которой исходная информация используется в неизменном виде. Существует и несистематическая форма, в которой исходная информация в неизменном виде не присутствует, что можно использовать для целей сокрытия.

Существует несколько открытых и нет С/С++ либ для решения задач, связанных с помехоустойчивам кодированием.
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #18 : Октябрь 27, 2016, 11:29 »

У меня была задача - строка должна оставаться открытой (видимой) в бинарнике, например, это может быть информация об авторских правах, но стойкой к изменению, т.е. любопытный пользователь изменяет строку в HEX-редакторе, а она все равно предстает в программе в неизменном виде.

Для решения использовалось помехоустойчивое кодирование (коды Рида-Соломона). Вкратце, суть: вместо исходной строки
Код:
"хрен изменишь!" 
используется строка вида
Код:
"хрен изменишь!виьдил ывдуцщиму"
с проверочными символами в конце. В случае повреждения (изменения) символы исходной строки восстанавливаются из проверочных в результате декодирования.

Это если где-то в строке были изменены некоторые символы, а если заменить полностью строку?
Записан

deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #19 : Ноябрь 01, 2016, 08:33 »

Это если где-то в строке были изменены некоторые символы, а если заменить полностью строку?
Можно все строки заархивировать, и в случае нарушения crc востанавливать("архив" внутри исполняемого файла). Проще asprotect использовать.
Записан
Akon
Гость
« Ответ #20 : Ноябрь 01, 2016, 09:56 »

Цитировать
Это если где-то в строке были изменены некоторые символы, а если заменить полностью строку?
Декодер поймет, что информация не восстановима. Проверочные символы (абракадабра в конце) воспринимаются как какой-то код, и их не патчат, поскольку хз что это такое (по крайней мере на первый взгляд). Более того, их можо разместить в другом месте посреди кода.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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