RUMAHSoftware Pemantau RumahBagaimana cara meretas Aplikasi ponsel lain dari jarak jauh?

Bagaimana cara meretas Aplikasi ponsel lain dari jarak jauh?

Pencari lokasi rumah dan pelacak GPS terbaik
Bagaimana cara meretas Aplikasi ponsel lain dari jarak jauh?
Aplikasi Pengintai Ponsel
Pantau panggilan, SMS, Gps, Kamera, Foto, Video, Whatsapp, Facebook.
Unduh AplikasiLihat demo

Bahkan, selain menganalisis prinsip-prinsip implementasi bahasa java seperti kelas internal java dan enumerasi, juga berguna dalam beberapa skenario tertentu.Sekarang umumnya dilakukan dengan memodifikasi smali, tetapi juga dapat dilakukan berdasarkan bytecode., Artikel ini didasarkan pada analisis bytecode java sebelumnya, jadi hanya metode bytecode yang dibahas.

Banyak game yang berdiri sendiri, dan bahkan beberapa game online, menjalankan operasi logika secara lokal. Server hanya menerima hasil operasi yang diunggah oleh klien. Ada juga beberapa aplikasi pengisian daya, bahkan fungsinya semua dalam kode lokal, hanya Tetapi untuk menilai apakah ada pembayaran, dan jika ada pembayaran, entri fungsi akan ditampilkan.

Jika kita dapat mengubah kodenya dan mengubah hasil unggahan atau penilaian apakah akan membayar sesuai keinginan kita, kita dapat melakukan apa pun yang kita inginkan.

mendekompilasi

Untuk memodifikasi logika kode aplikasi, kita harus terlebih dahulu menganalisis apa logika kode aslinya, tetapi karena kode aplikasi adalah milik pribadi masing-masing perusahaan, kecuali jika kode tersebut bocor, kita umumnya tidak bisa mendapatkannya. kali ini kita hanya bisa menggunakan teknik dekompilasi.

Aplikasi Pengintai Ponsel
Pantau panggilan, SMS, Gps, Kamera, Foto, Video, Whatsapp, Facebook.
Unduh AplikasiLihat demo

Jika Anda pergi ke Internet untuk mencari teknologi dekompilasi apk, Anda mungkin akan menemukan metode berikut:

  • Gunakan alat apktool untuk mengekstrak apk
  • Gunakan alat dex2jar untuk mengonversi file dex yang dioptimalkan Android menjadi kelas java
  • Gunakan alat jd-gui untuk melihat kode java di kelas
Bagaimana cara meretas Aplikasi ponsel lain dari jarak jauh?

Operasi rumit seperti itu sebenarnya sudah ketinggalan zaman. Saya akan memperkenalkan alat operasi bodoh sekali klik untuk semua orang.

jadx adalah alat dekompilasi Android open source, kodenya di-host di github, Anda dapat mengunduh dan menggunakannya. Penggunaannya sangat sederhana, setelah mengunduh, unzip, lalu masuk ke direktori bin untuk menjalankan jadx-gui (linux/mac ) atau jadx-gui.bat (windows), Anda dapat memulai antarmuka visual, lalu klik "File - Open", dan pilih aplikasi yang ingin kami dekompilasi, Anda dapat melihat kode di apk

Aplikasi demo didekompilasi di sini, dan MainActivity.onCreate-nya menilai variabel flag, dan kemudian muncul Toast. Ketika kita menginstal apk ini dan menjalankannya, kita dapat melihat toast muncul: "hello world!"

Aplikasi lain serupa, Anda dapat melihat kodenya dengan cara ini. Namun, aplikasi yang dirilis secara resmi umumnya melakukan operasi pengaburan. Saat ini, nama kelas, nama metode, dan nama variabel dari kode yang kami dekompilasi dan proses akan menjadi a, b, c adalah karakter yang tidak berarti.

Tapi hanya namanya yang berubah, logika eksekusinya sama persis, jadi selama Anda cukup berhati-hati, Anda masih bisa memahami logika kodenya.

Jadx memiliki fungsi yang kuat yang dapat mengekspor proyek gradle, klik "File/Save as Gradle Project" untuk mengekspor proyek gradle, dan kemudian mengubah struktur direktori, Anda dapat menggunakan Android studio untuk membuka proyek dan mengedit dan memodifikasi kode.

Jika kompilasi berhasil setelah modifikasi, maka tujuan kami telah tercapai dan kami dapat melakukan apa pun yang kami inginkan, tetapi proyek ini memiliki kemungkinan besar untuk tidak berhasil dikompilasi, dan ada banyak kesalahan aneh.

Selanjutnya, saya akan membawa Anda untuk menguraikan apk ini selangkah demi selangkah, memodifikasi logikanya, bukan memainkan "hello world!" tetapi bermain "hello java".

Bagaimana cara meretas Aplikasi ponsel lain dari jarak jauh?

Ubah bytecode aplikasi

Kita dapat menggunakan jadx untuk menganalisis logika kode dengan mudah, tetapi jika kompilasi ulang gagal, kita harus menggunakan cara lain.

Berikut adalah cara untuk mengedit bytecode secara langsung. Jika Anda pergi dengan cara ini, tidak akan ada operasi bodoh untuk digunakan. Mari kita lakukan selangkah demi selangkah dengan jujur

1. Buka zip apk

  • apk sebenarnya adalah paket terkompresi zip, kita dapat mengubah sufiksnya menjadi.zip, dan kemudian mendekompresnya secara langsung
  • Kami menempatkan hal-hal yang didekompresi ke dalam direktori app-release-unsigned:
Bagaimana cara meretas Aplikasi ponsel lain dari jarak jauh?

2. Ubah dex ke jar

  • Kita semua tahu bahwa mesin virtual android bukanlah mesin virtual java biasa, tidak dapat langsung menjalankan file kelas java, dan perlu dioptimalkan menjadi file dex.
  • Saat kita memodifikasi bytecode, kita perlu mengubahnya kembali.Di sini kita menggunakan fungsi dex2jar dari alat dex-tools:
  • Di sini saya hanya memperkenalkan penggunaan perintah di Linux, bukan di Windows. Bahkan, ini adalah versi yang sama menggunakan.bat, Anda dapat mencari sendiri.
  • Konversi class.dex ke file jar:
  • ~/dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh class.dex
  • Ini akan menghasilkan file class-dex2jar.jar:

3. Ubah bytecode kelas

  • Faktanya, file jar juga merupakan paket terkompresi zip, kita masih bisa langsung mengubah sufiks menjadi zip, lalu dekompresi untuk menemukan MainActivity.class
  • Saat ini, kita dapat menggunakan perintah javap yang disebutkan di artikel sebelumnya untuk melihat kode di dalamnya:
  • javap -c Aktivitas Utama
  • Dan kita dapat melihat bahwa jika kita terus mengeksekusi, itu akan menampilkan hello world!, dan jika kita melompat ke 32 baris, itu akan menampilkan hello java!
  • Di sini kita dapat langsung mengubah if_icmpne menjadi if_icmpeq, lompat ke baris 32 jika sudah sama, jika tidak, lanjutkan eksekusi, sehingga prompt "hello world!" yang asli akan menjadi "hello java!"
  • Jika Anda membuka file kelas secara langsung dengan editor, ada beberapa nilai biner di dalamnya.
  • Jadi bagaimana kita memodifikasinya?
  • Di sini kita akan menggunakan alat lain jbe, nama lengkapnya adalah editor bytecode java
  • Setelah mengunduh, unzip, masuk ke direktori bin dan gunakan perintah berikut untuk membuka antarmuka grafis:
  • java ee.ioc.cs.jbe.browser.BrowserApplication
  • Buka MainActivity.class di antarmuka grafis dan temukan kode MainActivity.onCreate kami
  • Kemudian klik opsi Code Editor untuk memodifikasi bytecode, disini kita ubah if_icmpne menjadi if_icmpeq, lalu klik Save method :
  • Ini melengkapi modifikasi logika kami
Bagaimana cara meretas Aplikasi ponsel lain dari jarak jauh?

4. Kemas ulang dex

  • Selanjutnya kita akan repackage apknya, kompres dulu classnya menjadi zip, perhatikan struktur direktorinya :
  • Kemudian ubah sufiks menjadi jar dan gunakan jar2dex untuk menghasilkan dex:
  • ~/dex-tools-2.1-SNAPSHOT/d2j-jar2dex.sh class-dex2jar.jar
  • Kemudian ganti class.dex asli dengan dex yang dihasilkan, lalu hapus semua file sementara yang baru saja dibuat, seperti direktori class-dex2jar.zip dan class-dex2jar

5. Hapus informasi tanda tangan

  • Umumnya, aplikasi yang kita dapatkan adalah aplikasi yang ditandatangani. Setelah aplikasi ditandatangani, informasi verifikasi sumber daya dan kode akan disimpan di apk. Jika kita memodifikasi file dex, verifikasi akan gagal, sehingga apk tidak dapat diinstal..
  • Jadi kita perlu menghapus tanda tangan asli.Metode khusus adalah menghapus tiga file di direktori META-INF:
  • CERT.RSA
  • CERT.SF
  • MANIFEST.MF

6. Paket ulang apk

  • Selanjutnya, file terkompresi yang sama menghasilkan paket terkompresi zip, perhatikan struktur direktori:
  • Terakhir, ubah akhiran zip menjadi apk, dan apk kami dikemas
  • Karena apk repackaged kami telah menghapus informasi tanda tangan, jika diinstal secara langsung, itu akan gagal, dan kami perlu menandatanganinya kembali.
  • Anda dapat menggunakan perintah berikut untuk membuat alias sebagai android.keystore, dan nama file juga merupakan file tanda tangan android.keystore
  • keytool -genkeypair -alias android.keystore -keyalg RSA -validitas 400 -keystore android.keystore
  • Setelah menekan enter itu akan membiarkan Anda memasukkan beberapa password, informasi pengembang, dll, dan Anda akan mendapatkan file android.keystore setelah selesai
  • Kemudian kami menggunakan android.keystore yang diperoleh untuk menandatangani ulang aplikasi:
  • jarsigner -keystore android.keystore -signedjar release.apk app-release-unsigned.apk android.keystore
  • Dapatkan release.apk yang telah ditandatangani, mari kita instal dan jalankan untuk melihat bahwa toast telah menjadi "hello java!".