Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   защита приложения от использования конкурентами (http://www.flasher.ru/forum/showthread.php?t=129606)

barkaloid 05.09.2009 21:22

защита приложения от использования конкурентами
 
Есть задача разработать standAlone приложение. Требование заказчика чтоб приложение не могли переписать и использовать конкуренты. Ну сделать так чтоб не возможно было переписать я думаю не реально, а вот создать приложение которое будет работать только на одном компьютере и не запускаться на других думаю можно. Но как не пойму.
Может у кого была такая задача, как решали?

VVall 05.09.2009 21:34

Если приложение в принципе возможно как-то получить, например легальным способом (купить) - "конкурент" получает (покупает) его один раз и дальше делает с ним что хочет, и никакие защиты вам не помогут. Если приложение невозможно получить, то и защита ему не нужна.

MrPoma 05.09.2009 21:38

Ну какие-то простецкие способы защиты есть, но от серьезных намерений они не защитят.

barkaloid 05.09.2009 21:53

Цитата:

Сообщение от VVall (Сообщение 848538)
Если приложение в принципе возможно как-то получить, например легальным способом (купить) - "конкурент" получает (покупает) его один раз и дальше делает с ним что хочет, и никакие защиты вам не помогут. Если приложение невозможно получить, то и защита ему не нужна.

Купить приложение нельзя уже будет, все права на него у заказчика.

Просто заказчик боится что ктонибудь перепишет в тихорях его с их компа.

Добавлено через 1 минуту
Цитата:

Сообщение от MrPoma (Сообщение 848539)
Ну какие-то простецкие способы защиты есть, но от серьезных намерений они не защитят.

например?

wvxvw 05.09.2009 22:09

Просто не устанавливать, пока не заплатят :)
т.е.
1. потребовать регистрацию через интернет.
2. после регистрации (оплаты) выдать какой-нибудь серийный номер или что-то такое.
3. потребовать активацию, опять же через интернет.
4. после активации сделать серийный номер больше не действительным.

Но это поможет только если програму не будут декомпилировать :)

barkaloid 05.09.2009 22:27

Цитата:

Сообщение от wvxvw (Сообщение 848546)
Просто не устанавливать, пока не заплатят :)
т.е.
1. потребовать регистрацию через интернет.
2. после регистрации (оплаты) выдать какой-нибудь серийный номер или что-то такое.
3. потребовать активацию, опять же через интернет.
4. после активации сделать серийный номер больше не действительным.

Но это поможет только если програму не будут декомпилировать :)

а если exe шник сделать? его тоже декомпелировать можно?

iNils 05.09.2009 22:29

Можно.

GentleFLASH 05.09.2009 22:30

и exe тоже можно вскрыть)

iNils 05.09.2009 22:37

exe это плеер + swf

aksios 06.09.2009 13:59

Есть куча софтовых разаработок, которые ограничивают дистрибуцию чего угодно.
Иногда даже фри.
Добавлено через 11 минут
Простейший способ немного поизвращаться с настройками винрара - в плане пароля и способа распаковки самораспаковывающегося архива.
Как пример:
http://flash-ripper.com/content/flas...rukturoi-papok

Alex Lexcuk 06.09.2009 14:53

Вот способ - в момент инсталяции прога кодирует - пишет время установки в файл.
Затем - надо через инет прогу зарегестрировать.
Будет формула, которая уникально сопостовляет время и полученный код для true результата.
В итоге каждой программке нужен будет уникальный код. Так-же можно в файл загнать и свой-же путь для установки серийник копютера (должен быть и такой) и при грубом перемещении у программы поменяется путь и она не захочет работать, еще есть реестр...Виндовс - можно извращаться до бесконечности.

aksios 06.09.2009 15:20

Alex Lexcuk, тогда уж правильней при установке затребовать UI компьютера, зарезервировать под работу проги сервер и при запуске проги посылать на него уведомление.

barkaloid 06.09.2009 21:14

Цитата:

Сообщение от Alex Lexcuk (Сообщение 848639)
Вот способ - в момент инсталяции прога кодирует - пишет время установки в файл.
Затем - надо через инет прогу зарегестрировать.
Будет формула, которая уникально сопостовляет время и полученный код для true результата.
В итоге каждой программке нужен будет уникальный код. Так-же можно в файл загнать и свой-же путь для установки серийник копютера (должен быть и такой) и при грубом перемещении у программы поменяется путь и она не захочет работать, еще есть реестр...Виндовс - можно извращаться до бесконечности.

Вот, этот способ я думаю пойдет. А как достать серийник компа? У флеша есть такой метод?

VVall 06.09.2009 22:38

Нет никакого "серийника компа" - компьютер не единое целое, он представляет собой набор взаимозаменяемых частей. Есть UID у некоторых отдельных компонентов, только, во-первых, пользователь имеет полное право их заменять (устарели, сломались); во-вторых, Flash многоплатформенный, а разные платформы устроены по разному - возможности обратиться напрямую к аппаратуре просто нет. Чтобы получить подобную информацию извне - надо писать под каждую платформу программу не на Flash. И зачем тогда он вообще нужен?

Alex Lexcuk 06.09.2009 22:41

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

Можно еще попробовать Class Capabilities, там стоко приколов, что наверно для разных компов будет выдавать какое то отличие по полям, можно из них слепить серийник.

barkaloid 07.09.2009 00:10

ладна, спасибо за советы, будем пытаться

Герыч 07.09.2009 00:51

не совсем понял) копия проги - одна или много? сложилось впечатление, что автор хочет защитить один экземпляр флэхи

barkaloid 07.09.2009 01:37

Цитата:

Сообщение от Герыч (Сообщение 848711)
не совсем понял) копия проги - одна или много? сложилось впечатление, что автор хочет защитить один экземпляр флэхи

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

HraD 13.09.2009 18:02

Цитата:

Сообщение от barkaloid (Сообщение 848712)
нет, это будет флеш приложение для сетей мебельных магазинов. Приложение будет установлено на компьютеры в каждом магазине.

Вынеси расчеты из проги на сервер и без сервера прога будет бесполезной )))

SamFR 13.09.2009 22:02

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

Например, в аналогичном случае (да, ненормальных заказчиков много =) я применял такой метод:
1. программа перед инициализацией получает с сервера имена классов, соответствующие набору хэшей (например, TF65123GMF2UY135.8)
2. различные компоненты программы (которых много и в разных местах) инициализируются следующим образом: new getDefinitionByName(HashManager.getClassName('<какой-то хэш>'))()
3. ну и ещё некоторые ухищрения =)

Копируем прогу, например, на ноут, запускаем – и она вываливается с кучей страшных ошибок TypeError (попытка доступа к свойству объекта типа Null). Такой метод, конечно, не идеален, но позволяет, без вынесения части функциональности на сервер, существенно затруднить разбор и запуск программы на стороннем компьютере.


Часовой пояс GMT +4, время: 08:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.