С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/35: Рейтинг темы: голосов - 35, средняя оценка - 4.57
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1

Защита ПО

17.07.2013, 13:35. Показов 6633. Ответов 52
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня, для меня случилось не приятное - один народный умелец - в моей программе - везде затёр моё имя, где это только можно...
Вот и появилась для меня задача - защита программы
Можно наложить протектор - займёт чуть больше времени - но всё же распаковать ресурсы возможно)
Вот и появилась идея - добавить проверку на MD5 или CRC ( + шифрование к этому ), подскажите возможно ли это?и стоит ли это того?Может у кого то есть другое решение?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.07.2013, 13:35
Ответы с готовыми решениями:

Защита программы от НСД. Защита путем шифрования части программы на флеш-диске или флешке
Написать программу на любом известном Вам языке программирования. Программа должна выполнять функцию защиты программы от НСД. Защита...

Защита от неправильного ввода "Защита от дурака"
Ввести элементы массива размерностью N>100; Предусмотреть защиту на каждый ввод элемента массива N>100; При не правильном вводе,...

Защита БД
Серы! Подскажите плиз. Как защитить базу данных на уровне пользователей от посторонних глаз без лишних наворотов? Создание файла...

52
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.07.2013, 01:51
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от nick42 Посмотреть сообщение
Поищу
DeUPack 0.2.rar
RL!deWinUPack.rar
Upack 0.37 OEP.rar
UPack PE Fixer 1.0.rar
WinUpack 0.39 Static Unpacker 0.2 (Pionero).rar
WinUpack 0.39 Static Unpacker 0.3 + Src (UsAr).rar
WinUpack 0.3x PE Fixer.rar
WinUpack 0.3x.rar
WinUpack KiLLeR 0.01.rar
WinUpack.rar


WinUpack.7z

Добавлено через 13 минут
Цитата Сообщение от nick42 Посмотреть сообщение
Примитивно - но изменения в теле программы отловит
MapFileAndCheckSum function
2
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
19.07.2013, 09:09
Некоторые замечания по методу... .
Я недооценил наших хакеров и поленился создавать панель вручную, а надпись на ней формировать посимвольно, чтобы строка "До свидания" явно в теле программы не присутствовала. В итоге, - одного взгляда на ресурсы было достаточно для понимания: что требуется искать. Конечно, от банального видоизменения программы средствами какого-нибудь редактора ресурсов такая защита убережет, но не от друзей "Интерактивного ДизАссемблера". Более предметные соображения появятся у меня - я надеюсь - после изучения листинга программы, сформированного IDA.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
19.07.2013, 09:37
Цитата Сообщение от nick42 Посмотреть сообщение
чтобы строка "До свидания" явно в теле программы не присутствовала. В итоге, - одного взгляда на ресурсы было достаточно для понимания: что требуется искать.
Тогда у тебя просто явно будет присутствовать создание панели. Если поставить bp на вызовы CreateWindow, то будет видно, как создаются все компоненты на твоей форме. И после патчинга твоего файла, сразу станет заметно, что на один вызов стало больше, если создавать динамически. Как в случае с твоей первой программой, при модификации, перестал вызываться SetWindowPos с указанием спрятать панель. Останется найти, где изменился flow у кода. Про строки "до свидания" и как они формируются можно даже не знать.
2
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.07.2013, 10:11
Цитата Сообщение от nick42 Посмотреть сообщение
посимвольно
Я вас умоляю... в дизассемблере этот кусок будет торчать, как гвоздь в ботинке.

[OT]
Никто не станет вручную перелистывать 50+ Mb файл на Delphi, но тренированный глаз цепляется за любую "неровность" кода. И как только хакер "споткнется" о кончик вашего крипто, разматывание всего клубка - только вопрос времени.

Хорошая защита требует "хорошего времени" на разработку. И если это не основной ваш продукт - на продажу, то это время будет потеряно дважды: первый раз, когда вы изымете его из бюджета программы, и второй - когда хакер разломает вашу защиту.
[/OT]
2
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
19.07.2013, 10:49
Ну, я ж говорил... - нет у меня практики. Поэтому сужу по своему мелкому опыту. Понимаю, что каждый хакер применяет свой "любимый" метод; вручную просматривать километровый листниг IDA, конечно, не резонно. Но я использую поиск по тексту. А для "контекста" нужно ж что-то выбрать! У кого в таких делах опыт, у тех глаз сам "цепляется" за характерные особенности кода. А представьте, что видите экран IDA третий или четвертый раз в жизни... - много там понятного будет? Чем более опытный программист работает на анализе программы, тем труднее (практически невозможно, я думаю) создать непробиваемую защиту. Но от таких как я "хакеров" предложенный метод - это определенная защита (что и требовалось камраду Ddv122 )...
1
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.07.2013, 11:20
Как школьнику драться с отборной шпаной?
(c) Вл. Высоцкий, "Профессионалы"


Прежде чем написать свой первый криптоалгоритм, математик много лет пытается ломать чужие :-)

Разработчики защит проходят точно такую же школу. Если вы не знаете, какими инструментами и какими методами будет пользоваться хакер, как он думает и на что смотрит в вашем коде, можете ли вы рассчитывать на успех?
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
19.07.2013, 11:27
На прошлой неделе интересовался защитой ПО.
Просмотрел решение Guardant, у них есть защита исполняемых файлов. Идея защиты заключается в том, что часть кода приложения выполняется в виртуальной машине, в которой применяется псевдокод и обфускация.
При помощи софтварных ключей можно надежно шифровать строки, а псевдокод и обфускация позволяет усложнить анализ в отладчике участков программы, где производиться расшифровка.
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.07.2013, 11:34
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
решение Guardant
Эти "решения" кормят немалое число хакеров, занятых эмуляцией ключей :-)
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
19.07.2013, 11:46
gazlan, нет не взламываемых программ, все определяется ценой.
Взлом защищенного экзешника + разработка эмулятора ключа дело не из легких.
И сколько стоит специалист который может это сделать?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
19.07.2013, 11:49
Цитата Сообщение от gazlan Посмотреть сообщение
Если вы не знаете, какими инструментами и какими методами будет пользоваться хакер, как он думает и на что смотрит в вашем коде, можете ли вы рассчитывать на успех?
Полностью согласен!
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
псевдокод и обфускация позволяет усложнить анализ в отладчике
- это, мне кажется, снова-таки зависит от квалификации хакера, берущегося за взлом.
Вообще же, тема эта бесконечная, но я думаю, - стоит не забывать о соотношении потребности защиты ПО и дополнительных сложностей, сопряженных с такой защитой. Самое простое, на мой взгляд, применять уже существующие, большей частью коммерческие, продукты, созданные специально для таких целей, как защита программы от взлома. Минимум телодвижений - максимальная польза!
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.07.2013, 12:13
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
И сколько стоит специалист который может это сделать?
Вот здесь спросите :-) Dongles emulation

Добавлено через 7 минут
Цитата Сообщение от nick42 Посмотреть сообщение
Минимум телодвижений - максимальная польза
Навскидку: Armadillo, ASProtect, ExeCryptor - по всему инету валяются распаковщики старых версий (для новых они, обычно, в private). Еще десятки протекторов просто ушли с рынка, не выдержав темпа.

Надо понимать, что это война с переменным успехом и ни одна сторона не может рассчитывать на долгий выигрыш :-)
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
19.07.2013, 12:24
Цитата Сообщение от gazlan Посмотреть сообщение
Вот здесь спросите :-) Dongles emulation
Там эмуляторы к ключам 8-10 летней давности.
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.07.2013, 12:35
Затрудняюсь сказать, далек от темы. Последний HASP с которым я имел дело, был еще под DOS :-)

Но и на экзэтулсах и на экзэлабе (и не только там) эмуляторы ключей активно обсуждают и (хотя я не слежу за дискуссией, мой профиль - сигнатурные анализаторы), не думаю, что речь идет о проблемах десятилетней давности.
1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
19.07.2013, 12:43
Цитата Сообщение от nick42 Посмотреть сообщение
Самое простое, на мой взгляд, применять уже существующие, большей частью коммерческие, продукты, созданные специально для таких целей, как защита программы от взлома
Простое. Но пользы максимальной нет. Стоит сломать один раз одному человеку, и летят почти все продукты, в которых такая защита используется. И покупая ее, ты, в большинстве случаев, покупаешь уже давно сломанную защиту.
2
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
19.07.2013, 14:56
Vourhey, это зависит от того, как именно работает эта защита.
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.07.2013, 15:21
Цитата Сообщение от Ddv122 Посмотреть сообщение
Вот и появилась идея - добавить проверку на MD5 или CRC ( + шифрование к этому ), подскажите возможно ли это?и стоит ли это того?Может у кого то есть другое решение?
Если по простому можно проверять хеш того что берётся из ресурсов и если не совпадает что - валить программу, а еще лучше грохать систему юзера что бы не повадно было (по идее должно отбить желание у народных умельцев)

Все это конечно можно обойти дезасемблированием, но это уже затраты кроме того нужно уметь
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
19.07.2013, 15:24
Цитата Сообщение от Avazart Посмотреть сообщение
это уже затраты кроме того нужно уметь
.. так умеют же
Защита ПО
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.07.2013, 15:32
Я к тому что нужно знать ASM что бы выпилить окно или сравнение c хешем, или Application->Terminate()

Строки же выпилить куда легче.
1
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
19.07.2013, 15:42
Цитата Сообщение от Avazart Посмотреть сообщение
Я к тому что нужно знать ASM что бы выпилить окно или сравнение c хешем, или Application->Terminate()
чё?
В конечном итоге все водиться к одному или нескольким if(isValid ()); if(a==b) и т.д, что выпиливается на раз.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
19.07.2013, 15:45
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
что выпиливается на раз.
- и даже, если этих if в листинге несколько тысяч?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.07.2013, 15:45
Помогаю со студенческими работами здесь

Защита БД
Слышал, что имеется возможность защитить БД от копирования. Т.е. запуска на другом ПК. Не подскажите, что необходимо сделать, чтобы БД...

Защита
как защитить бд от дурока. т.е. что бы работа я в базе он не смог зайти в конструктор случайно. либо с шифтом открыть конструктор при...

Защита на wi-fi
Всем добрые сутки! Подарили DSL-2640U/BR/C2..Инет настроил на ноут и стационарный комп..всё пашет! Как мне настроить пароль на вай-фай при...

Защита
WinAPI - отличный инструмент для управления сторонним приложением. Но бывают случаи, когда такое управление чревато. Как защитить свое...

Защита
добро всем время суток! нужна программа по защите в которую входит: видео наблюдение, слежение за пожарными датчиками и управления...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru