Bagian situs
Pilihan Editor:
- Membuat subtitle di Workshop Subtitle
- Terapi laser (terapi laser) Alat terapi laser "Matrix" Apa yang ditangani oleh alat terapi laser Matrix?
- Langganan palsu dan penipuan pada Pelanggan Telegram untuk saluran telegram
- Spesialisasi "Teknologi infokomunikasi dan sistem komunikasi" (gelar sarjana) Teknologi infokomunikasi dan sistem komunikasi 11
- Odnoklassniki: cara membuka halaman saya
- Cara mengirimkan pembacaan meter air di portal layanan Negara Kazan Pembacaan meter RT
- Mengeluarkan bagian dari gambar sprite html
- Menyiapkan rincian tambahan dan informasi tambahan untuk nomenklatur 1c rincian tambahan dan perbedaan informasi
- Apa yang harus dilakukan jika tidak ada data registrasi
- Permintaan pemilihan data (rumus) pada pemilihan MS EXCEL Excel berdasarkan kondisi makro
Periklanan
Cara menggunakan fitur penandatanganan aplikasi di Google Play. Cara menandatangani aplikasi seluler hybrid Anda untuk penempatan di Google Play Cara menandatangani file apk |
Berkat fitur masuk aplikasi Google Play Google dapat mengelola kunci penandatanganan aplikasi Anda, serta melindungi kunci tersebut dan menggunakannya untuk menandatangani file APK Anda untuk didistribusikan. Metode penyimpanan ini akan melindungi Anda jika kunci hilang atau diretas. Penting! Untuk menggunakan Android App Bundle (format publikasi aplikasi yang direkomendasikan), Anda harus mendaftar ke Program Penandatanganan Aplikasi Google Play sebelum mengupload App Bundle ke Konsol Play. Pendaftaran terbuka untuk pemegang akun dan pengguna dengan izin manajemen produksi global yang telah menerima Ketentuan Layanan. Anda hanya dapat mendaftarkan satu aplikasi dalam satu waktu dengan Program Penandatanganan Aplikasi Google Play. Prinsip kerjaSaat Anda menggunakan fitur penandatanganan aplikasi Google Play, kunci Anda disimpan di infrastruktur yang sama dengan tempat menyimpan kunci Google, dan dilindungi oleh layanan pengelolaan kunci khusus. Informasi rinci Infrastruktur teknis Google dapat ditemukan di dokumentasi Keamanan Google Cloud. Aplikasi Android ditandatangani dengan kunci pribadi. Setiap kunci tersebut dikaitkan dengan sertifikat publik, yang dengannya perangkat dan layanan dapat memverifikasi keamanan aplikasi dan pembaruannya. Hanya pembaruan yang tanda tangannya cocok dengan tanda tangan yang diinstal pada perangkat aplikasi yang diinstal. Mengizinkan Google mengelola kunci penandatanganan aplikasi Anda akan membuat prosesnya lebih aman. Catatan. Menggunakan fitur penandatanganan aplikasi Google Play bersifat opsional. Anda dapat mendownload APK dan mengelola kunci Anda sendiri tanpa menggunakan App Bundle. Namun, jika Anda kehilangan akses ke keystore atau disusupi, Anda tidak akan dapat memperbarui aplikasi Anda dan harus menerbitkannya ulang dengan nama paket yang berbeda. Deskripsi kunci, objek, dan alat
Anda dapat mendownload file APK yang ditandatangani dengan kunci penandatanganan aplikasi asli sebelum atau setelah menandatangani aplikasi di Google Play. Jika bermigrasi ke Android App Bundle, Anda dapat mengujinya dalam versi pengujian dan menggunakan APK yang ada dalam versi produksi. Begini cara kerjanya:
Cara Mendaftar ke Program Penandatanganan Aplikasi Google PlayAplikasi baruLangkah 1: Buat kunci unduhan
Langkah 2: Siapkan rilis
Catatan. Untuk melanjutkan, Anda harus menerima Ketentuan Penggunaan dan mendaftar di Program Penandatanganan Aplikasi. Langkah 3: Daftarkan kunci penandatanganan aplikasi Anda ke penyedia API AndaJika aplikasi Anda menggunakan API, untuk mengautentikasi Anda mungkin perlu mendaftarkan sertifikat kunci yang digunakan Google untuk menandatangani aplikasi Anda. Untuk menemukan sertifikat:
Langkah 1: Mendaftar ke Program Penandatanganan Aplikasi Google Play
Langkah 2: Kirimkan kunci asli ke Google dan buat kunci unduhan
Langkah 4: Tanda tangani pembaruan aplikasi Anda berikutnya dengan kunci unduhan AndaPembaruan aplikasi yang dirilis harus ditandatangani dengan kunci unduhan. Cara membuat kunci unduhan dan memperbarui penyimpanan kunciAnda dapat membuat kunci unduhan saat mendaftar ke Program Penandatanganan Aplikasi Google Play, atau Anda dapat membuatnya nanti di Manajemen rilis > Tanda tangan lamaran. Untuk membuat kunci unduhan, ikuti langkah-langkah berikut:
Saat diminta selama proses penerbitan, unduh sertifikat untuk mendaftarkannya ke Google. Jika Anda menggunakan kunci unduh:
Setelah Anda membuat kunci unduhan, periksa dan perbarui lokasi berikut jika perlu:
Cara memperbarui kunci penandatanganan untuk pemasangan aplikasi baruDalam beberapa kasus, Anda mungkin dapat meminta pembaruan kunci penandatanganan aplikasi. Kunci baru akan digunakan untuk menandatangani instalasi baru dan pembaruan aplikasi, dan kunci lama akan digunakan untuk memperbarui versi bertanda tangan yang sudah diinstal oleh pengguna. Kunci penandatanganan hanya dapat diperbarui satu kali untuk setiap aplikasi. Jika Anda menggunakan satu kunci penandatanganan untuk beberapa aplikasi untuk menjalankannya dalam proses yang sama, kunci tersebut tidak dapat diperbarui. Anda harus meminta pembaruan kunci penandatanganan aplikasi dalam kasus berikut:
Catatan. Permintaan untuk mengupdate kunci penandatanganan aplikasi di Konsol Play tidak terkait dengan penggantian kunci di Android P dan versi yang lebih baru. Penggantian kunci ini saat ini tidak didukung oleh Google Play. Catatan penting tentang memperbarui kunciSebelum meminta pembaruan kunci, penting untuk memahami perubahan apa yang akan terjadi.
Apa yang harus dilakukan jika kuncinya hilang atau diretasJika Anda kehilangan akses ke kunci pribadi diunduh atau telah diretas, dan tanyakan kepada pemilik akun Anda. Saat menghubungi support, pemilik akun harus melampirkan file upload_certificate.pem. Ketika tim dukungan mendaftarkan kunci unduhan baru, Anda akan menerimanya surel, lalu Anda dapat memperbarui penyimpanan kunci dan mendaftarkan kunci Anda ke penyedia API. Penting! Menyetel ulang kunci unduhan tidak memengaruhi kunci penandatanganan aplikasi, yang digunakan Google Play untuk menandatangani file APK sebelum mengirimkannya ke pengguna. Apakah informasi ini bermanfaat? Bagaimana artikel ini dapat diperbaiki? Utilitas keytool yang dijelaskan di bagian sebelumnya membuat sertifikat digital, yang merupakan salah satu parameter alat jarsigner. Parameter lainnya adalah paket Android yang perlu ditandatangani. Untuk menghasilkan paket Android, Anda harus menggunakan utilitas Ekspor Paket Aplikasi yang Tidak Ditandatangani dari modul ADT untuk Eclipse. Untuk memanggil utilitas ini, Anda perlu mengklik kanan proyek Android di Eclipse, pilih menu konteks Alat Android, lalu pilih Ekspor Paket Aplikasi yang Tidak Ditandatangani. Setelah diluncurkan, utilitas ini menghasilkan file .apk yang tidak ditandatangani dengan sertifikat debug. Untuk mencobanya, jalankan utilitas Ekspor Paket Aplikasi yang Tidak Ditandatangani di salah satu proyek Android Anda dan simpan file .apk yang dihasilkan di suatu tempat. DI DALAM dalam contoh ini kita akan menggunakan folder keystore yang dibuat sebelumnya dan menghasilkan file .apk bernama C:\android\release\myappraw.apk. Sekarang kita memiliki file .apk dan item keystore, kita dapat menjalankan alat jarsigner untuk menandatangani file .apk (lihat 14.2). Dalam hal ini, jalur lengkap harus ditentukan untuk file keystore dan file .apk. Untuk menandatangani file .apk, utilitas jarsigner mengirimkan lokasi keystore, kata sandi keystore, kata sandi kunci rahasia, jalur ke file .apk dan alias item keystore. Jarsigner kemudian menandatangani file .apk menggunakan sertifikat digital dari item keystore. Untuk menjalankan utilitas jarsigner, Anda harus membuka jendela alat (lihat Bab 2), atau membuka jendela Command Prompt atau jendela Terminal dan membuka folder bin di direktori JDK (jika folder ini tidak ditentukan dalam variabel lingkungan JALUR). Untuk alasan keamanan, yang terbaik adalah tidak meneruskan kata sandi sebagai argumen perintah, dalam hal ini jarsigner akan meminta Anda memasukkan kata sandi saat runtime. Pada Gambar. Gambar 14.3 menunjukkan contoh pemanggilan utilitas jarsigner. Anda mungkin telah memperhatikan bahwa pada Gambar. 14.3 utilitas jarsigner hanya meminta satu kata sandi. Hal ini karena keypass tidak diminta jika storepass dan keypass sama. Sebenarnya, perintah jarsigner di e 14.2 hanya perlu menentukan kata sandi -keypass jika berbeda dengan kata sandi -storepass. Seperti disebutkan sebelumnya, Android mengharuskan aplikasi Anda ditandatangani secara digital untuk mencegah pemrogram jahat mengganti aplikasi Anda dengan versi mereka sendiri. Untuk melakukan hal ini, Android mengharuskan pembaruan aplikasi ditandatangani dengan tanda tangan yang sama seperti aplikasi asli. Jika suatu aplikasi ditandatangani dengan tanda tangan yang berbeda, Android menganggapnya sebagai aplikasi yang berbeda. Oleh karena itu, kami mengingatkan Anda sekali lagi: tangani file keystore dengan hati-hati agar tersedia untuk Anda nanti saat Anda perlu merilis pembaruan aplikasi. Jadi, Anda telah bekerja berhari-hari (dan mungkin malam hari), dan inilah hibrida pertama Anda aplikasi seluler siap. Ini cukup stabil, sebagian besar bug kritis telah ditutup. Masih ada sedikit yang tersisa, tetapi mengingat perfeksionisme itu jahat, Anda membuat keputusan berkemauan keras untuk mempublikasikan aplikasi tersebut. Prasyarat untuk ini adalah adanya file APK yang ditandatangani. Bagaimana cara menandatanganinya berkas apk, Anda akan belajar dari artikel ini. Retret kecilKetika proyek kesayangan saya hampir dirilis, saya mulai mencari informasi tentang cara mempublikasikan aplikasi dengan cepat dan mudah. Banyak instruksi yang ditemukan tampak sederhana. Saya memilih instruksi dari penulis kerangka Ionic, tempat aplikasi dikembangkan. Tidak semuanya berhasil pada kali pertama; ada beberapa keanehan. Proses penandatanganan dijelaskan dalam artikel ini, poin penting terutama disorot.Data awalSaya berasumsi Anda sudah menyiapkan segalanya untuk mengembangkan aplikasi seluler hybrid menggunakan Apache Cordova. Harus dipasang:
PergiPertama, Anda perlu membuat versi rilis aplikasi Anda. Namun sebelum itu, pastikan semua plugin yang tidak diperlukan telah dihapus. Misalnya, kita tidak memerlukan plugin yang menampilkan informasi debug ke konsol. Mari kita hapus:$ plugin cordova rm cordova-plugin-konsol $ cordova build --rilis Android Platform/Android/build/output/apk Untuk menandatangani file, Anda memerlukan sertifikat. Mari kita membuatnya menggunakan utilitas alat kunci yang termasuk dalam JDK: $ keytool -genkey -v -keystore lcf.keystore -alias lcf -keyalg RSA -keysize 2048 -validitas 10000 Nilai parameter -alias harus diingat, atau lebih baik lagi ditulis. Pada contoh di atas sama dengan lcf (berdasarkan huruf pertama nama aplikasi Loyal Client Free). Disini saya tidak akan memberikan detailnya, jika anda tertarik tulis di kolom komentar, saya akan ceritakan lebih detail. -keystore hello-world.keystore -alias hello-world -keystore cuaca-app.keystore -alias cuaca-app -keystore todo.keystore -alias todo * Anda harus menandatangani aplikasi setiap kali pembaruan dirilis Kegunaan alat kunci menanyakan serangkaian pertanyaan. Totalnya akan ada 8. Untuk mengetahui gambaran pertanyaan dan perkiraan jawaban terlebih dahulu, semuanya diberikan di bawah ini, di bawah spoiler. Pertanyaan alat kunci dan contoh jawabannya 1. Masukkan kata sandi keystore: 2. Masukkan kembali kata sandi baru: 3. Siapa nama depan dan belakangmu? 4. Apa nama unit organisasi anda? 5. Apa nama organisasi anda? 6. Apa nama Kota atau Daerah anda? 7. Apa nama Negara Bagian atau Provinsi anda? 8. Apa kode negara dua huruf untuk unit ini? : kamu Konfirmasikan apakah semuanya sudah benar atau tekan Enter untuk masuk lagi. Pada akhirnya, sebuah pesan yang menunjukkan pembuatan kunci berhasil akan muncul. Anda akan diminta untuk menyetel kata sandi untuk kunci pribadi (jika Anda ingin membiarkannya sama seperti untuk sertifikat, tekan Enter): Menghasilkan 2 pasangan kunci RSA 048 bit dan sertifikat yang ditandatangani sendiri (SHA256withRSA) dengan validitas 10.000 hari untuk: CN=Ivan Petrov, OU=IT, O=2developers, L=Moscow, ST=MO, C=RU Enter key kata sandi untuk Penting File yang dibuat harus disimpan di tempat yang aman. Jika Anda menggunakan repositori pribadi, maka file tersebut dapat dikomit bersama kode sumber aplikasi. Secara umum, lebih baik menyimpan sertifikat secara terpisah. Jika Anda kehilangan sertifikat, Anda tidak akan dapat mengeluarkan pembaruan aplikasi. Tinggal dua langkah lagi dan Anda akan memiliki file APK yang siap untuk didistribusikan. Mari kita beralih ke penandatanganan. Untuk menandatangani file apk Anda, gunakan utilitas jarsigner, yang juga termasuk dalam JDK. $ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore lcf.keystore android-release-unsigned.apk lcf Terakhir, untuk mengoptimalkan file apk, kita akan menggunakan utilitas zipalign: $ zipalign -v 4 android-rilis-unsigned.apk LoyalClientFree.apk Penting. Kegunaan zipalign itu adalah bagian dari Alat SDK Android dan dapat ditemukan di sini: KesimpulanAnda sekarang memiliki file apk siap distribusi yang dapat diunggah ke Google Play. Isi deskripsi, tentukan rating aplikasi Anda dan silakan klik “Terbitkan”.Terkadang beberapa aplikasi di Android tidak sesuai dengan pengguna dalam beberapa hal. Contohnya adalah iklan yang mengganggu. Dan kebetulan program ini bagus untuk semua orang, tetapi terjemahan di dalamnya salah atau tidak ada sama sekali. Atau misalnya programnya uji coba, tapi dapat versi lengkap tidak ada kemungkinan. Bagaimana cara mengubah situasi? PerkenalanPada artikel ini kita akan membahas tentang cara membongkar paket APK dengan suatu aplikasi, melihat struktur internalnya, membongkar dan mendekompilasi bytecode, dan juga mencoba membuat beberapa perubahan pada aplikasi yang dapat memberi kita satu manfaat atau lainnya. Untuk melakukan semua ini sendiri, Anda memerlukan setidaknya pengetahuan dasar tentang bahasa Java, tempat aplikasi Android ditulis, dan bahasa XML, yang digunakan di mana-mana di Android - mulai dari menjelaskan aplikasi itu sendiri dan hak aksesnya hingga menyimpan string yang akan ditampilkan di layar. Anda juga memerlukan kemampuan untuk menggunakan perangkat lunak konsol khusus. Jadi, apa itu paket APK yang benar-benar semua perangkat lunak Android didistribusikan? Dekompilasi aplikasiPada artikel ini, kami hanya bekerja dengan kode aplikasi yang dibongkar, tetapi jika perubahan yang lebih serius dilakukan pada aplikasi besar, akan jauh lebih sulit untuk memahami kode kecil. Untungnya, kita dapat mendekompilasi kode dex menjadi kode Java, yang meskipun tidak asli dan tidak dikompilasi kembali, namun jauh lebih mudah untuk membaca dan memahami logika aplikasi. Untuk melakukan ini, kita memerlukan dua alat:
Beginilah cara penggunaannya. Pertama, kita meluncurkan dex2jar, menentukan jalur ke paket apk sebagai argumen: % dex2jar.sh mail.apk Hasilnya, paket Java mail.jar akan muncul di direktori saat ini, yang sudah bisa dibuka di jd-gui untuk melihat kode Java. Pengaturan paket APK dan penerimaannyaKantong plastik Aplikasi Android, sebenarnya adalah file ZIP biasa, tidak perlu melihat isinya atau membongkarnya. alat khusus tidak dibutuhkan. Cukup memiliki pengarsip - 7zip untuk Windows atau konsol unzip di Linux. Tapi itu tentang bungkusnya. Apa yang ada di dalamnya? Secara umum, kami memiliki struktur berikut di dalamnya:
File dan direktori yang terdaftar, jika tidak semuanya, mungkin ada di sebagian besar APK. Namun, ada beberapa file/direktori yang kurang umum yang perlu disebutkan:
Direktori ini digunakan oleh produsen game, yang menempatkan mesin game yang ditulis dalam C/C++, serta oleh pembuat aplikasi berkinerja tinggi (misalnya, Google Chrome). Kami menemukan perangkatnya. Namun bagaimana cara mendapatkan file paket dari aplikasi yang Anda minati? Karena tidak mungkin mengambil file APK dari perangkat tanpa root (file tersebut terletak di direktori /data/app), dan rooting tidak selalu disarankan, setidaknya ada tiga cara untuk mendapatkan file aplikasi ke komputer Anda:
Yang mana yang akan digunakan tergantung selera; kami lebih suka menggunakan aplikasi individu, oleh karena itu, kami akan menjelaskan penggunaan Real APK Leecher, terutama karena ini ditulis dalam Java dan, karenanya, akan berfungsi di Windows atau Nix. Setelah memulai program, Anda perlu mengisi tiga bidang: Email, Kata Sandi, dan ID Perangkat - dan pilih bahasa. Dua yang pertama adalah email dan kata sandi akun Google yang Anda gunakan di perangkat. Yang ketiga adalah pengenal perangkat, dan dapat diperoleh dengan mengetikkan kode pada dialer # #8255## dan kemudian menemukan baris ID Perangkat. Saat mengisi, Anda hanya perlu memasukkan ID tanpa awalan android-. Setelah diisi dan disimpan, sering muncul pesan “Error while connection to server”. Ini tidak ada hubungannya dengan Google Play, jadi abaikan saja dan cari paket yang Anda minati. Lihat dan UbahKatakanlah Anda menemukan sebuah paket yang Anda minati, mengunduhnya, membongkarnya... dan ketika Anda mencoba melihat beberapa file XML, Anda terkejut menemukan bahwa file tersebut bukan teks. Bagaimana cara mendekompilasinya dan cara bekerja dengan paket secara umum? Apakah benar-benar perlu menginstal SDK? Tidak, SDK tidak perlu diinstal sama sekali. Faktanya, semua langkah untuk mengekstrak, memodifikasi, dan mengemas paket APK memerlukan alat berikut:
Anda dapat menggunakan semua alat ini secara terpisah, tetapi ini merepotkan, jadi lebih baik menggunakan perangkat lunak tingkat tinggi yang dibuat berdasarkan alat tersebut. Jika Anda bekerja di Linux atau Mac OS X, ada alat bernama apktool. Ini memungkinkan Anda untuk membongkar sumber daya dalam bentuk aslinya (termasuk file XML biner dan arsc), membangun kembali paket dengan sumber daya yang diubah, tetapi ia tidak tahu cara menandatangani paket, jadi Anda harus menjalankan utilitas penandatanganan secara manual. Terlepas dari kenyataan bahwa utilitas ini ditulis dalam Java, instalasinya agak tidak standar. Pertama, Anda perlu mendapatkan file jar itu sendiri: $ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2 $ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2 $ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ ekspor PATH=~/bin:$PATH Jika Anda bekerja di Windows, maka ada alat luar biasa yang disebut Virtuous Ten Studio, yang juga mengumpulkan semua alat ini (termasuk apktool itu sendiri), tetapi alih-alih antarmuka CLI, alat ini menyediakan antarmuka grafis intuitif yang dapat digunakan pengguna. melakukan operasi untuk membongkar, membongkar, dan mendekompilasi dalam beberapa klik. Alat ini bersifat Donation-ware, yaitu terkadang muncul jendela yang meminta Anda untuk mendapatkan lisensi, namun pada akhirnya hal tersebut dapat ditoleransi. Tidak ada gunanya menjelaskannya, karena Anda dapat memahami antarmukanya dalam beberapa menit. Namun apktool, karena sifatnya yang konsol, perlu dibahas lebih detail. ![]() Mari kita lihat opsi apktool. Singkatnya, ada tiga perintah dasar: d (decode), b (build) dan if (install framework). Jika semuanya jelas dengan dua perintah pertama, lalu apa yang dilakukan pernyataan kondisional ketiga? Ini membongkar kerangka UI yang ditentukan, yang diperlukan jika Anda membedah paket sistem apa pun. Mari kita lihat opsi paling menarik dari perintah pertama:
Cara menggunakan apktool sangat sederhana; untuk melakukan ini, cukup tentukan salah satu perintah dan jalur ke APK, misalnya: $apktool d mail.apk Setelah ini, semua file paket yang diekstraksi dan dibongkar akan muncul di direktori email. Persiapan. Menonaktifkan iklanTeorinya tentu saja bagus, tetapi mengapa diperlukan jika kita tidak tahu apa yang harus dilakukan dengan paket yang belum dibongkar? Mari kita coba menerapkan teori tersebut untuk keuntungan kita, yaitu memodifikasi beberapa perangkat lunak agar tidak menampilkan iklan kepada kita. Misalnya saja, Obor Virtual - obor virtual. Perangkat lunak ini ideal bagi kami, karena dipenuhi dengan iklan yang mengganggu dan, terlebih lagi, cukup sederhana untuk tidak tersesat di tengah hutan kode. ![]() Jadi, dengan menggunakan salah satu metode di atas, unduh aplikasi dari pasar. Jika Anda memutuskan untuk menggunakan Virtuous Ten Studio, cukup buka file APK di aplikasi dan unzip, buat proyek (File -> Proyek baru), lalu pilih Impor File di menu konteks proyek. Jika pilihan Anda jatuh pada apktool, jalankan saja satu perintah: $ apktool d com.kauf.particle.virtualtorch.apk Setelah ini, pohon file yang mirip dengan yang dijelaskan di bagian sebelumnya akan muncul di direktori com.kauf.particle.virtualtorch, tetapi dengan direktori smali tambahan, bukan file dex dan file apktool.yml. Yang pertama berisi kode yang dibongkar dari file dex aplikasi yang dapat dieksekusi, yang kedua berisi informasi layanan yang diperlukan apktool untuk merakit kembali paket. Tempat pertama yang harus kita lihat tentu saja adalah AndroidManifest.xml. Dan di sini kita langsung menjumpai baris berikut:
Tidak sulit untuk menebak bahwa ia bertanggung jawab untuk memberikan izin aplikasi untuk menggunakan koneksi Internet. Faktanya, jika kita hanya ingin menghilangkan iklan, kemungkinan besar kita hanya perlu memblokir aplikasi tersebut dari Internet. Mari kita coba melakukan ini. Kami menghapus baris yang ditentukan dan mencoba membangun perangkat lunak menggunakan apktool: $ apktool b com.kauf.particle.virtualtorch File APK yang dihasilkan akan muncul di direktori com.kauf.particle.virtualtorch/build/. Namun, tidak mungkin untuk menginstalnya, karena tidak ditandatangani secara digital dan checksum file (tidak ada direktori META-INF/ di dalamnya). Kita harus menandatangani paket menggunakan utilitas apk-signer. Diluncurkan. Antarmuka terdiri dari dua tab - yang pertama (Key Generator) kami membuat kunci, yang kedua (APK Signer) kami menandatangani. Untuk membuat milik kita kunci pribadi, isi kolom berikut:
Bidang lainnya, secara umum, opsional - tetapi setidaknya satu bidang harus diisi. ![]() PERINGATANUntuk menandatangani aplikasi menggunakan apk-signer, Anda harus menginstal Android SDK dan menentukan path lengkap ke aplikasi tersebut di pengaturan aplikasi. Semua informasi disediakan untuk tujuan informasi saja. Baik editor maupun penulis tidak bertanggung jawab atas segala kemungkinan kerugian yang disebabkan oleh materi artikel ini. Sekarang Anda dapat menandatangani APK dengan kunci ini. Pada tab APK Signer, pilih file yang baru dibuat, masukkan kata sandi, alias kunci, dan kata sandi, lalu temukan file APK dan klik tombol “Sign”. Jika semuanya berjalan dengan baik, paket akan ditandatangani. INFORMASIKarena kami menandatangani paket dengan kunci kami sendiri, itu akan bertentangan dengan aplikasi aslinya, yang berarti ketika kami mencoba memperbarui perangkat lunak melalui pasar, kami akan menerima kesalahan. Tanda tangan digital hanya diperlukan perangkat lunak pihak ketiga, jadi jika Anda sedang melakukan modifikasi aplikasi sistem, yang diinstal dengan menyalin ke direktori /system/app/, Anda tidak perlu menandatanganinya. Setelah itu, unduh paket tersebut ke ponsel cerdas Anda, instal dan luncurkan. Voila, iklannya hilang! Namun, sebaliknya, muncul pesan bahwa kami tidak memiliki Internet atau tidak memiliki izin yang sesuai. Secara teori, ini mungkin cukup, tetapi pesannya terlihat mengganggu, dan sejujurnya, kami hanya beruntung dengan aplikasi yang bodoh. Perangkat lunak yang biasanya ditulis kemungkinan besar akan mengklarifikasi kredensialnya atau memeriksa koneksi Internet dan sebaliknya menolak untuk diluncurkan. Apa yang harus dilakukan dalam kasus ini? Tentu saja, edit kodenya. Biasanya, pembuat aplikasi membuat kelas khusus untuk menampilkan iklan dan memanggil metode kelas ini ketika aplikasi atau salah satu “aktivitasnya” (dalam istilah sederhana, layar aplikasi) diluncurkan. Mari kita coba mencari kelas-kelas ini. Kita masuk ke direktori smali, lalu com (org hanya berisi perpustakaan grafis terbuka cocos2d), lalu kauf (di sinilah tempatnya, karena ini adalah nama pengembang dan semua kodenya ada di sana) - dan ini dia, direktori pemasaran. Di dalamnya kami menemukan banyak file dengan ekstensi smali. Ini adalah kelas-kelas, dan yang paling menonjol adalah kelas Ad.smali, dari namanya mudah ditebak bahwa kelas itulah yang menampilkan iklan. Kita dapat mengubah logika operasinya, namun akan lebih mudah jika kita menghapus panggilan ke salah satu metodenya dari aplikasi itu sendiri. Oleh karena itu, kami meninggalkan direktori pemasaran dan pergi ke direktori partikel yang berdekatan, dan kemudian ke virtualtorch. File MainActivity.smali patut mendapat perhatian khusus di sini. Ini adalah kelas Android standar yang dibuat oleh Android SDK dan diinstal sebagai titik masuk ke aplikasi (analog dengan fungsi utama di C). Buka file untuk diedit. Di dalamnya ada kode smali (assembler lokal). Ini cukup membingungkan dan sulit dibaca karena sifatnya yang tingkat rendah, jadi kami tidak akan mempelajarinya, tetapi hanya akan menemukan semua referensi ke kelas Iklan dalam kode dan mengomentarinya. Kami memasukkan baris "Iklan" dalam pencarian dan sampai ke baris 25: Iklan pribadi bidang:Lcom/kauf/marketing/Ad; Di sini bidang iklan dibuat untuk menyimpan objek kelas Iklan. Kami berkomentar dengan memberi tanda ### di depan baris. Kami melanjutkan pencarian. Baris 423: v3 contoh baru, Lcom/kauf/marketing/Ad; Di sinilah pembuatan objek terjadi. Mari berkomentar. Kami melanjutkan pencarian dan menemukan di baris 433, 435, 466, 468, 738, 740, 800 dan 802 panggilan ke metode kelas Iklan. Mari berkomentar. Sepertinya itu saja. Menyimpan. Sekarang paket tersebut perlu dipasang kembali dan diperiksa fungsionalitasnya dan keberadaan iklannya. Demi kemurnian percobaan, kami mengembalikan baris yang dihapus dari AndroidManifest.xml, merakit paket, menandatanganinya, dan menginstalnya. ![]() ![]() Ups! Iklan tersebut menghilang hanya saat aplikasi sedang berjalan, namun tetap berada di menu utama, yang kita lihat saat kita meluncurkan perangkat lunak. Jadi tunggu dulu, tapi entry pointnya adalah kelas MainActivity, dan iklannya hilang saat aplikasi sedang berjalan, tetapi tetap ada di menu utama, jadi entry pointnya berbeda? Untuk mengidentifikasi titik masuk sebenarnya, buka kembali file AndroidManifest.xml. Dan ya, itu berisi baris berikut:
Mereka memberi tahu kita (dan, yang lebih penting, android) bahwa aktivitas bernama Start harus diluncurkan sebagai respons terhadap pembuatan sebuah maksud (peristiwa) android.intent.action.MAIN dari kategori android.intent.category.LAUNCHER. Event ini dihasilkan ketika Anda mengetuk ikon aplikasi di peluncur, sehingga menentukan titik masuknya, yaitu kelas Mulai. Kemungkinan besar, pemrogram pertama-tama menulis aplikasi tanpa menu utama, titik masuknya adalah kelas MainActivity standar, dan kemudian menambahkan jendela (aktivitas) baru yang berisi menu dan dijelaskan di kelas Mulai, dan secara manual menjadikannya entri titik. Buka file Start.smali dan cari lagi baris “Ad”, kita temukan pada baris 153 dan 155 penyebutan kelas FirstAd. Itu juga ada dalam kode sumber dan, dilihat dari namanya, ini bertanggung jawab untuk menampilkan iklan di layar utama. Mari kita lihat lebih jauh, kita membuat sebuah instance dari kelas FirstAd dan sebuah maksud yang, sesuai dengan konteksnya, terkait dengan instance ini, dan kemudian label cond_10, lompatan bersyarat yang dilakukan tepat sebelum membuat instance kelas: Jika-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :kelanjutan_10 Kemungkinan besar, program entah bagaimana menghitung secara acak apakah iklan harus ditampilkan di layar utama, dan, jika tidak, langsung melompat ke cond_10. Oke, mari sederhanakan tugasnya dan ganti transisi bersyarat dengan transisi tanpa syarat: #jika-ne p1, v0, :cond_10 goto:cond_10 Tidak ada lagi penyebutan FirstAd dalam kode, jadi kami menutup file dan memasang kembali obor virtual kami menggunakan apktool. Salin ke ponsel cerdas Anda, instal, luncurkan. Voila, semua iklan telah hilang, dan kami ucapkan selamat kepada kita semua. HasilArtikel ini hanyalah pengenalan singkat tentang metode meretas dan memodifikasi aplikasi Android. Masih banyak masalah yang tertinggal, seperti menghapus perlindungan, menguraikan kode yang dikaburkan, menerjemahkan dan mengganti sumber daya aplikasi, serta memodifikasi aplikasi yang ditulis dengan menggunakan Android NDK. Namun, dengan memiliki pengetahuan dasar, hanya masalah waktu saja untuk mengetahui semuanya. Tampilan Postingan: 5.618 Studio Android memberikan banyak peluang baik untuk pengembangan aplikasi maupun untuk meningkatkan otomatisasi dan kenyamanan dalam pemrograman. Jika Anda menggunakan sistem build Gradle untuk membuat aplikasi Anda, Anda juga dapat mengonfigurasi beberapa opsi untuk membuat tanda tangan untuk aplikasi Anda. Anda mungkin tidak ingin mempublikasikan kunci penandatanganan, kata sandi, dan nama pengguna Anda ke repositori publik (atau bahkan pribadi). Oleh karena itu Anda dapat menentukan kunci, kata sandi, dan nama pengguna sebagai properti dalam file terpisah. Sebelum Anda mulai menandatangani aplikasi, Anda perlu membuat properti baru di file gradle.properties Anda. Ayo telepon dia Kunci.repo dan, sebagai nilai, tentukan jalur ke folder tempat penyimpanan kunci dan file dengan properti selanjutnya akan ditempatkan (misalnya, C:/Pengguna/NamaPengguna/.penandatanganan). Kunci.repo=C:/Pengguna/NamaPengguna/.penandatanganan Maka Anda perlu membuat folder ini atau, jika Anda menentukan folder yang sudah ada, buka folder tersebut. Anda perlu membuat file di dalamnya NamaProyek Anda.properti, di dalamnya jalur ke penyimpanan kunci, alias kunci, dan kata sandi akan ditulis sebagai properti dalam bentuk berikut. RELEASE_STORE_FILE=/NamaProyek Anda/KeyStoreName.jks RELEASE_STORE_PASS=****** RELEASE_ALIAS=KeyAlias RELEASE_KEY_PASS=****** Bagaimana cara membuat brankas kunci?Jika Anda tidak memiliki keystore, Anda dapat membuatnya dengan mudah menggunakan Android Studio. Untuk melakukan ini, pilih item menu Membangun -> Hasilkan APK yang Ditandatangani. Di jendela yang muncul, Anda perlu mengklik Membuat baru... Akibatnya, sebuah jendela akan terbuka di mana Anda dapat menentukan di mana penyimpanan kunci akan ditempatkan (untuk pelajaran ini, lebih baik segera memilih jalur yang Anda tentukan di NamaProyek Anda.properti di properti RELEASE_STORE_FILE), serta informasi penting. Maka Anda perlu membuat folder NamaProyek Anda dan memindahkannya ke sana berkas yang diperlukan toko kunci. Sekarang Anda bisa langsung melanjutkan ke proses penandatanganan. Untuk melakukan ini, Anda perlu membuka file di proyek Anda build.gradle(terletak di folder aplikasi). Di dalamnya di blok android Anda perlu menambahkan kode berikut. SigningConfigs ( debug ( /* tidak ada perubahan di sini */ ) rilis ( if (project.hasProperty("Keys.repo")) ( def projectPropsFile = file(project.property("Keys.repo") + "/YourProjectName.properties " ) if (projectPropsFile.exists()) ( Properti props = new Properties() props.load(new FileInputStream(projectPropsFile)) storeFile file(file(project.property("Keys.repo") + props["RELEASE_STORE_FILE"] ) ) alat peraga storePassword["RELEASE_STORE_PASS"] alat peraga keyAlias["RELEASE_ALIAS"] alat peraga keyPassword["RELEASE_KEY_PASS"] ) ) lain ( println "===== = =================== "println " - Silakan konfigurasikan lingkungan kompilasi rilis - mis ~/.direktori penandatanganan" println "============ === ===========" ) ) ) Apa saja skema berbeda untuk mendapatkan tanda tangan?Ada dua skema untuk mendapatkan tanda tangan APK: v1 JAR Dan v2 APK Lengkap. Dalam kasus pertama, itu ditandatangani STOPLES-file, yang merupakan cara penandatanganan tradisional. Penandatanganan v1 tidak melindungi beberapa bagian APK, seperti metadata ZIP. Pemverifikasi APK harus menangani banyak struktur data yang tidak tepercaya (belum diverifikasi) dan kemudian membuang data yang tidak ditandatangani, sehingga meninggalkan banyak permukaan serangan. Selain itu, pemverifikasi APK harus mendekompresi semua entri terkompresi, yang membuang banyak waktu dan memori. Untuk mengatasi masalah tersebut, skema kedua v2 Full APK telah dikembangkan. Skema v2 disajikan di Android 7.0 Nougat (API 25) dan berfungsi mulai dari versi Android Studio 2.2 Dan Plugin Android Gradle 2.2. Skema ini memberikan lebih banyak manfaat instalasi cepat aplikasi dan perlindungan yang baik terhadap perubahan yang tidak sah di APK. Konten APK di-hash dan ditandatangani, lalu hasilnya Blok tanda tangan APK dimasukkan ke dalam APK. Selama verifikasi, skema v2 memperlakukan APK sebagai blob dan melakukan verifikasi tanda tangan pada seluruh file. Setiap modifikasi pada APK, termasuk modifikasi pada metadata ZIP, akan membuat tanda tangan menjadi tidak valid. Bentuk verifikasi ini jauh lebih cepat dan dapat mendeteksi lebih banyak modifikasi yang tidak sah. Format baru ini kompatibel dengan versi sebelumnya, sehingga APK yang ditandatangani dengan skema baru dapat diinstal pada perangkat lama (yang akan mengabaikan tanda tangan baru) selama APK tersebut juga ditandatangani dengan skema v1. Secara default, penandatanganan menggunakan kedua skema sehingga aplikasi dapat diinstal pada perangkat apa pun. Namun, jika diperlukan, Anda dapat menonaktifkan tanda tangan v1 atau v2. Untuk melakukan ini, pada kode di atas di blok melepaskan Cukup dengan menambahkan baris berikut. V1SigningEnabled salah V2SigningEnabled salah Penting juga untuk dicatat bahwa Anda harus menandatangani dengan skema v1 sebelum menandatangani dengan skema v2, karena APK tidak akan lolos verifikasi berdasarkan skema v2 jika ditandatangani dengan sertifikat tambahan setelah penandatanganan dengan skema v2. Setelah kode ditambahkan, sertakan kode ini dalam satu blok tipe build di dalam melepaskan. Misalnya: BuildTypes ( rilis ( minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" SigningConfig SigningConfigs.release ) ) Sekarang Anda dapat dengan aman di item menu Membangun memilih Bangun APK, setelah sebelumnya mengubah jenis perakitan dari men-debug pada melepaskan. Seperti yang terlihat, metode ini nyaman karena otomatis, Anda hanya perlu mengkonfigurasinya sekali dan penyimpanan kunci Anda bisa aman. |
Baru
- Terapi laser (terapi laser) Alat terapi laser "Matrix" Apa yang ditangani oleh alat terapi laser Matrix?
- Langganan palsu dan penipuan pada Pelanggan Telegram untuk saluran telegram
- Spesialisasi "Teknologi infokomunikasi dan sistem komunikasi" (gelar sarjana) Teknologi infokomunikasi dan sistem komunikasi 11
- Odnoklassniki: cara membuka halaman saya
- Cara mengirimkan pembacaan meter air di portal layanan Negara Kazan Pembacaan meter RT
- Mengeluarkan bagian dari gambar sprite html
- Menyiapkan rincian tambahan dan informasi tambahan untuk nomenklatur 1c rincian tambahan dan perbedaan informasi
- Apa yang harus dilakukan jika tidak ada data registrasi
- Permintaan pemilihan data (rumus) pada pemilihan MS EXCEL Excel berdasarkan kondisi makro
- Email sementara sementara, Email Temp, situs email, pendaftaran media sosial