1. Mulakan mendengar port ida
1.1 Mulakan perkhidmatan Android_server
1.2 Pemajuan port
1.3 Perisian memasuki mod nyahpepijat
2.ida memutuskan sambungan
2.1 melampirkan proses tambahan
2.2 Pecah tiga item
2.3 Pilih proses
Modul Terbuka 2.4
Cari seni
PS: Sedikit pengetahuan
Fungsi sistem sebelum Android 4.4 adalah dalam libdvm.so
Selepas Android 5.0, fungsi sistem berada dalam libart.so
2.5 Buka fungsi Openmemory()
Cari fungsi Openmemory dalam libart. jadi dan ikutinya.
PS: Sedikit pengetahuan
Secara umumnya, sistem dex akan dimuatkan dalam fungsi ini, tetapi akan ada masalah, yang akan dibincangkan kemudian .
2.6 Titik putus bawah
3. Jalankan program ke titik putus bawah
3.1 program lari ke hadapan jdb
3.2 Semak sama ada operasi IDA
berjaya diputuskan sambungan dan berlari ke tempat kami memutuskan sambungan.
3.3 Lihat lokasi dex
Buka tetingkap daftar dan anda boleh lihat R1 ialah dex kami
Kemudian buka R1 dalam tetingkap Hex.
Adalah jelas untuk melihat struktur binari fail dex. Jika anda tidak faham, anda boleh melihat analisis fail dex sebelumnya.
3.4 Ekstrak maklumat utama
Maklumat kunci pertama: Alamat offset: 0xF35CA328
Maklumat kunci kedua : File offset : 70 35 01 00, ditukar kepada 0x00013570
Gunakan penambah heksadesimal untuk penambahan, F35DD898
4. pembuangan
4.1 Gunakan skrip untuk membuang
utama statik(kosong){ auto fp, mula, tamat, dexbyte; fopen("d:\dump.dex", "wb"); //alamat asas dex bermula = 0xF34C6320; //alamat asas dex + saiz fail dex = mula + 0x00013570; ; dexbyte ++ ){//Lemparkannya ke dalam fail setempat mengikut bait fputc(Byte(dexbyte), fp }}
4.2 Lambakan skrip
Selepas diisi skrip, klik jalankan.
4.3 Pembuangan yang berjaya
Atas ialah kandungan terperinci Apakah kaedah untuk mengeksport fail dex secara dinamik dalam Android. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!