Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как получить доступ из swf к сведениям о подключенном оборудовании (http://www.flasher.ru/forum/showthread.php?t=138697)

Myrka777 14.04.2010 14:42

Как получить доступ из swf к сведениям о подключенном оборудовании
 
Хотелось бы защитить свой swf таким образом, чтобы он воспроизводился только на компе, к которому подключены например колонки (или другое устройство) с определенным уникальным номером (типа "КОД ЭКЗЕМПЛЯРА УСТРОЙСТВА", который можно посмотреть в диспетчере устройств).
Как это можно реализовать? В каком направлении двигаться? Помогите, Великие Умы!

Tails 14.04.2010 15:04

поставте пароль на флешку

VVall 14.04.2010 16:00

Flash - мультиплатформенная технология, поэтому прямого доступа к устройствам и функциям ОС он не предоставляет. Их просто может не быть на другой платформе.

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

Myrka777 15.04.2010 08:29

Цитата:

Сообщение от Tails (Сообщение 900446)
поставте пароль на флешку

Каким образом я могу поставить пароль на флешку? И какова вероятность того, что его сломают?

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

Сообщение от VVall (Сообщение 900459)
Flash - мультиплатформенная технология, поэтому прямого доступа к устройствам и функциям ОС он не предоставляет. Их просто может не быть на другой платформе.

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

VVall, в том то и дело, что есть такое устройство и 100% того, что у него имеется уникальный идентификатор. И флешка впринципе предназначена для использования этого устройства. И если устройство ломается или меняется я без проблем заменю идентификатор в исходнике, чтобы флешка работала с новым устройством.
Если я просто поставлю пароль, то эта флешка сможет использоваться без устройства, т.е. не по назначению - этого уж точно мне не нужно.

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

ЗА ПОМОЩЬ ОТБЛАГОДАРЮ!!!

in4core 15.04.2010 13:05

А толку то с твоим устройством? Кому надо декомпилит твою флешку и получит исходник - с проверкой на ID , во флешке все равно будет прописан ID устройста иначе сверка не произойдет. Взломать флешку - проблем нету. Что с паролем что с ID

orcpochta 15.04.2010 14:00

Цитата:

Сообщение от Myrka777 (Сообщение 900649)
я без проблем заменю идентификатор в исходнике, чтобы флешка работала с новым устройством

это предложение вернее будет записать так:

Цитата:

любой заинтересованный человек без особого труда удалит вообще какую-либо ограничивающую проверку в декомпилированном исходнике, чтобы флешка работала с любым устройством

Myrka777 15.04.2010 14:16

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

udaaff 15.04.2010 14:22

Смотрите в сторону оболочек http://www.flasher.ru/forum/forumdisplay.php?f=94

orcpochta 15.04.2010 14:26

Цитата:

Сообщение от Myrka777 (Сообщение 900726)
Господа, как защитить свою флешку от декомпиляции - это отдельный вопрос.

на него есть единственный ответ - НИКАК!

Цитата:

Установить сверку с серийником - это лишь один из нескольких слоев ее защиты. Помогите...
декомпиляция флешки выполняется двумя кликами - один чтобы открыть декомпилятор, второй - нажать кнопку "Декомпилировать"

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

in4core 15.04.2010 14:46

Ну ну! Перестань - кнопка декомпелировать не поможет, если прописать в кадрах где нужно запретить декомпил небольшой код....http://www.flasher.ru/forum/showthre...t=81224&page=1 но тоже не везде поможет )))

udaaff 15.04.2010 14:48

Цитата:

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

orcpochta 15.04.2010 15:12

in4core, согласен, погорячился

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

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

in4core 15.04.2010 15:19

Надо двигаться в строну php.... может когда нибудь выучу его заодно с С++ чтобы не скучно жилось)

udaaff 15.04.2010 15:20

Вложений: 1
Цитата:

udaff обфускатор от декомпила не спасет - просто сделает малочитаемым код, но все равно строки с паролями или адресами выдрать-то можно без особых проблем
Собрал небольшой пример. Кому интересно, попробуйте пароль найти.
Само приложение до безобразия простое: на сцене лежит текстовое поле tf. Код в первом кадре:
Код AS3:

var s:String = "некий пароль"; 
 
tf.addEventListener(Event.CHANGE, tf_changeHandler);
 
function tf_changeHandler(event:Event):void
{
        if (tf.text == s)
                tf.text = "ok";
}

upd: для особых хитрецов небольшое изменение :)
Код AS3:

tf.addEventListener(Event.CHANGE, tf_changeHandler);
 
function tf_changeHandler(event:Event):void
{
        if (tf.text == "некий пароль")
                tf.text = "ok";
}


Myrka777 15.04.2010 17:05

Господа, пусть я полностью не смогу защитить свою флешку от декопилляции, но поставив пароль, сломав код, добавив нужные строки, использовав шифровку с помощью спец программ, заверну флешку в ехе и пр. Я СУЩЕСТВЕННО УСЛОЖНЮ ЖИЗНЬ ее обладателю, который так и подумает, что ЭТА ФЛЕШКА НЕ СТОИТ ТОГО, ЧТОБЫ ТАК ДОЛГО ПЫХТЕТЬ НАД НЕЙ. НО! Это и есть моя цель!

Поэтому, господа, не будем отходить от темы!
Напоминаю, что готова отблагодарить за дельный совет или готовое решение!

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

Кому интересно, попробуйте пароль найти.
Мой декомплитер ни скрипт не показывает, не конвертирует, вырубает и все тут)

udaaff 15.04.2010 18:12

Цитата:

Сообщение от Myrka777 (Сообщение 900443)
Хотелось бы защитить свой swf таким образом, чтобы он воспроизводился только на компе, к которому подключены например колонки (или другое устройство) с определенным уникальным номером (типа "КОД ЭКЗЕМПЛЯРА УСТРОЙСТВА", который можно посмотреть в диспетчере устройств).
Как это можно реализовать? В каком направлении двигаться?

Флеш самостоятельно не может работать с системой на таком уровне, поэтому
Цитата:

Сообщение от udaaff (Сообщение 900729)
Смотрите в сторону оболочек http://www.flasher.ru/forum/forumdisplay.php?f=94


etc 15.04.2010 18:36

Цитата:

Сообщение от udaaff (Сообщение 900757)
Собрал небольшой пример. Кому интересно, попробуйте пароль найти.
Само приложение до безобразия простое: на сцене лежит текстовое поле tf. Код в первом кадре:
Код AS3:

var s:String = "некий пароль"; 
 
tf.addEventListener(Event.CHANGE, tf_changeHandler);
 
function tf_changeHandler(event:Event):void
{
        if (tf.text == s)
                tf.text = "ok";
}


u5asdf

udaaff 15.04.2010 18:49

Цитата:

Сообщение от etc (Сообщение 900843)
u5asdf

:) Ты через декомпил вычислил, или каким-то другим способом?

etc 15.04.2010 18:51

Цитата:

Сообщение от udaaff (Сообщение 900855)
:) Ты через декомпил вычислил, или каким-то другим способом?

Не скажу :p

Myrka777 15.04.2010 19:44

Цитата:

Сообщение от etc (Сообщение 900857)
Не скажу :p

Поделитесь опытом...

etc 15.04.2010 19:48

Вы меня простите, но опытом в подобных вещах делиться не принято.

in4core 15.04.2010 20:04

Да компилил он что тут неясного

udaaff 15.04.2010 21:40

Можно запросто и без декомпилера узнать в данном случае :)

in4core 15.04.2010 22:12

незнаю я флешку не открывал. Но чисто по коду написанному в ТЕМЕ именно. узнать невозможно

Myrka777 16.04.2010 10:00

Одно дело найти номер (скажем через hex-редактор или блокнот), а ДРУГОЕ - ЗАМЕНИТЬ ЕГО И СОХРАНИТЬ ИЗМЕНЕНИЯ. Попробуете, уважаемый ets?

etc 16.04.2010 10:12

А зачем его менять?

Myrka777 16.04.2010 10:16

Проверить уязвимость данного способа защиты.

etc 16.04.2010 10:20

А вы денег мне заплатите за работу?
Сменить реально, но сейчас у меня нет на это времени.
И потом, не вижу смысла менять, если пароль мне уже известен.

Myrka777 16.04.2010 10:32

По всей видимости заменить код не так легко как его узнать. Это мне и хотелось выяснить.
А ПО ПОВОДУ ДЕНЕГ... Я ПИСАЛА, ЧТО ОТБЛАГОДАРЮ ЗА КОНКРЕТНОЕ ИЛИ ГОТОВОЕ РЕШЕНИЕ МОЕЙ ПРОБЛЕМЫ (СМ.ТЕМУ)

etc 16.04.2010 10:38

Только не нужно истеричного капс-лока, ага?
Заменить непросто, но зачем это может потребоваться — мне непонятно.

Myrka777 16.04.2010 10:52

Если будет возможным заменить часть кода AS, то пользователь сможет редактировать любую часть моего swf, чего бы не хотелось.

etc 16.04.2010 10:54

Это возможно, при соответствующих знаниях.

AzagThoth 16.04.2010 11:02

Может конечно не из той оперы, но по моему это всё обходится при помощи OLEdbg. На WASM есть неплохие статьи про крекинг вообще. Я правда осилил не все пока, но вообще-то очень интересно.

Myrka777 16.04.2010 16:41

Вложений: 1
Господа, какие еще будут предложения ПО ТЕМЕ - как организовать доступ из swf (или ехе) к серийному номеру устройства. Используемый драйвер D2XX. Вот кое-какая инфо по нему во вложении.

alexcon314 16.04.2010 16:55

Начинаете снова?
Ну, так давайте повторим пройденный материал:
- непосредственно к драйверу доступ из swf получить нельзя, по определению, следует воспользоваться оболочкой.
- хранить что-то конфиденциальное в свф имеет смысл только для самоуспокоения.
Предложение такое: изучаете вопрос про оболочку, задействуете ее. Одновременно вы сможете решить и вторую проблему на ином качественном уровне. Способ защиты, предложенный вами не имеет смысла, если вы пишете что-то серьезное, нужен другой. Если вы пишете что-то несерьезное, смысла такая защита не имеет тем более.
И, да, вы тут все время деньги предлагаете - это в Вакансии.

Myrka777 28.04.2010 16:07

Да, начинаю снова. И буду начинать пока вопрос не будет решен. В вакансиях размещала 2 раза - отзывов нет.

Кто-нибудь подскажет: могу ли я получить сведения о подключенном оборудовании задействуя loadVariables() или loadVariablesNum()? Я поняла, что так можно получить доступ к файлу с данными на компе. Так если мои сведения об оборудовании лежат в этом файле, почему могу ли я взять их используя AS, а не через оболочку?

etc 28.04.2010 19:54

Цитата:

Сообщение от Myrka777 (Сообщение 904490)
Кто-нибудь подскажет: могу ли я получить сведения о подключенном оборудовании задействуя loadVariables() или loadVariablesNum()?

Не можете.

Цитата:

Сообщение от Myrka777 (Сообщение 904490)
Я поняла, что так можно получить доступ к файлу с данными на компе. Так если мои сведения об оборудовании лежат в этом файле, почему могу ли я взять их используя AS, а не через оболочку?

Можете, если этот файл существует, путь к нему известен и разрешен доступ.


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

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