![]() |
Максимально доступная идентификация устройства средствами AS3
Подскажите способ максимально идентифицировать устройство средствами только лишь AS3. Пока я вижу лишь MD5 от Capabilities.serverString, но может я что-то упускаю, может еще чивота есть? ANE не предлагать.
P.S. Речь идет не об уникальном id девайса, а о том, чтобы максимально усложнить хитрым перцам попытки применить слепки данных (или как там оно называется) приложения, доступные на всяких 4pda и иже с ними, на своем девайсе. |
Цитата:
|
Ну, прокачал кто-то приложение, выложил кэш с базой данных и файлами. Народ себе это дело ставит (я не знаю как, но ставит — для чего-то же они это выкладывают) — и у него теперь тоже все прокачано.
Так вот хотелось бы данные в базе подписать ключом, зависимым от устройства, чтобы не проканал перенос кэша с какого-то Lenovo на какой-то HTC, например, или с SGT 2 на SGT 3. |
Я юзаю нетворк-интерфейс
Код AS3:
Добавлено через 2 минуты Но конечно-же, от кулц-хакера и Microsoft незнает как защититься |
Про сетевуху спасибо, беру.
Насчет времени — если не синхронизировать с сервером, то все легко подделывается. Так бы я просто обошелся id и синхронизацией с серваком по каждому пуку. Но это чересчур хардкорно и недопустимо, если хочется привлечь побольше обычного народу, не устраивая им подлянок с доступом в сеть. Добавлено через 1 минуту А так да, кулхацкеры меня не беспокоят. Раз такие завзятые — хай почувствуют победу, не проблема! Мне бы от зевак-халявщиков отмахаться. |
Цитата:
|
Про первичный-вторичный как для нуба можно? Не забываем, что все, что записано в файл (любой) и имеет неизменный ключ для дешифровки (зашитый внутри приложения) — это не вариант.
|
Я не претендую на лучший лайф-хак, но представляю это так:
1. При первом запуске собираем первичный ключ - MD5.hash(Capabilities.serverString+networkUID) 2. Сохраняем в файл 3. Создаем вторичный хэш. Контрольная сумма файла + время создания/изменения этого ж файла ( можно так же добавить еще и время создания статического ассета, т.е. какой нить статический файл, который инсталируется вместе с Апп, что даст время установки приложения ) Соотвественно подписываем вторичным хэшем. Защита получается в несколько уровней, информация из Capabilities.serverString + МАС-адресс. Если это каким-нить способом подменили, то вторичный ключ не подойдет, так как он имеет в себе первичный ключ + время создания самого апп + время создания первичного ключа. Стоит предусмотреть конечно ньюанс с апдейтом приложения, дабы не затрагивать ключевые файлы Добавлено через 10 минут т.е. система обнаружит если: Не корректные параметры среды Не корректный мак-адресс Был изменён первичный ключ Приложение было установленно не втоже время что и приложение которое подписывало эти данные |
Цитата:
Вот в данном случае, я бы просто хэш от мак адреса использовал как ключ для шифрования базы данных, и плюс "соль", которая была бы зашита в другую swf, которая встраивалась бы в основную как байт массив. Но и в ней соль не хранил бы в виде строки, а придумал алгоритм генерации в рантайме. Для того, чтобы нельзя было в хексе посмотреть что же там за ключик. А все это время создания и прочие вторичные проверки - ненадежно и бессмысленно, имхо. |
Да, MAC-адрес подойдет в догонку к строке из топика.
Ну и раскидать ключи по всяким ELS и папкам user/documents. Полагаю, этого будет достаточно. |
Цитата:
Вот способ с зашиванием swf как байт массива я уже проверял на мобилах. Из apk файла простые-то данные вытащить проблематично. Что говорить о вшитой swf с рантайм алгоритмом генерации ключа. Думается мне даже этого будет вполне достаточно. Ну и, кстати, вот у меня в игре, допустим, нет смысла какого-то прокачанного персонажа ставить. Потому что прогресс прокачки идет вместе с прогрессом игры. Зачем нужен прокачанный персонаж, если все уровни при этом уже будут пройдены и снова поиграть в них будет нельзя? Это тоже не маловажный фактор |
Наверное сделаю swf да.
Что до прокачки, то это я так условно назвал. Речь идет о разлочивании шаблонов в приложении-редакторе. Ну т.е. разлочить их можно постепенно за просмотр рекламы (даже не за деньги). Но кто-то захочет все сразу и быстро. Вот такое хочется пресечь, но без особого фанатизма. |
Ну вот как раз шифрованная база данных это и решит. Даже если откопают ключ, то она все равно работать не будет штатными средствами. Игра то по прежнему будет пытаться расшифровать ее с ключом на основе мака, а тут бац, другой шифр. Просто надо завязать логику игры именно на этом.
п.с. Кстати не знаю как в более новых версиях, но версии в 15 эйра у меня часто отваливалась игра (просто вылетала), если со вшитой swf собрать релиз билд. В дебаговом работала отлично, а в релизе не хотела почему-то. |
А есть обывательские приложения для кулхацкеров на Android/iOS, которые могут скормить приложению поддельный мак-адрес?
Добавлено через 2 часа 34 минуты И еще, caseyryan, ты под "вшить" понимаешь embed или предлагаешь захардкодить ByteArray в исходниках? |
Цитата:
|
Цитата:
|
AlexCooper, в общем-то и не стоило сомневаться )
caseyryan, а двойную — это как, ембедить swf-ку с ембедом? |
Цитата:
|
Ну так оно же кушать не просит :) можно и так сделать.
|
| Часовой пояс GMT +4, время: 22:42. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.