Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/37: Рейтинг темы: голосов - 37, средняя оценка - 4.84
4 / 4 / 1
Регистрация: 19.02.2013
Сообщений: 42

Как можно защитить пароль?

11.07.2013, 23:16. Показов 7837. Ответов 42

Студворк — интернет-сервис помощи студентам
Добрый вечер, как можно защитить пароль который находится в коде для авторизации на сайтах и для отправки писем через SMTp server??? например если exe посмотреть дизассемблером то пароль в явном виде. что сделать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.07.2013, 23:16
Ответы с готовыми решениями:

Как защитить сторонний exe-файл от запуска, установив на него пароль
Всем привет. Дали задание. Суть его такова: есть какой-то файл.exe. На него нужно "навесить" защиту. Как я понял нужно...

Можно ли таким образом защитить программу
Допустим, известны основные утилиты и программы для взлома c#. Во время работы нашей программы просто проверяем, не запущен ли какие-нибудь...

Как в консольном приложении можно ввести набор символов в окна логин-пароль?
Доброго времени суток всем! Подскажите, пожалуйста, как в консольном приложении можно ввести набор символов в окна логин-пароль? ...

42
 Аватар для Anklav
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661
23.07.2013, 16:42
Студворк — интернет-сервис помощи студентам
Пустой треп, вы рабочий пример напишите.

Одно приложение в которое вводим пароль во время выполнения, а второе приложение которое показывает этот пароль, и выложите.

Цитата Сообщение от I2um1 Посмотреть сообщение
Тогда SecureString вообще не нужен. Очевидно же.
Вы видимо дальше процитированных вами слов не читали? Прочитайте.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.07.2013, 17:02
Anklav, попробую объяснить максимально понятно.
На .NET любая скомпилированная программа (exe-файл, допустим) представляется в виде промежуточного кода IL, а не машинного кода. Это же рай для реверс инжиниринга.
Берем этот exe-файл и тупо открываем через любую утилиту, которая показывает IL. Находим необходимое место в коде и тупо дописываем свои IL-инструкции. Вероятно, после такого надругательства еще придется поковыряться в манифесте сборки. Все зависит от того, что мы там натворили.
В итоге получается та же самая, но только пропатченная, программа.

Цитата Сообщение от Anklav Посмотреть сообщение
Пустой треп, вы рабочий пример напишите.
Смысла выкладывать исходную и пропатченную программу не вижу. Так как вы не сможете проверить то, что я действительно изменил исходную.
Еще вот что хочу заметить. В случае примера предложенной программы я бы вообще в IL не стал ковыряться, а транслировал бы IL в C#, допустим через ILSpy. В итоге имеем исходник, создаем новый проект, копируем исходник, модифицируем, собираем.
0
 Аватар для Anklav
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661
23.07.2013, 17:13
Это уже изменение программы, я просил вас сделать во время выполнения.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.07.2013, 17:46
Anklav, не ищем легких путей? У меня нет желания решать задачу сложно, если можно решить проще. Во время выполнения необходимо лишь найти указатель, где хранится SecureString. Могу вас заверить, так никто не делает.
Я знаю какая сейчас пойдет отмазка: "переменная долго не хранится". А процесс можно заморозить.

Добавлено через 4 минуты
Мне идея "изменить память" напоминает умников, которые пишут ботов для игр через хуки.
0
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
23.07.2013, 17:47
Цитата Сообщение от I2um1 Посмотреть сообщение
О боже, это тоже, кстати, ломается. Мне интересно как скрипт узнает, что данные пришли достоверные. Вариант с хешированием или что-то в этом духе - мимо.
Как я понял, человек пишет программу, которая будет с любого пк передавать какие-то данные. (на вирус смахивает).
Ломается, конечно. А вы разве можете написать то, что нельзя сломать? И почему вариант с хэшированием мимо?
Пара-тройка связанных параметров с математической логикой. Защита слабая, уязвимость в том, что скрипт может пересылать данные, если логика разгадана (в .NET тем более). Но зато пароль от ящика будет храниться на облаке, а не в коде программы.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.07.2013, 18:05
Neal, ломается все, сколько бы сложным оно не было. Но здесь есть фактор, который я не огласил: время, а еще точнее - длина ключа. Чем больше ключ, тем дольше его искать. Можно тупо взять RSA, сказать всем, что мы использовали RSA и сгенерировать большой ключ. Никто не будет даже пробовать его дешифровать. Но это применимо только к архитектуре сервер-клиент. С десктопными же приложениями весь фокус в том, что функция дешифровки хранится на компьютере у пользователя. Если есть функция дешифровки, то не все ли равно какой длины ключ или как там напакостил программист в коде, чтобы его не прочитали.
Недостаток хеша в дублировании данных и нахождении закономерности, что нельзя сказать про тот же банальный RSA.
0
 Аватар для Anklav
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661
23.07.2013, 22:23
Я говорю про извлечение данных во время выполнения, потому, что в программе может быть заглушка которая проверяет контрольную сумму программы, и не запускается в случае изменения exe файла. Да это тоже можно сломать, и вообще десктопные приложения ломаются все. Но вопрос в том, как долго вы будете его ломать, а SecureString замедляет это процесс, к тому же, я уже писал, что вторая особенность использования в том, что у вас не будет куча паролей в памяти (String как известно не изменяемый тип, и при изменении прошлой строки, старая остается + создается новая, а если старая была в 2 поколении, то удалится она от туда не скоро, что может привести к ее появлению на ЖД, а если она там появится не в зашифрованном виде, то это не очень хорошо)
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.07.2013, 23:54
Anklav, прочитайте-ка еще раз 24, а потом 22 пост.
Цитата Сообщение от Anklav Посмотреть сообщение
в программе может быть заглушка которая проверяет контрольную сумму программы
Та хоть 100 заглушек. Мне все равно. Первый способ займет у меня от силы 10 минут, второй - максимум 1-2 часа.
Полезность класса SecureString никакая. Пароль в коде не сохранить. Если пришел пароль из сети, можно отловить его сниффером, или тупо дописать в программе код, который выводит этот пароль.
0
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
24.07.2013, 00:17
В том-то и дело, что ломается все.
Но мы уже зашли на обычный спор о шифровании.
Оставим эту тему.
Вы, конечно, I2um1, умеете критиковать, но каких-либо конструктивных идей мало.

Выйти из положения "как хранить", можно лишь одним способом - забыть про это и подойти к задаче с другой стороны (с сзади, так сказать). Существуют сервисы временных email'ов. Решение - найти такой сайт и научить программу общаться с этим сайтом и пересылать с него данные на нужный вам ящик.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.07.2013, 00:24
Цитата Сообщение от Neal Посмотреть сообщение
но каких-либо конструктивных идей мало.
Их попросту нет. Самое нормальное решение - отправлять данные на сервер, а не на почту, но нужен постоянно работающий сервер.
0
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
24.07.2013, 00:29
Этот способ ломается так же, как и с использованием PHP, но, возможно, чуть посложнее.
Прослушка на порты и все. Только ждать и верить.

Цитата Сообщение от I2um1 Посмотреть сообщение
нужен постоянно работающий сервер.
Это и моему ПК понятно.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.07.2013, 00:39
Neal, зато пользователи не пострадают от жулика. В случае с почтой, изменение пароля на почте приводит к неработоспособности программы. В случае с сервером, лишь небольшое количество недостоверных данных.
0
 Аватар для Anklav
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661
24.07.2013, 13:02
Я уже вам писал для чего нужен этот SecureString 3 раза. Последний раз повторю: для того что бы на жестком диске небыло записей вашего пароля, если вам это не понятно, то извините.
1
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.07.2013, 13:12
Anklav, бесполезный класс. (:
0
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
25.07.2013, 11:28
Цитата Сообщение от I2um1 Посмотреть сообщение
В случае с сервером, лишь небольшое количество недостоверных данных.
А в случае PHP обработчика, пользователи тоже могут пострадать от неработающей программы?
Надеюсь вы, когда пишите что-то, не пересылаете пароль вашим облачным скриптам (если они есть, конечно же).
Сервер с личным ПО - дело не бесплатное. А PHP обработчик, чтобы с него шли данные - самое то.
0
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 5
26.07.2013, 12:23
I2um1, Вставлю пару слов.
Даже dotNet код можно закрыть. Не говорю, что совсем.
К примеру программа ILProtector. Бесплатная, но свою задачу делает. Есть платные и более сильные в сокрытие кода.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
26.07.2013, 14:22
KarpovDL, de4dot или SAE. Десктопную .NET-программу не защитить - смиритесь.
0
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 5
26.07.2013, 14:42
I2um1, Все можно "сломать". Вопрос времени и сложности
Пример сокрытия кода http://yadi.sk/d/OTBRPIk87F-M1
Всегда было интересно научится ставить "на замок" код.
0
4 / 4 / 1
Регистрация: 19.02.2013
Сообщений: 42
31.07.2013, 19:18  [ТС]
Ух ты какая дискуссия тут развернулась, спасибо всем много узнал, вопрос пока не решил, пока руки не дошли..но тут же возникает такая мысль смысл например ломать программу, те тратить время при логике время-деньги...если только из-за интереса..
0
0 / 0 / 0
Регистрация: 02.08.2013
Сообщений: 1
02.08.2013, 13:21
как же я Вам всем завидую(в хорошем смылсе).хотел бы тоже иметь такой багаж знаний по программированию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.08.2013, 13:21

Как защитить свой пароль?
Добрый день! Расскажите как защитить пароль под звёздочками в Edit от Password Cracker???

Как установить пароль и защитить листы и кнопки
У меня имеются на листе Excek кнопки - удалить, редактировать, добавить. Можно ли как то сделать, чтобы они были недоступны пользователю,...

Как можно защитить приложение от взлома?
Как можно ещё защитить код (усложнить работу при декомпиляции)? Тема была выделена отсюда -...

Как можно защитить BAT, сконвертированный в EXE?
Здравствуйте, необходимо сделать из BAT файла экзешник, который не будет поддаваться декомпиляции. Обычные BAT to EXE (во всяком случае,...

Как можно защитить свое приложение он декодирования
Здравствуйте подскажите пожалуйста 1) как можно защитить свое приложение он декодирования 2) как защитить свой исходный код который...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru