Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание защиты Shareware программ, Помогите новичкам сделать это :) 
:(
    Опции темы
gambit
Дата 28.1.2010, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



Цитата(CasperSC @  28.1.2010,  16:23 Найти цитируемый пост)
Слушай, а у тебя есть чувство юмора

Стараемся  smile  smile  smile  smile 


Цитата(CasperSC @  28.1.2010,  16:23 Найти цитируемый пост)
Так вот обработали её 2 обфускатора, будь другом скажи такая защита ломается?

1. Помнишь фильм, я к сожалению не помню как он называется, там труп попросили 2 раза проформалинить. Вот 2 обфускатора, напомнили мне именно этот момент.

Цитата(CasperSC @  28.1.2010,  16:23 Найти цитируемый пост)
просто код реально прочитать

в этом нет смысла

Цитата(CasperSC @  28.1.2010,  16:23 Найти цитируемый пост)
Ведь если его можно прочитать, то и защиту как я понимаю сломать?

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

Цитата(CasperSC @  28.1.2010,  16:23 Найти цитируемый пост)
Вообще-то, надо, чтобы только на его компе работал этот ключ, а как иначе?

Цитата(CasperSC @  28.1.2010,  16:23 Найти цитируемый пост)
Он просто его выложит где нибудь и всё.

1. Ты зацепился за номер видео карточки, а пользователь ее сменил, все получается он остался без программы, хотя заплатил за нее.

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

Я так и не понял в чем вопрос?
а) как защитить код от просмотра?
б) как защитить копию программы?
в) как создать ключ?
Давайте все таки определим ветвь дискуссии. 
PM MAIL ICQ Skype   Вверх
CasperSC
Дата 29.1.2010, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 27.11.2009

Репутация: нет
Всего: 1



Цитата(gambit @  28.1.2010,  17:26 Найти цитируемый пост)
Цитата(CasperSC @  28.1.2010,  16:23 )Так вот обработали её 2 обфускатора, будь другом скажи такая защита ломается?1. Помнишь фильм, я к сожалению не помню как он называется, там труп попросили 2 раза проформалинить. Вот 2 обфускатора, напомнили мне именно этот момент.


нет ну просто 1-ый обфускатор работает не полностью, точнее программы не работают, если в нём в настройках все пункты выбрать, ну типа защита по максимуму. Так вот программы работают, если выбрать только 2 пункта:
1) Strings obfuscation
2) Control Flow obfuscation.

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


Цитата(gambit @  28.1.2010,  17:26 Найти цитируемый пост)
Я так и не понял в чем вопрос?а) как защитить код от просмотра?б) как защитить копию программы?в) как создать ключ?Давайте все таки определим ветвь дискуссии. 


А чё толку? Никто всё равно конкретного кода не приводил и видимо не приведёт. Я только понял, что видимо меня не очень поняли, когда  я просил показать как генерировать код имел ввиду как сгенерировать код наподобии - FD4RT-SD5GN-QP9K0-AV1W1 Ну как бы хотел узнать как это делают профессионалы, а не тупо пробовать "перемешивать" строки и т.д. На основе namespace System.Security.Cryptography хотелось бы научиться это делать.

Мне предлагали на одном форуме использовать CPU ID (ага знать бы как его получить).

Это сообщение отредактировал(а) CasperSC - 29.1.2010, 12:53
PM MAIL   Вверх
ДобренькийПапаша
Дата 29.1.2010, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 3
Всего: 7



CasperSC, Вы Криса Касперски читали? Если нет, почитайте (Касперски "Отладка без исходных текстов"), увидите как ломаются программы написанные на С++, даже такие которые пишут отличные системные программисты. После этого у Вас отпадут глупости по поводу защиты .NET.

Это сообщение отредактировал(а) ДобренькийПапаша - 29.1.2010, 13:50


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
gambit
Дата 29.1.2010, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



Цитата(CasperSC @  29.1.2010,  11:22 Найти цитируемый пост)
как сгенерировать код наподобии - FD4RT-SD5GN-QP9K0-AV1W1

1. Любой генератор паролей
2. Используйте GUID
3. хеш от оборудования

Но при 3 варианте, будьте готовы к разборкам, в стиле, пользователь сменил комп или компонент - прога больше не работает.

Цитата(CasperSC @  29.1.2010,  11:22 Найти цитируемый пост)
System.Security.Cryptography

В этом пространстве, собраны все таки классы для шифрования данных, а не защиты проги.

Цитата(CasperSC @  29.1.2010,  11:22 Найти цитируемый пост)
использовать CPU ID (ага знать бы как его получить).

http://forum.vingrad.ru/topic-119723.html
правда там про делфи, но почитайте, вам будет интересно.
но для этого надо писать функции, работы с памятью, что приводит к тому, что c# только мешается.

Добавлено через 5 минут и 30 секунд
Цитата(CasperSC @  29.1.2010,  11:22 Найти цитируемый пост)
нет ну просто 1-ый обфускатор работает не полностью, точнее программы не работают, если в нём в настройках все пункты выбрать, ну типа защита по максимуму. Так вот программы работают, если выбрать только 2 пункта:
1) Strings obfuscation
2) Control Flow obfuscation.

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

вам как будто жалко, что в ваш код заглянут.

Кроме того, вся прелесть .net в последующем использовании компонентов программы.
Например, я написал обалденную прогу для работы с БД на WinForm. Пока писал формы стали не модными, стало модно WPF или web. В этом случае я просто пишу UI и подключаю библиотеку для работы с БД, все прога готова. При обфусификации, подключить библиотеку уже довользо затруднительно, значит надо искать и достовать ее исходник, а если исходник потерял, то писать заново.

Добавлено через 12 минут и 3 секунды
Цитата(gambit @  29.1.2010,  17:51 Найти цитируемый пост)
использовать CPU ID (ага знать бы как его получить).

А вообще посмотрите класс diagnostic, может там что и найдете, но врятли
PM MAIL ICQ Skype   Вверх
gambit
Дата 29.1.2010, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



Вообще, защита программ, на мой взгляд, это больше юридический аспект, нежели технический.

Цитата(ДобренькийПапаша @  29.1.2010,  13:39 Найти цитируемый пост)
Касперски "Отладка без исходных текстов"

Еще почитайте Майкл Ховард "Защищенный код"
там правда основной упор на другое, но по поводу взлома кое что есть

Добавлено через 2 минуты и 28 секунд
а в этой статье
http://www.cracklab.ru/art/?action=view&id=350

разбор программы после обфусификации
PM MAIL ICQ Skype   Вверх
AGENTxXx
Дата 5.2.2010, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 8.6.2009

Репутация: нет
Всего: 1



Ребята, а каким образом можно дописать в exe файл какие ни будь данные и не повредить его? т.е. есть 2 exe файла которые написанны на C#. Нужно чтобы один добавил данные в другой. Это реально? Пишу по теме, так как думаю как разработать тоже защиту
PM MAIL   Вверх
Любитель
Дата 5.2.2010, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(AGENTxXx @  5.2.2010,  21:59 Найти цитируемый пост)
Ребята, а каким образом можно дописать в exe файл какие ни будь данные и не повредить его?

В случае с .Net-ом вообще всё просто. Если программно - я бы рекомендовал Mono.Cecil. Если "вручную" - Reflector+Reflexil (последний использует тот же Mono.Cecil).


--------------------
PM MAIL ICQ Skype   Вверх
AGENTxXx
Дата 5.2.2010, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 8.6.2009

Репутация: нет
Всего: 1



Не, не с помощью лезть во внутрь, а с помощью отдельного exe файла который тоже сам пишешь
PM MAIL   Вверх
Любитель
Дата 5.2.2010, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(AGENTxXx @  5.2.2010,  22:44 Найти цитируемый пост)
Не, не с помощью лезть во внутрь, а с помощью отдельного exe файла который тоже сам пишешь 

 smile 

Посмотри туториалы по Mono.Cecil - там всё просто. Загружаешь сборку, ищешь нужный класс, нужный метод, берёшь для его Body CilWorker и делаешь с инструкциями что угодно.


--------------------
PM MAIL ICQ Skype   Вверх
AGENTxXx
Дата 5.2.2010, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 8.6.2009

Репутация: нет
Всего: 1



Спасибо! Чет ни чего, кроме Обфускации не нашел по поводу хорошей защиты. Хотя если подумать... долго подумать, то найдется все равно хороший метод который бы защитил от взлома. Например, придумали ведь шифрование с помощью открытого и закрытого ключа. И ведь пипец как долго его ломать, если приличной длины брать. Тут нужно что ни будь похожее по своей защите реализовать бы
PM MAIL   Вверх
AGENTxXx
Дата 6.2.2010, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 8.6.2009

Репутация: нет
Всего: 1



Вот, хорошая статья. Как защитить прогу (любую). Конечно тоже не 100% но время взлома точно увеличит: тут ссылка
PM MAIL   Вверх
Любитель
Дата 6.2.2010, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



"Не используйте стандартные функции" - сурово... "Ассеблер, ассемблер" - у нас же .Net вроде?
В целом - стандартные, отчасти очевидные, отчасти маниакальные и.. вообщем-то бессмысленные советы.


--------------------
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.