Форум программистов, компьютерный форум CyberForum.ru

Visual C++

Войти
Регистрация
Восстановить пароль
 
zombivadim
3 / 3 / 0
Регистрация: 03.04.2016
Сообщений: 187
#1

Строки в кавычках в релиз файле - Visual C++

01.01.2017, 20:36. Просмотров 243. Ответов 9
Метки нет (Все метки)

Подскажите, заметил такую особенность, все строки заключенные в кавычки (будь то пути к файлу или комментарии ошибок), в откомпилированном exe, находятся в текстовом формате. Меня это напрягает, как мне избежать того, чтобы любой любопытный мог посмотреть, эту информацию в обычном текстовом редакторе?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
quwy
Native x86
 Аватар для quwy
3079 / 1927 / 506
Регистрация: 13.02.2013
Сообщений: 6,415
01.01.2017, 20:49     Строки в кавычках в релиз файле #2
1. Придумать алгоритм шифрования или кодирования строк (да хоть base64 для начала).
2. Написать утилиту, которая будет шифровать/кодировать строки выбранным способом.
3. Написать функцию расшифровки/декодирования строк и сделать ее глобально видимой в проекте.
4. Пропустить каждую строковую константу и литерал исходников через программу из п. 2, заменив оригинальные строки, и обернуть все обращения к этим строкам функцией из п. 3.

Добавлено через 4 минуты
P.S. Однако любой мало-мальски подкованный реверсист всегда сможет восстановить строки, если захочет. Эта защита исключительно от нубов, и по другому быть просто не может.
zombivadim
3 / 3 / 0
Регистрация: 03.04.2016
Сообщений: 187
01.01.2017, 21:03  [ТС]     Строки в кавычках в релиз файле #3
quwy, Я ни в одной программе не видел что бы подобная информация была в открытом виде. Либо все шифруют строки, как вы предложили, либо может есть какая нибудь опция в настройках проекта?
quwy
Native x86
 Аватар для quwy
3079 / 1927 / 506
Регистрация: 13.02.2013
Сообщений: 6,415
01.01.2017, 21:08     Строки в кавычках в релиз файле #4
Цитата Сообщение от zombivadim Посмотреть сообщение
Я ни в одной программе не видел что бы подобная информация была в открытом виде.
Да ну?
Строки в кавычках в релиз файле
Стандартный виндовый калькулятор (файл CALC.EXE), прекрасно видны регулярные выражения и текстовые константы.
quwy
Native x86
 Аватар для quwy
3079 / 1927 / 506
Регистрация: 13.02.2013
Сообщений: 6,415
01.01.2017, 21:12     Строки в кавычках в релиз файле #5
Firefox последней версии:
Строки в кавычках в релиз файле
Видны даже пути на диске разработчиков, которых на моем компьютере нет.

P.S. Можете сжать бинарник при помощи UPX, тогда строк видно не будет (но распаковывается такой EXE до исходного состояния в два клика).
zombivadim
3 / 3 / 0
Регистрация: 03.04.2016
Сообщений: 187
01.01.2017, 21:55  [ТС]     Строки в кавычках в релиз файле #6
quwy, Вы эту информацию увидите в обычном блокноте?

Добавлено через 8 минут
Вы используете какой то режим в FAR? был бы благодарен за пояснение как включить такой просмотр.

Добавлено через 1 минуту
У меня все строковые константы собраны в одном месте и видны в обычном блокноте.
quwy
Native x86
 Аватар для quwy
3079 / 1927 / 506
Регистрация: 13.02.2013
Сообщений: 6,415
01.01.2017, 22:24     Строки в кавычках в релиз файле #7
Блокнот, или FAR, не важно. Любая программа просмотра файлов годится. Единственное, что текст может быть в разных кодировках. На скринах выше calc.exe содержит строки в UTF-16LE, а Firefox - в однобайтовой ANSI. Некоторые компиляторы и вовсе используют UTF-8. При использовани FAR файл открывается по F3, а кодировку можно переключять по Shift+F8.
zombivadim
3 / 3 / 0
Регистрация: 03.04.2016
Сообщений: 187
01.01.2017, 22:52  [ТС]     Строки в кавычках в релиз файле #8
quwy, Спасибо за подробное разьяснение, начинает доходить. Только в FAR есть богатая возможность выбора кодировок.
quwy
Native x86
 Аватар для quwy
3079 / 1927 / 506
Регистрация: 13.02.2013
Сообщений: 6,415
01.01.2017, 22:55     Строки в кавычках в релиз файле #9
zombivadim, не только. Стандантный блокнот при открытии файла тоже позволяет выбрать между однобайтовой и юникодными. Но FAR, конечно, удобнее, там можно на лету переключать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2017, 23:14     Строки в кавычках в релиз файле
Еще ссылки по теме:

Visual C++ Отлаживаю программу в режиме релиз, выдает ошибку: Необработанное Исключение Microsoft C++: std::bad_alloc
Релиз mfc приложения Visual C++
Формирование строки из тех же слов исходной строки в обратном порядке Visual C++
Visual C++ Ошибка в файле rc
Ошибка в файле с ресурсами Visual C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gazlan
Нарушитель
3129 / 1904 / 285
Регистрация: 27.08.2010
Сообщений: 5,133
Записей в блоге: 1
01.01.2017, 23:14     Строки в кавычках в релиз файле #10
Hiew в помощь. Смотреть / переключать / редактировать.

Strings v2.53
Working on NT and Win2K means that executables and object files will many times have embedded UNICODE strings that you cannot easily see with a standard ASCII strings or grep programs. So we decided to roll our own. Strings just scans the file you pass it for UNICODE (or ASCII) strings of a default length of 3 or more UNICODE (or ASCII) characters. Note that it works under Windows 95 as well.
Yandex
Объявления
01.01.2017, 23:14     Строки в кавычках в релиз файле
Ответ Создать тему
Опции темы

Текущее время: 11:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru