Jadual Kandungan
Kandungan
1. Tutorial ringkas tentang alat yang berguna (Insight)
Apakah yang boleh anda pelajari?
2. Analisis proses pengoptimuman Android
Apakah yang anda boleh pelajari?
2 Pemilihan kelas penembakan dan pengukuhan
Maka maksud fungsi ini ialah proses mengeluarkan zip.
2. Teruskan mengoptimumkan
0x03 analisis fail Android DEX
.
PS: Petua
Proses pemuatan kelas Android Dex 0x04
Rumah Operasi dan penyelenggaraan Keselamatan Cara membuat projek baharu dalam Android

Cara membuat projek baharu dalam Android

May 29, 2023 pm 11:37 PM
android

Kandungan

1. Tutorial ringkas tentang alat yang berguna (Insight)

Apakah yang boleh anda pelajari?

Perisian pembantu analisis yang sangat berkuasa.

2. Analisis proses pengoptimuman Android

Apakah yang anda boleh pelajari?

1. Pemahaman mendalam tentang proses pengoptimuman Android
2. Pemerhatian rapat kod sumber Android
2 🎜>

3. Analisis fail Android DEX

Apakah yang anda boleh pelajari?
1. Fungsi lain yang boleh dimuat turun

2. Proses penghuraian fail dex
3 proses memuatkan

Apakah yang anda boleh pelajari?

1. Proses lengkap pemuatan kelas
2 Pemilihan kelas penembakan dan pengukuhan

0x01 Tutorial ringkas tentang alat yang berguna (Insight)

Perisian ini adalah untuk Menganalisis c/c++ dan kod sumber java mempunyai fungsi tambahan yang kuat, yang akan digunakan kemudian, jadi pengenalan ringkas diberikan.

Alat boleh didapati dalam lampiran. Hanya muat naik dan muat turun secara berasingan.

SI3US-205035-36448

Kod pendaftaran disediakan di sini.

Pasang, seterusnya, seterusnya.

Cara membuat projek baharu dalam AndroidBuat projek baharu

Pilih projek baharu.


Single OKCara membuat projek baharu dalam Android


Cara membuat projek baharu dalam AndroidPilih yang pertama


Cara membuat projek baharu dalam AndroidPilih Tambah Pokok, yang bermaksud tambahkan kesemuanya.


Cara membuat projek baharu dalam AndroidSelepas pemuatan selesai

Cara membuat projek baharu dalam AndroidKami akan menggunakan perisian ini untuk analisis.

Analisis Proses Pengoptimuman Android

Saya ingin mengatakan beberapa perkataan pada masa ini, saya tahu kepentingan bahasa Inggeris saya tidak bagus, tetapi saya boleh melihat itu dalam kamus.


Cara membuat projek baharu dalam Android1.extractAndProcessZip

Mari kita tidak bercakap tentang kandungan ini dahulu, mari kita lihat nama fungsi ini. ekstrak: Ekstrak, dan dan, Proses proses Zip, format fail termampat, kita semua tahu bahawa apk sebenarnya adalah pakej termampat zip.

Maka maksud fungsi ini ialah proses mengeluarkan zip.

Kemudian mari kita analisa langkah demi langkah.


Cara membuat projek baharu dalam AndroidBerikut ialah takrif pembolehubah perantaraan extractAndProcessZip. Ia bukan fokus kajian kami.


DexClassVerifyMode verifyMode = VERIFY_MODE_ALL;
Salin selepas log masuk
Cara membuat projek baharu dalam AndroidAyat ini mentakrifkan verifyMode, iaitu modul pengesahan Data yang dimulakan di sini ialah VERIFY_MODE_ALL, yang bermaksud semuanya telah disahkan.

Berfikir

Jika kami membuat perubahan di sini, bolehkah kami melangkau pengesahan ini.

Mari kita lihat nilai lain.


Cara membuat projek baharu dalam AndroidAnda boleh menentukan nilai ini sendiri jika anda mempunyai idea.

DexOptimizerMode dexOptMode = OPTIMIZE_MODE_VERIFIED;
Salin selepas log masuk


Cara membuat projek baharu dalam AndroidMari kita teruskan melihat ke bawah.


Cara membuat projek baharu dalam AndroidTerdapat fungsi yang dipanggil dexOptCreateEmptyHeader yang, seperti namanya, mencipta pengepala kosong untuk pengoptimuman dex..


Cara membuat projek baharu dalam AndroiddexOffset, rekod kedudukan fail supaya kita boleh kembali ke sini kemudian, yang sebenarnya adalah kedudukan permulaan membaca fail dex.

Mari kita lihat fungsi seterusnya.


Buka arkib zip, cari entri DEX.Cara membuat projek baharu dalam AndroidJelas sekali, apa yang bahagian ini lakukan ialah mencari fail dex daripada apk.

Kemudian analisis.


Cara membuat projek baharu dalam AndroidFungsi untuk mengekstrak beberapa offset dex.

Ekstrak data DEX ke dalam fail cache pada offset semasa.

Perkara seterusnya untuk dibincangkan ialah proses dex odexization.


Cara membuat projek baharu dalam Android

Di sinilah pengesahan dioptimumkan.

Melalui sini anda boleh mengubah suai proses pengoptimuman dan juga mengalih keluar pengesahan pengoptimuman.

Fikirkan
Dari mana datangnya data dan dari mana hendak membandingkannya. ·
Data ini dibandingkan dalam build.prop.

2. Teruskan mengoptimumkan

Mari kita ikuti fungsi dvmContinueOptimization.

PS:
Kami akan bersentuhan dengan perkara yang sangat penting berkaitan dengan penembakan

Buka fungsi dvmContinueOptimization

Cara membuat projek baharu dalam Android

Pertama ialah penghakiman.


Cara membuat projek baharu dalam Android

Kemudian terdapat tulisan pada fail dex.

Baca terus (perkara penting akan datang)


Cara membuat projek baharu dalam Android

dvmDexFileOpenPartial, jika anda pernah melihat tutorial pembongkaran orang lain sebelum ini, anda mesti Ini adalah titik akhir yang kerap digunakan yang saya hanya tahu untuk memuat turunnya sebelum ini, tetapi sekarang saya tahu bahawa fungsi ini wujud dalam kod sumber.

Mari kita lihat panggilan fungsi dvmDexFileOpenPartial

Cara membuat projek baharu dalam Android

Ia dipanggil dua kali di sini, dan sekali ialah definisinya sendiri.

Mula-mula mari kita lihat prototaip dvmDexFileOpenPartial

int dvmDexFileOpenPartial(const void* addr, int len, DvmDex** ppDvmDex)
Parameter base load fail dalam alamat memori (iaitu, DEX.035)
Parameter 2: Panjang fail fail DEX yang dimuatkan,
Parameter 3: Parameter output, fail DEX ditukar kepada struktur DvmDex, yang mengandungi kelas, medan dan kaedah fail Dex. Objek fail Dex yang dikendalikan Dalivk ialah struktur struktur


Cara membuat projek baharu dalam Android

Akhirnya, maklumat pengepala ditulis di sini.


Cara membuat projek baharu dalam Android

0x03 analisis fail Android DEX

dvmRawDexFileOpen() Fungsi ini ialah fungsi utama yang perlu kita fahami, ia ada dalam RawDexFile .fungsi cpp.


Cara membuat projek baharu dalam Android

Tentukan dahulu pembolehubah asas.


Cara membuat projek baharu dalam Android

Kita semua tahu bahawa perkara yang sangat penting dalam format fail ialah nombor ajaib, jadi berikut ialah langkah pertama untuk menentukan nombor ajaib, sahkanMagicAndGetAdler32. Keajaiban di sini ialah nombor ajaib.


Cara membuat projek baharu dalam Android

Berikut ialah pengesahan masa dan saiz fail.


Cara membuat projek baharu dalam Android

Fungsi ini adalah fungsi utama, dan ia juga merupakan fungsi yang perlu kita fokuskan untuk menganalisis Fungsi utamanya ialah menjana odex fail sepadan dengan dex, juga Ia adalah apa yang dipanggil odexization. Mari ikuti fungsi untuk melihat.

Cara membuat projek baharu dalam Android

Berikut ialah sebahagian daripada fungsi dexOptGenerateCacheFileName(). Perkara utama kami ialah melihat di mana ia dikeluarkan.

Cara membuat projek baharu dalam Android

Di sini anda boleh melihat bahawa ia dijana dalam direktori data, ALOGV("Fail cache untuk '%s' '%s' ialah '%s' " , FileName, subFileName, nameBuf);
Format seperti ini.

Maksudnya, fail odex kami telah dijana di sini.

Perkara seterusnya yang perlu dilakukan ialah fungsi ini dvmDexFileOpenFromFd(), mengoptimumkan lagi, melengkapkan pemetaan dan menetapkannya sebagai fail yang boleh dibaca. Buka fungsi ini. Lokasinya dalam DvmDex.cpp.

Cara membuat projek baharu dalam Android

Mari kita lihat dahulu di mana fungsi ini dipanggil.

Cara membuat projek baharu dalam Android

Tempat di mana fungsi ini dipanggil ialah fungsi utama kami dvmRawDexFileOpen Fungsi ini mula-mula memanggil dexOptGenerateCacheFileName untuk menjana odex, dan kemudian memanggil dvmDexFileOpenFromFd untuk pengoptimuman lain.

Langkah terakhir dalam pengoptimuman ialah dexFileParse(), iaitu menghuraikan DEX. Lokasi ini diringkaskan secara ringkas dalam DexFile

Cara membuat projek baharu dalam Android

.

fungsi kawalan utama dvmRawDexFileOpen() - dexOptGenerateCacheFileName() menjana odex yang sepadan - dvmDexFileOpenFromFd() mengoptimumkan lagi - dexFileParse() menghuraikan dex.

PS: Petua

Apabila dexfileopenpartial berada di bahagian seterusnya, anda mungkin mendapati bahawa tiada cara untuk memecahkannya, maka kita boleh memilih dexOptGenerateCacheFileNamePKcS0, dvmdexfileopenfromfd dan fungsi lain untuk meneruskan ke seterusnya bahagian.

Secara umumnya, dexfileopenpartial adalah lebih baik dalam mengendalikan sesuatu dengan cengkerang.

Proses pemuatan kelas Android Dex 0x04

Kod sumber lain dipandu oleh fungsi kawalan utama untuk membimbing fungsi utama lain untuk beroperasi Proses pemuatan kelas dex juga seperti ini.

Fungsi kawalan utamanya ialah Dalvik_dalvik_system_DexFile_defineClassNative()


Cara membuat projek baharu dalam Android

Terdapat juga fungsi yang memerlukan perhatian Dalvik_dalvik_system_Dex🎜> Apa yang perlu diperhatikan di sini ialah terdapat dua tempat yang boleh anda buang.


Cara membuat projek baharu dalam Android
Mari lihat fungsi kawalan utama kami.

Terdapat panggilan sedemikian dalam fungsi kawalan utama.


Cara membuat projek baharu dalam Android
Panggilan ini adalah untuk mengesahkan kuki, tetapi kuki ini berkemungkinan kuki dex yang dinyahsulit, jadi anda juga boleh membuang kuki ini di sini.

Kemudian lihat ke bawah.


Cara membuat projek baharu dalam Android
fungsi dvmDefineClass, fungsi ini ialah fungsi untuk mengesahkan pemuatan kelas.

Cara membuat projek baharu dalam AndroidFungsi membuat pertimbangan sendiri, tetapi yang dikembalikan memang kepala besar. Mari kita ikuti fungsi ini untuk melihat.


Cara membuat projek baharu dalam Android

Cara membuat projek baharu dalam Android
Perkara yang paling penting di sini ialah clazz, iaitu kelas yang dimuatkan secara dinamik.

Nilainya dikembalikan oleh fungsi loadClassFromDex, jadi kami akan melihat lebih lanjut.

Cara membuat projek baharu dalam Android
Lihat struktur sedemikian di sini.


Cara membuat projek baharu dalam Android
Mari kita lihat butiran struktur ini.


Cara membuat projek baharu dalam Android
Sama ada struktur ini betul-betul sama dengan struktur dex, ia menunjukkan bahawa inilah yang kita perlukan.

Atas ialah kandungan terperinci Cara membuat projek baharu dalam Android. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Laporan baharu memberikan penilaian yang memberatkan terhadap khabar angin tentang peningkatan kamera Samsung Galaxy S25, Galaxy S25 Plus dan Galaxy S25 Ultra Laporan baharu memberikan penilaian yang memberatkan terhadap khabar angin tentang peningkatan kamera Samsung Galaxy S25, Galaxy S25 Plus dan Galaxy S25 Ultra Sep 12, 2024 pm 12:23 PM

Dalam beberapa hari kebelakangan ini, Ice Universe terus mendedahkan butiran mengenai Galaxy S25 Ultra, yang secara meluas dipercayai sebagai telefon pintar utama Samsung yang seterusnya. Antara lain, pembocor itu mendakwa bahawa Samsung hanya merancang untuk membawa satu peningkatan kamera

Samsung Galaxy S25 Ultra bocor dalam imej paparan pertama dengan perubahan reka bentuk khabar angin didedahkan Samsung Galaxy S25 Ultra bocor dalam imej paparan pertama dengan perubahan reka bentuk khabar angin didedahkan Sep 11, 2024 am 06:37 AM

OnLeaks kini telah bekerjasama dengan Android Headlines untuk memberikan pandangan pertama pada Galaxy S25 Ultra, beberapa hari selepas percubaan gagal untuk menjana lebih daripada $4,000 daripada pengikut X (dahulunya Twitter). Untuk konteks, imej pemaparan yang dibenamkan di bawah h

IFA 2024 | NXTPAPER 14 TCL tidak akan sepadan dengan prestasi Galaxy Tab S10 Ultra, tetapi ia hampir sepadan dengan saiznya IFA 2024 | NXTPAPER 14 TCL tidak akan sepadan dengan prestasi Galaxy Tab S10 Ultra, tetapi ia hampir sepadan dengan saiznya Sep 07, 2024 am 06:35 AM

Di samping mengumumkan dua telefon pintar baharu, TCL juga telah mengumumkan tablet Android baharu yang dipanggil NXTPAPER 14, dan saiz skrinnya yang besar adalah salah satu nilai jualannya. NXTPAPER 14 menampilkan versi 3.0 jenama tandatangan TCL panel LCD matte

Laporan baharu memberikan penilaian yang memberatkan terhadap khabar angin tentang peningkatan kamera Samsung Galaxy S25, Galaxy S25 Plus dan Galaxy S25 Ultra Laporan baharu memberikan penilaian yang memberatkan terhadap khabar angin tentang peningkatan kamera Samsung Galaxy S25, Galaxy S25 Plus dan Galaxy S25 Ultra Sep 12, 2024 pm 12:22 PM

Dalam beberapa hari kebelakangan ini, Ice Universe terus mendedahkan butiran mengenai Galaxy S25 Ultra, yang secara meluas dipercayai sebagai telefon pintar utama Samsung yang seterusnya. Antara lain, pembocor itu mendakwa bahawa Samsung hanya merancang untuk membawa satu peningkatan kamera

Vivo Y300 Pro mempunyai bateri 6,500 mAh dalam badan 7.69 mm yang tipis Vivo Y300 Pro mempunyai bateri 6,500 mAh dalam badan 7.69 mm yang tipis Sep 07, 2024 am 06:39 AM

Vivo Y300 Pro baru sahaja didedahkan sepenuhnya, dan ia merupakan salah satu telefon Android jarak pertengahan paling tipis dengan bateri yang besar. Tepatnya, telefon pintar ini hanya tebal 7.69 mm tetapi mempunyai bateri 6,500 mAh. Ini adalah kapasiti yang sama seperti yang dilancarkan baru-baru ini

Samsung Galaxy S24 FE dibilkan untuk melancarkan kurang daripada yang dijangkakan dalam empat warna dan dua pilihan memori Samsung Galaxy S24 FE dibilkan untuk melancarkan kurang daripada yang dijangkakan dalam empat warna dan dua pilihan memori Sep 12, 2024 pm 09:21 PM

Samsung belum menawarkan sebarang petunjuk lagi tentang bila ia akan mengemas kini siri telefon pintar Edisi Peminat (FE). Seperti sedia ada, Galaxy S23 FE kekal sebagai edisi terbaharu syarikat, telah dibentangkan pada awal Oktober 2023. Walau bagaimanapun, banyak

Xiaomi Redmi Note 14 Pro Plus tiba sebagai telefon pintar Qualcomm Snapdragon 7s Gen 3 pertama dengan kamera Light Hunter 800 Xiaomi Redmi Note 14 Pro Plus tiba sebagai telefon pintar Qualcomm Snapdragon 7s Gen 3 pertama dengan kamera Light Hunter 800 Sep 27, 2024 am 06:23 AM

Redmi Note 14 Pro Plus kini rasmi sebagai pengganti langsung kepada Redmi Note 13 Pro Plus tahun lepas (sekira $375 di Amazon). Seperti yang dijangkakan, Redmi Note 14 Pro Plus mengetuai siri Redmi Note 14 bersama Redmi Note 14 dan Redmi Note 14 Pro. Li

Motorola Razr 50s menunjukkan dirinya sebagai bajet baharu yang boleh dilipat dalam kebocoran awal Motorola Razr 50s menunjukkan dirinya sebagai bajet baharu yang boleh dilipat dalam kebocoran awal Sep 07, 2024 am 09:35 AM

Motorola telah mengeluarkan banyak peranti tahun ini, walaupun hanya dua daripadanya boleh dilipat. Untuk konteks, sementara kebanyakan dunia telah menerima pasangan itu sebagai Razr 50 dan Razr 50 Ultra, Motorola menawarkannya di Amerika Utara sebagai Razr 2024 dan Razr 2

See all articles