Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menyulitkan apl Android

Bagaimana untuk menyulitkan apl Android

WBOY
WBOYke hadapan
2023-05-26 08:47:191256semak imbas

1. Apakah rampasan antara muka Android?

Rampasan antara muka bermaksud bahawa dalam sistem Android, perisian hasad memantau perjalanan perisian sasaran Apabila ia mengesan bahawa antara muka yang sedang dijalankan ialah antara muka khusus bagi aplikasi yang dipantau (biasanya log masuk atau Antara muka pembayaran), halaman pancingan data palsu muncul, dengan itu mendorong pengguna memasukkan maklumat, dan akhirnya mencuri privasi pengguna (mencuri nombor akaun pengguna, nombor kad, kata laluan dan maklumat lain secara berniat jahat), atau menggunakan antara muka palsu untuk melakukan penipuan pancingan data.

Android app如何加密

2. Kaedah serangan biasa

1 Pantau log Logocat sistem Setelah gelagat penukaran antara muka Aktiviti dikesan, serangan akan dijalankan dan antara muka Aktiviti palsu akan dilindungi untuk melaksanakan penipuan.

2. Pantau API sistem Setelah program hasad mendengar panggilan komponen API antara muka yang berkaitan, ia boleh melancarkan serangan.

3. Untuk model di bawah 5.0, hitung untuk mendapatkan aktiviti di bahagian atas timbunan, pantau penampilan aktiviti sasaran dan lancarkan serangan.

4 Mulakan Perkhidmatan secara hasad untuk memantau aplikasi sasaran Apabila beralih kepada Aktiviti sasaran, kotak dialog akan muncul untuk merampas antara muka semasa dan mengelirukan pengguna

3. Kaedah pencegahan

● Untuk pengguna

Hampir semua telefon Android dilengkapi dengan butang HOME Jika anda menekan dan menahannya, anda boleh melihat tugasan yang digunakan baru-baru ini. Apabila pengguna perlu memasukkan kata laluan untuk log masuk, mereka boleh menekan lama butang HOME untuk melihat tugasan terkini Contohnya, jika mereka menekan lama butang HOME semasa log masuk dan mendapati WeChat muncul dalam tugasan terkini, maka log masuk semasa. antara muka berkemungkinan besar adalah Aktiviti yang menyamar secara berniat jahat Pergi ke program lain dan semak tugasan terkini untuk mengetahui program mana antara muka log masuk ini berasal.

● Untuk pembangun

Untuk rampasan jenis aktiviti pancingan data, kesan sama ada aplikasi Aktiviti bahagian hadapan itu sendiri atau aplikasi sistem dalam kaedah onPause aktiviti utama seperti tetingkap log masuk atau input privasi pengguna . Jika Jika risiko hasad ditemui, beberapa mesej amaran akan diberikan kepada pengguna, menggesa pengguna bahawa antara muka log masuk mereka akan ditimpa dan memberikan nama kelas yang meliputi Aktiviti biasa.

Jika ia adalah rampasan jenis dialog pop timbul, ambil alih kitaran hayat Aktiviti Apabila antara muka semasa ditemui padaResume, tentukan sama ada ia telah hilang fokus jika wujud pada masa yang sama , ia mungkin rampasan jenis dialog Tentukan pada masa ini sama ada proses aktif yang sedang berjalan mengandungi kebenaran sensitif (kebenaran Makluman global, kebenaran pemerolehan timbunan tugas, dll.), jika ya, pengguna akan dimaklumkan.

Cara meletakkan "bom" penyahkompilasi dalam APK Android

"Bom" yang disebut dalam artikel di atas sebenarnya adalah pepijat penyahkompilasi, jadi ia disasarkan pada Penyahkompilasi yang berbeza perlu mereka bentuk "bom" yang berbeza. Mari kita fahami alat penyahkompilasi APK yang biasa digunakan:

● baksmali/smali: baksmali boleh menukar fail dex binari kepada fail teks smali untuk analisis dan smali boleh menyusun semula fail smali menjadi fail dex.

● Apktool: Mengintegrasikan baksmali/smali untuk memproses fail dex, dan juga melaksanakan penyahkompiunan fail sumber semula (seperti reka letak/rentetan, dsb.).

● AxmlPrinter: Digunakan untuk menukar bentuk binari AndroidManifest.xml kepada bentuk teks AndroidManifest.xml.

● dex2jar: boleh menukar dex kepada fail jar.

● jd-gui: Boleh menyahkompilasi fail jar ke dalam kod sumber java.

● Ida Pro: Terutamanya digunakan untuk menyahkompilasi fail So dalam Apk Ia juga menyokong penyusunan fail dex ke dalam arahan bentuk teks yang serupa dengan sintaks smali.

Seperti yang dapat dilihat daripada alat penyahkompilasi di atas, terdapat tiga fungsi utama:

● Nyahkompilasi sumber, seperti AndroidManifest.xml, layout.xml

boleh menyahkompilasi Dex Nyahsusun fail atau tukarkannya kepada kod Java

● Nyahkompilasi fail So

Tetapan Bom" memerlukan pemahaman yang cukup tentang format fail tertentu dan hanya boleh menyasarkan alat penyahkompilasi A tertentu.

Bagaimana untuk menyulitkan apl Android?

Apl Android terdiri daripada fail dex, jadi fail, res dan sumber aset.. Untuk: Teknologi penyulitan ini boleh dibahagikan kepada tiga aspek utama: perlindungan fail DEX, penyulitan fail SO dan perlindungan fail sumber (seperti res dan aset)

● perlindungan dex

Bukan fail dex yang disulitkan dan pembungkusan, jadi kos retak adalah rendah dan ia terdedah kepada serangan Bermula dari bentuk pembungkusan yang paling asas, untuk berfungsi pengekstrakan badan pelaksanaan, pemuatan dinamik, dan kepada perlindungan mesin maya vmp semasa, penyelesaian ini Keselamatan secara beransur-ansur dipertingkatkan. . Terutama dalam pengerasan vmp, mesin maya yang dibangunkan sendiri digunakan untuk mentafsir badan fungsi Jika penggantian penyulitan arahan digunakan dengan betul, ia akan menjadi sangat sukar untuk keropok

● jadi penyulitanjadi fail, daripada penyulitan segmen awal kepada kaedah penyulitan struktur bunian tersuai, boleh menghalang IDA daripada melihat nama fungsi, meningkatkan kos dan kesukaran memecahkan

● Perlindungan sumber

fail sumber res biasanya hanya menggunakan pengeliruan untuk meningkatkan kesukaran kejuruteraan terbalik. Sumber aset biasanya tidak diproses. Disebabkan bilangan aplikasi H5 yang semakin meningkat, beberapa vendor (seperti Yidun dan Naga) telah menyediakan fungsi penyulitan aset, tetapi prinsip pelaksanaannya tidak jelas.

Selain daripada tiga titik perlindungan di atas, terdapat juga fungsi anti-penyahkompilasi, pembungkusan anti-sekunder, anti-debugging, anti-simulator, anti-xposed, dsb.

b) Untuk mengelakkan penyahkompilasi, alat penyahkompilasi di pasaran (seperti apktool) biasanya dilawan dan kelemahannya digunakan untuk menyebabkan penyahkompilasi gagal

b) Untuk mengelakkan pembungkusan sekunder, Secara amnya, maklumat tandatangan disimpan dalam kod, dan maklumat tandatangan apk semasa dibandingkan dengan tandatangan yang disimpan dalam lapisan asli semasa permulaan. Sudah ada alat penceroboh di pasaran. Beberapa peningkatan boleh dibuat kepada kaedah pelaksanaan biasa.

c) Anti-debugging, melalui proses ptrace, menghalang keropok daripada ptrace debugging.

d) Anti-emulator, mengesan fail /system/bin/su dan /system/xbin/su.

Kesan kaedahCache XposedHelpers untuk menentukan sama ada ia disambungkan untuk mengelakkan xposed.

Atas ialah kandungan terperinci Bagaimana untuk menyulitkan apl Android. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam