|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Lorem ipsum
|
Максимально доступная идентификация устройства средствами AS3
Подскажите способ максимально идентифицировать устройство средствами только лишь AS3. Пока я вижу лишь MD5 от Capabilities.serverString, но может я что-то упускаю, может еще чивота есть? ANE не предлагать.
P.S. Речь идет не об уникальном id девайса, а о том, чтобы максимально усложнить хитрым перцам попытки применить слепки данных (или как там оно называется) приложения, доступные на всяких 4pda и иже с ними, на своем девайсе.
__________________
Поймай яблоко 2! |
|
|||||
Цитата:
|
|
|||||
Lorem ipsum
|
Ну, прокачал кто-то приложение, выложил кэш с базой данных и файлами. Народ себе это дело ставит (я не знаю как, но ставит — для чего-то же они это выкладывают) — и у него теперь тоже все прокачано.
Так вот хотелось бы данные в базе подписать ключом, зависимым от устройства, чтобы не проканал перенос кэша с какого-то Lenovo на какой-то HTC, например, или с SGT 2 на SGT 3.
__________________
Поймай яблоко 2! |
|
|||||
Я юзаю нетворк-интерфейс
private function get networkUID():String { var mac:String = 'ffffffff-ffff-ffff-ffff-ffffffffffff'; if( NetworkInfo.isSupported ) { var netfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces(); for each( var netface:NetworkInterface in netfaces) { // trace(netface.displayName+' . '+netface.name+" > "+ netface.active ); if (netface.hardwareAddress.length && netface.active) { mac = netface.name; break; } } } return mac.replace( /[\{\}]/g, '' ); } Добавлено через 2 минуты Но конечно-же, от кулц-хакера и Microsoft незнает как защититься
__________________
return this... |
|
|||||
Lorem ipsum
|
Про сетевуху спасибо, беру.
Насчет времени — если не синхронизировать с сервером, то все легко подделывается. Так бы я просто обошелся id и синхронизацией с серваком по каждому пуку. Но это чересчур хардкорно и недопустимо, если хочется привлечь побольше обычного народу, не устраивая им подлянок с доступом в сеть. Добавлено через 1 минуту А так да, кулхацкеры меня не беспокоят. Раз такие завзятые — хай почувствуют победу, не проблема! Мне бы от зевак-халявщиков отмахаться.
__________________
Поймай яблоко 2! |
|
|||||
Стоит заметить, что к примеру с ОС Windows, MAC-адресс спокойно можно поменять, потому я бы, добавил метку времени создания ассетов, а еще круче было бы, первичный хеш записать в файл, и подписывать вторичным хешем на основе контрольной суммы с меткой времени создания/изменения. Как-то так
__________________
return this... |
|
|||||
Lorem ipsum
|
Про первичный-вторичный как для нуба можно? Не забываем, что все, что записано в файл (любой) и имеет неизменный ключ для дешифровки (зашитый внутри приложения) — это не вариант.
__________________
Поймай яблоко 2! |
|
|||||
Я не претендую на лучший лайф-хак, но представляю это так:
1. При первом запуске собираем первичный ключ - MD5.hash(Capabilities.serverString+networkUID) 2. Сохраняем в файл 3. Создаем вторичный хэш. Контрольная сумма файла + время создания/изменения этого ж файла ( можно так же добавить еще и время создания статического ассета, т.е. какой нить статический файл, который инсталируется вместе с Апп, что даст время установки приложения ) Соотвественно подписываем вторичным хэшем. Защита получается в несколько уровней, информация из Capabilities.serverString + МАС-адресс. Если это каким-нить способом подменили, то вторичный ключ не подойдет, так как он имеет в себе первичный ключ + время создания самого апп + время создания первичного ключа. Стоит предусмотреть конечно ньюанс с апдейтом приложения, дабы не затрагивать ключевые файлы Добавлено через 10 минут т.е. система обнаружит если: Не корректные параметры среды Не корректный мак-адресс Был изменён первичный ключ Приложение было установленно не втоже время что и приложение которое подписывало эти данные
__________________
return this... Последний раз редактировалось AlexCooper; 28.06.2015 в 02:22. |
|
|||||
Цитата:
Вот в данном случае, я бы просто хэш от мак адреса использовал как ключ для шифрования базы данных, и плюс "соль", которая была бы зашита в другую swf, которая встраивалась бы в основную как байт массив. Но и в ней соль не хранил бы в виде строки, а придумал алгоритм генерации в рантайме. Для того, чтобы нельзя было в хексе посмотреть что же там за ключик. А все это время создания и прочие вторичные проверки - ненадежно и бессмысленно, имхо. |
|
|||||
Lorem ipsum
|
Да, MAC-адрес подойдет в догонку к строке из топика.
Ну и раскидать ключи по всяким ELS и папкам user/documents. Полагаю, этого будет достаточно.
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 18:09. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|