Asas Kejuruteraan Balikan & Analisis Binari · Pelajaran

Menewaskan Pemadat dan Mencapai OEP

Kenal pasti pemadat masa jalan, cari Titik Kemasukan Asal dan buang imej yang telah dinyahpadat untuk analisis statik yang bersih terhadap binari yang dilindungi anti-RE.

Pelajaran 4 daripada 413 langkah

Menewaskan Pemadat dan Mencapai OEP ialah pelajaran Asas Kejuruteraan Balikan & Analisis Binari percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Asas Kejuruteraan Balikan & Analisis Binari, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Asas Kejuruteraan Balikan & Analisis Binari merangkumi sejumlah 4 pelajaran.

Mengapa Pembungkus Menghalang Anda

Anda memahami pengeliruan, boleh memintas semakan anti-analisis dan memahami penyahpepijatan mod kernel. Namun, satu halangan biasa masih ada: pembungkus yang memampatkan atau menyulitkan kod sebenar sehingga alat statik hanya melihat rangka kecil.

Perkara yang Dilakukan Pembungkus

Pembungkus membalut program asal. Semasa masa jalan, rangka penyahbungkusan kecil menyahmampatkan atau menyahsulitkan kod sebenar ke dalam memori, kemudian melompat kepadanya.

  • Saiz fail lebih kecil
  • Rentetan dan import tersembunyi
  • Mengalahkan analisis statik naif

Mengesan Perduaan yang Dibungkus

Tanda-tanda pembungkusan:

  • Bahagian berentropi tinggi (kelihatan rawak)
  • Import yang sedikit, nama bahagian pelik seperti UPX0
  • Rantau kod kecil dengan peruntukan memori yang besar

Alat seperti Detect It Easy atau PEiD menandakan pembungkus yang diketahui.

die target.exe
# UPX 3.96 detected; section UPX1 entropy 7.9

Penyahbungkusan Statik

Untuk pembungkus yang terkenal, alat boleh menterbalikkan proses itu secara langsung. UPX, contohnya, mempunyai penyahmampat terbina dalam.

upx -d target.exe -o target_unpacked.exe

Apabila Statik Tidak Berkesan

Pembungkus tersuai atau diubah suai tidak mempunyai alat penyahbungkus awam. Jadi anda membiarkan rangka itu melakukan tugasnya: jalankannya di bawah penyahpepijat sehingga kod sebenar berada dalam memori, kemudian tangkap kod itu.

Ini ialah penyahbungkusan manual umum.

Titik Masuk Asal

OEP (Titik Masuk Asal) ialah tempat pelaksanaan sebenar program yang telah dinyahbungkus bermula. Rangka itu melompat ke sana selepas penyahbungkusan.

Mencari OEP ialah pencapaian utama: pada ketika itu, kod sebenar telah dinyahbungkus sepenuhnya dalam memori.

Mencari OEP: Lompatan Ekor

Rangka biasanya berakhir dengan lompatan jauh atau push/ret ke rantau yang telah dinyahbungkus (lompatan ekor). Tetapkan titik henti di situ; apabila ia tercetus, arahan seterusnya ialah OEP.

; end of stub
popad
jmp 0x00401000   ; <- jumps to OEP

Helah Titik Henti Tulis Memori

Satu lagi teknik: tetapkan titik henti perkakasan pada pelaksanaan bagi rantau yang digunakan oleh rangka untuk menulis kod. Pelaksanaan berhenti sebaik sahaja kod yang telah dinyahbungkus dijalankan.

Helah berasaskan ESP/stack (kaedah 'pushad/popad') juga mencari bahagian ekor.

Membuang Proses

Di OEP, buang imej dalam memori ke cakera menggunakan alat seperti Scylla atau plugin penyahpepijat.

Buangan itu mengandungi kod dan rentetan yang telah dinyahsulitkan, tetapi jadual import rosak kerana ia diselesaikan semasa masa jalan.

Membina Semula Jadual Import

Langkah terakhir ialah pembinaan semula IAT: alat seperti Scylla mengimbas memori untuk mencari import yang telah diselesaikan dan membina semula Jadual Alamat Import yang sah, lalu menghasilkan boleh laku yang bersih dan boleh dianalisis secara statik.

Pemampatan Berbilang Lapisan

Sampel yang sukar biasanya menggunakan beberapa pemampat secara bertingkat. Selepas kandungan memori disimpan, imej yang telah dinyahmampat mungkin masih dimampatkan sekali lagi. Jalankan semula pengesanan pada kandungan yang disimpan itu.

Ulang kitaran menjalankan sehingga OEP dan menyimpan kandungan memori sehingga entropi menurun serta rentetan dan import sebenar akhirnya muncul.

Semakan Pantas

Semasa menyahmampat secara manual, mengapakah mencapai OEP merupakan detik penting untuk menyimpan kandungan proses?

Ringkasan

Kini Anda boleh menanggalkan pemampat daripada binari yang dilindungi:

  • Kesan pemampatan melalui entropi, bahagian dan import
  • Gunakan penyahmampat yang diketahui atau jalankan stub hingga ke OEP
  • Cari lompatan ekor, simpan kandungan pada OEP dan bina semula IAT

Hasilnya ialah imej bersih yang sedia untuk analisis statik sepenuhnya.

Percuma untuk bermula

Pelajari Assembly dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Menewaskan Pemadat dan Mencapai OEP” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Asas Kejuruteraan Balikan & Analisis Binari, termasuk “Menewaskan Pemadat dan Mencapai OEP”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Asas Kejuruteraan Balikan & Analisis Binari merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menewaskan Pemadat dan Mencapai OEP”?

Kenal pasti pemadat masa jalan, cari Titik Kemasukan Asal dan buang imej yang telah dinyahpadat untuk analisis statik yang bersih terhadap binari yang dilindungi anti-RE. Anda berlatih Asas Kejuruteraan Balikan & Analisis Binari menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Asas Kejuruteraan Balikan & Analisis Binari?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Asas Kejuruteraan Balikan & Analisis Binari di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Menewaskan Pemadat dan Mencapai OEP” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Asas Kejuruteraan Balikan & Analisis Binari ini?

Ya. Setiap pelajaran Asas Kejuruteraan Balikan & Analisis Binari menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memahami Teknik Pengkaburan
  2. Memintas Langkah Anti-Analisis
  3. Konsep Penyahpepijatan Mod Kernel
  4. Menewaskan Pemadat dan Mencapai OEP
← Kembali ke Asas Kejuruteraan Balikan & Analisis Binari