Masalah teratasi. Eksploitasi telah ditutup.
Kami akan menutup bug ini karena masuk dalam versi Pratinjau Android. Jika masalahnya masih relevan dan dapat direkonstruksi dalam rilis publik terbaru (Android Q), catat laporan bug dan catat bug di https://source.android.com/setup/contribute/report-bugs . Jika balasan tidak diterima dalam 14 hari ke depan, masalah ini akan ditutup. Terima kasih atas pengertian Anda.
Pembaruan terkini:
Ini adalah bug dan Google akan mengatasinya di pembaruan berikutnya.
Kami telah menangguhkan masalah ini untuk dipertimbangkan di rilis mendatang. Terima kasih atas waktu Anda untuk menjadikan Android lebih baik
Jawaban ini telah berubah menjadi kumpulan ide dan telah diedit untuk memasukkan informasi dari diskusi di komentar.
The androidmarket
api, akan disesuaikan api yang ditulis oleh pengembang. Ini tidak tersedia untuk umum.
Untuk mengatasi masalah Anda di komentar. Pengembang akan memanfaatkan API saat ini yang tersedia melalui Pengembang Android dan Google untuk membuat proyek yang mengelola semua ini.
Untuk mengakses Full Account Access
, saya tidak yakin bagaimana para pengembang ini mencapai ini.
Saya merekomendasikan penggunaan AccountManager , yang merupakan bagian dari android.accounts, memiliki akses ke kredensial dan metode getUserData . Manajer akun memiliki akses ke sandi dan mampu membuat dan menghapus akun. Ini, mungkin digunakan dengan Penyedia Konten
Lihat Udinic / SyncAdapter Authentication .
Untuk membalas komentar Anda:
Blog ini akan membantu Anda untuk memulai. Buat Authenticator Android Anda sendiri .
Bagaimana sebenarnya aplikasi ini bekerja, saya tidak dapat memberi tahu Anda. Mereka mungkin juga memiliki implementasi yang berbeda (kecuali jika mereka merupakan upaya kolaboratif di belakang layar, mereka pasti akan berbeda).
Satu tebakan. Pertama-tama gunakan GoogleSignInAccount dengan com.google.android.gms.auth.api.signin .
Ada definisi untuk ruang lingkup , untuk menentukan sejauh mana izin yang diberikan aplikasi.
Menggunakan requestScopes () , file
PROFIL String publik statis akhir
... / Ini memungkinkan aplikasi web Anda mengakses pemasangan aplikasi Android melalui udara.
Untuk contoh :
GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail().
.requestScopes(new Scope("https://www.googleapis.com/auth/contacts.readonly"))
.build();
Jika akses penuh dapat diperoleh, daftar semua aplikasi yang digunakan oleh pemegang akun dapat ditemukan dan dibandingkan dengan apa yang ada di perangkat.
Package Manager akan mengambil daftar semua aplikasi yang saat ini terinstal di perangkat.
PackageInfo memberikan detail tentang aplikasi.
INSTALL_REASON_USER juga akan memfilter aplikasi yang telah aktif dipasang oleh pengguna.
Anda mungkin ingin melihat com.google.firebase.appindexing dan Mencatat Tindakan Pengguna . Tindakan yang berbeda dapat dilacak.
Riwayat akun pengguna ditemukan di https://myactivity.google.com/myactivity .
Tautan yang berguna adalah OAuth 2.0 Playground .
Github repo node-google-play ini , menggunakan node, adalah yang terbaru dan akan memanggil Google Play API. Begitu pula arsip yang digunakan sebagai api "tidak resmi", android-market-api , untuk menanyakan pasar.
Aplikasi 1
The app mengklaim untuk menggunakan hak akses berikut:
Versi 2.1.8 dapat mengakses:
$ Pembelian dalam aplikasi
Lain
- menerima data dari Internet
- lihat koneksi jaringan
- akses jaringan penuh
- gunakan akun di perangkat
- cegah perangkat dari tidur
- baca konfigurasi layanan Google
Patut dicatat, aplikasi tidak mengatur izin apa pun ketika ada dasar, instal. Saya tidak dapat menggunakan fitur apa pun, karena saya tidak memiliki aplikasi berbayar. Jadi untuk pencarian awal - tidak diperlukan izin, yang menunjukkan bahwa aplikasi tidak memiliki akses ke akun saya.
Saya memeriksa izin - tidak ada yang ditetapkan. Jadi satu-satunya hal yang diperlukan adalah menerima pop up, seperti yang ditampilkan dalam pertanyaan Anda.
Aplikasi 2
Aplikasi lain yang Anda rujuk yang melakukan hal yang sama lebih terbuka tentang apa yang sedang diakses.
Aplikasi Berbayar Saya
PEMBERITAHUAN KEAMANAN / PRIVASI
Pertama kali Anda menjalankan aplikasi ini, aplikasi ini akan meminta izin penuh ke akun Google Anda. Sayangnya, ini satu-satunya cara untuk mengakses informasi yang diperlukan. Tidak ada informasi pribadi yang disimpan, tidak ada informasi tentang aplikasi Anda yang dibagikan dengan pengembang aplikasi ini, atau dibagikan dengan pihak ketiga mana pun. Semuanya disimpan di ponsel Anda saja.
Saya telah membahas secara detail aplikasi ini di posting blog ini , yang ditujukan untuk proyek batu penjuru universitas (tidak ada keuntungan moneter). Saya cenderung berpikir ini adalah eksploitasi di API dan bukan status berdasarkan desain oleh Google, karena tidak ada panggilan API untuk mengambil pembelian aplikasi selain aplikasi milik pengembang. Saya berhipotesis bahwa ini adalah eksploitasi zero day, dalam hal ini tidak ada cara yang sah untuk mengakses informasi ini.