Форум 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)

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, время: 12:12.

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