Dug
чем например можно шифровать?
Ну хранить в бд данные. Реалм умеет в такое несколько знаю
Вадим
наверное не так вопрос поставил. Кто-то знает или есть ссылки как взламываются приложения, на получение платного контента бесплатно?) и как можно обезопасить приложение от этого?
Dug
А. Например верификация покупики на своем же сервере
Dug
Это можно делать с покупками через in-app billing
Вадим
так полагаю, если разобрать приложение и собрать с изменениями, а точнее изменить флаг, той или иной покупки. то проверяй не проверяй на сервере, все равно во взломаном приложении эта покупка будет?)
Denis
Да, так и делают. Имхо, нужно поглуюже спрятать проверку
Ilya
Увы, но Java в этом плане не очень. Разбирается на раз.
Denis
Ну по крайней мере у меня в приложении изменили проверку так чтобы всегда лицензия давалась юзеру. Но это было только в одном релизе и больше не крякали =)
Ilya
Даже если нативный код вставить, обращение из Java не зашифровать.
Ilya
Ну по крайней мере у меня в приложении изменили проверку так чтобы всегда лицензия давалась юзеру. Но это было только в одном релизе и больше не крякали =)
Я решил отвязаться от сервера и расшифровываю ключ на самом устройстве. Взломать тоже можно, но сложнее, т.к. алгоритм по разным классам разбросан и смешаноскопирован несколько раз.
Проксимов
Ilya
Хех, передаю привет из питона
Брр. Меня один только синтаксис с табуляциями и отступами уже бесит.
Denis
Я решил отвязаться от сервера и расшифровываю ключ на самом устройстве. Взломать тоже можно, но сложнее, т.к. алгоритм по разным классам разбросан и смешаноскопирован несколько раз.
А я ничего не делал, у приложения всего 30к пользователей активных в месяц. Мне кажется запариваться и ломать непопулярое приложение не будут, да и то что оть немного проблемно взломать. Я потом кряк разархивировал, там просто поменяли одну строчку проверки в приложении, в этом месте прогуард нормально не сработал почемуто.
Проксимов
Брр. Меня один только синтаксис с табуляциями и отступами уже бесит.
Сначала бесит, а потом понимаешь, что это намного удобнее скобочек
Denis
Я бы не сказал, что у моего их много. Не в этом суть.
Ну или узкоспециализированное. Имхо, есть форумы со взломанными приложениями, подряд взламывающие их. Ну или кто-то лично запариться.
Denis
Кстати, согласно этому ответу https://stackoverflow.com/questions/36016369/system-alert-window-how-to-get-this-permission-automatically-on-android-6-0-an разрешение SYSTEM_ALERT_WINDOW должно предоставляться автоматом, у меня не предоставляется. Может от вендора зависит?
Denis
Ну и ещё вопрос, А как профилируете производительность? Как находите медленные методы?
Dug
Там же был хак, что можно было с этим разрешением делать кейлоггеры и много-много чего
Denis
Да, ставится из гугл плея.
Denis
Apps with targetSdkVersion of 23 or higher that request SYSTEM_ALERT_WINDOW get it without telling the user…
Denis
Ясно, у меня таргет ниже.
Denis
Но, наверное, нужно проверять на всякий случай и открывать настройки для юзера
Iuriich
Какой самый лучший способ считать все контакты с телефонными номерами? То что в гугле нашел работает очень медленно
Iuriich
https://stackoverflow.com/questions/11218845/how-to-get-contacts-phone-number-in-android что то типа этого
Iuriich
если в 500 контактов у меня то прогружает секунд 10:)
Iuriich
Понимаю, поэтому и хотел спросить мб есть другой способ о котором я не знаю
Iuriich
ок, спасибо за помощь
Ilya
Скорость считывания данных с симки по умолчанию - 9.6кБ/с. Так что не удивительно.
Andrey
Доброго времени суток всем, вот вопрос: могу ли я использовать какие-то платежные системы внутри моего андроид приложения? Причем я не продаю продукт, а продаю сервис: то-есть пользователь что-то делает, и платит за это. Или меня забанят? Где можно почитать об этом? Благодарю
Andrey
Единственная ссылка, что я нашел, это вот: https://developer.android.com/google/play/billing/index.html
Andrey
Но если кто разбирался с тематикой, то подскажите что-то толковое
Dug
Ребят, кто с wear работал? Как нормально дебажить можно приложение-компаньон для часиков?
Oleg
Подскажите, а как в консоли гугл плэй поменять страны, для которых доступно приложение? Или для этого нужно новый релиз выпускать?
JRoot3D
Подскажите, а как в консоли гугл плэй поменять страны, для которых доступно приложение? Или для этого нужно новый релиз выпускать?
там была раньше кнопка на страничке управления релизом но ее куда то перенесли... тоже искал сегодня
Dug
Ребят, есть среди вас кто-нибудь с опытом разработки для android wear?
Andrey
Ребята, пару вопросов еще задам: где сохраняете токен после авторизации пользователя? В преференсах не безопасно
Andrey
А хранить надо как-то
Andrey
Если не обезопасить его сохранение, то можно с рутом получить его и делать запросы
Andrey
не вариант, надо безопасное хранилище
Dug
а то, что запросы отследить не проблема, вас не волнует?)
Andrey
а то, что запросы отследить не проблема, вас не волнует?)
Те запросы, что без токена, то на них пофиг вообще, они в данном контексте никаких проблем не создадут
Andrey
А те что с токеном это очень плохо, потому что там личная инфа юзера
Dug
разницы нет) Храните в преференсах. Кто захочет — достанет без проблем
Andrey
есть еще варианты?
Dug
енкрипт реалм
Dug
там храните его
Andrey
енкрипт реалм
отлично, спасибо
Andrey
То-есть идея шифровать и хранить криптографический ключ в Android Keystore ?
Dug
Но он же не шлет ваши токены?)
Andrey
круто
Dug
Очень сомниваюсь, что данные. Ибо уже об этом было бы известно
Andrey
Меня интересовали возможности. Плохие или хорошие
Andrey
Так что спасибо за подсказки
Anonymous
Всем привет! Давно не использовал эмуляторы, Genymotion до сих пор лучшее решение? Я где-то слышал что встроенный в студию тоже норм.
Anonymous
Ок, спасибо.
Anonymous
Ох тыж, он очень быстрый, помню как 1-2 минуты ждал пока genymotion загрузится, тут мгновенно))
Anonymous
Правда первый запуск был 5-10 сек
Anonymous
И сам по себе он очень шустрый
Darya
Подскажите пожалуйста просто в какую сторону искать ответ. Вот код. В тегах credentials показывает, но вот в метод onComplete уже не проваливается. Как понять где он отваливается? Я так понимаю в signInWithCredentials? private void handleFacebookAccessToken(AccessToken token) { Log.v(TAG, "handleFacebookAccessToken:" + token); // [START_EXCLUDE silent] showProgressDialog(); // [END_EXCLUDE] AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken()); Log.v(TAG, "AuthCredential: " + credential); mAuth.signInWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user's information Log.v(TAG, "signInWithCredential:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.v(TAG, "signInWithCredential:failure", task.getException()); Toast.makeText(FacebookLoginActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); }
Nikita
Подскажите пожалуйста просто в какую сторону искать ответ. Вот код. В тегах credentials показывает, но вот в метод onComplete уже не проваливается. Как понять где он отваливается? Я так понимаю в signInWithCredentials? private void handleFacebookAccessToken(AccessToken token) { Log.v(TAG, "handleFacebookAccessToken:" + token); // [START_EXCLUDE silent] showProgressDialog(); // [END_EXCLUDE] AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken()); Log.v(TAG, "AuthCredential: " + credential); mAuth.signInWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user's information Log.v(TAG, "signInWithCredential:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.v(TAG, "signInWithCredential:failure", task.getException()); Toast.makeText(FacebookLoginActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); }
Если работает в андроид студии, можете выделить кусок кода, нажать ПКМ и в самом низу выбрать Create Gist Ну невозможно в телеграмме большие куски кода читать...
Anton S
Кто-знает либы по открытию fb2, как это вообще обычно происходит?
Nikita
а по фб2 чот нету :(
Anton S
а по фб2 чот нету :(
это находил, уже думаю может сначала конвертировать в epub из fb2, а потом открывать сущ. библиотекой :)
Yernar
Всем привет. Есть ли хороший сампл про токен авторизацию и сохранения этого токена в sharedprefferences?
Nikita
это находил, уже думаю может сначала конвертировать в epub из fb2, а потом открывать сущ. библиотекой :)
так-то фб2 это всего лишь XML, его можно ручками парсить, ну или либами для XML
Anton S
так-то фб2 это всего лишь XML, его можно ручками парсить, ну или либами для XML
https://github.com/FolioReader/FolioReader-Android есть такая штука, проще будет конвертнуть в epub, или в html и открывать в webview. Для fb2 ничего нет :(
Darya
Продолжаю ковырять ФБ авторизацию. В общем проблема оказывается в итоге в том, что сам девайс логинится в ФБ, но нет логина в Firebase. Уже все настройки поставлены с обеих сторон, но авторизация так и не идет. Может кто сталкивался? Не хочется чтобы это оказалось тупо багом, на который ушло столько времени
MD
Пацаны, почему сериализованный объект записанный в файл при переустановки пропадает? Иногда стирается, иногда нет. в чем магия?
Fearless
Файл SharedPreference?
Oleg
Подскажите, а как в гугл плэй консоли после публикации приложения поменять список стран, в которых приложение доступно?
Chriz
Может кто посоветовать хорошие уроки по libGDX ?
Nikita
https://hockeyapp.net/