169 похожих чатов

Всем привет, есть такая задумка Хочу в приложении вести в БД

лог запросов и ответов к серверу.
Далее так как в прод отправлять приложение в котором пользователь может получить доступ к логу плохая затея, родилась следующая идея
Почему бы не сделать второе приложение, которое сможет получить доступ к этой БД и вывести собственно записанные логи

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

9 ответов

15 просмотров

Если приложение пишет лог, то, имхо, у пользователя есть возможность получить к нему доступ, иначе как приложение в него может писать?

Dmitriy-Dyachenko Автор вопроса

тут я не веду речи за рутованые девайсы. Просто идея писать в БД приложения, в общем случае эти данные скрыты от посторонних глаз(те кто сильно захочет, получить их само собой смогут и без доступа в БД, достаточно mitm-proxy) Про доступ пользователя это скорее про способ запуска экрана с логом из основного приложения, первая идея была типа "три раза ткни в одно место, два раза в другое и откроется экран", но потом вспомнил что есть что-то что позволяет шарить данные между апками с одной подписью, и это мне кажется более разумным - апка с такой же подписью будет шариться тестеру/рп/менеджеру еще кому-то и даст возможность чекнуть запросы на боевом билде из магазина Часто возникают кейсы, когда говорят что от апки не доходят до сервера определенные данные, и нужно проверить это приложение в проде их не отправляет или сервер криво обрабатывает

https://developer.android.com/guide/topics/manifest/manifest-element#uid

Dmitriy-Dyachenko Автор вопроса

Очень похоже на то что я думаю, но смущает что оно депрекейтед, и то что нет никакого описания что это работает только для приложений с одиннаковой подписью, как будто можно подставить такой же как у меня sharedUserId в любое другое приложение и получить доступ

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

Это оно и есть. И ссылку дал что бы показать что деприкейтд. На свой страх и риск что только использовать

Кстати, там же и описание, какие альтернативы. Опять таки манифест + провайдер/сервис

Dmitriy-Dyachenko Автор вопроса

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

Dmitriy-Dyachenko Автор вопроса

Да, погулил, это точно оно, спасибо

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта