Asas Kejuruteraan Balikan & Analisis Binari · Pelajaran

Asas Assembly x86/x64

Kenali arahan asas dan sintaks bahasa assembly x86 serta x64.

Pelajaran 1 daripada 411 langkah

Asas Assembly x86/x64 ialah pelajaran Asas Kejuruteraan Balikan & Analisis Binari percuma di CoddyKit. Ini ialah pelajaran 1 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.

Apakah Bahasa Himpunan?

Selamat datang ke dunia bahasa himpunan! Ini ialah bahasa pengaturcaraan aras paling rendah yang lazimnya dibaca dan ditulis oleh manusia.

Bahasa ini ialah perwakilan simbolik bagi kod mesin, iaitu arahan binari mentah yang difahami dan dilaksanakan secara langsung oleh pemproses komputer (CPU). Anggaplah ia sebagai bahasa ibunda CPU.

Pandangan Aras Rendah Kejuruteraan Balik

Bagi jurutera balik, memahami bahasa himpunan amat penting. Apabila anda menganalisis atur cara yang telah disusun, anda jarang mempunyai kod sumber asal.

Sebaliknya, anda akan melihat perwakilan himpunannya. Mempelajari bahasa himpunan membantu anda:

  • Memahami dengan tepat cara atur cara dilaksanakan.
  • Mengenal pasti fungsi, data dan aliran kawalan.
  • Membongkar tingkah laku tersembunyi atau kerentanan.

x86 berbanding x64: Perbezaannya

Apabila kita bercakap tentang bahasa himpunan x86/x64, kita merujuk kepada set arahan untuk pemproses Intel dan AMD. Perbezaan utama ialah 'lebar' seni bina:

  • x86: Merujuk kepada seni bina 32-bit.
  • x64: Merujuk kepada seni bina 64-bit, yang juga dikenali sebagai AMD64 atau Intel 64.

Walaupun x64 memperkenalkan lebih banyak daftar dan laluan data yang lebih lebar, banyak arahan asas kekal serupa, selalunya dengan versi lanjutan.

Format Arahan Asas

Arahan Assembly biasanya mengikut format yang ringkas: INSTRUCTION destination, source.

  • INSTRUCTION: Operasi yang perlu dilaksanakan (contohnya, memindahkan, menambah atau menolak).
  • destinasi: Tempat hasil operasi akan disimpan.
  • sumber: Data atau lokasi yang akan dikendalikan.

Sesetengah arahan mungkin mempunyai satu operan atau langsung tiada operan. Susunan (destinasi, sumber) adalah lazim dalam sintaks Intel, yang akan kita gunakan.

Arahan MOV

Arahan MOV ialah salah satu arahan yang paling asas. Ia bermaksud 'move' dan digunakan untuk menyalin data daripada sumber ke destinasi.

Adalah penting untuk diketahui bahawa MOV tidak 'memotong' atau 'mengalih keluar' data daripada sumber; arahan ini hanya menyalinnya, dan sumber kekal tidak berubah.

Bentuk umumnya ialah: MOV destination, source

Contoh MOV (Konseptual)

Mari kita lihat beberapa contoh konseptual MOV. Kita akan menggunakan nama daftar x86/x64 yang lazim seperti EAX, EBX, RCX dan sebagainya, yang merupakan lokasi storan kecil di dalam CPU. Jangan risau tentang fungsi tepatnya buat masa ini!

  • MOV EAX, EBX: Menyalin nilai daripada daftar EBX ke dalam daftar EAX.
  • MOV RCX, RDX: Menyalin nilai daripada RDX ke dalam RCX (versi 64-bit).
  • MOV EAX, 123: Menyalin nilai pemalar 123 ke dalam daftar EAX.

Aritmetik: ADD dan SUB

Selain hanya memindahkan data, Assembly membolehkan operasi aritmetik asas dilakukan. Dua arahan yang lazim ialah ADD dan SUB.

  • ADD destination, source: Menambahkan nilai source kepada nilai destination, kemudian menyimpan hasilnya dalam destination.
  • SUB destination, source: Menolak nilai source daripada nilai destination, kemudian menyimpan hasilnya dalam destination.

Operasi ini mengubah operan destinasi secara terus.

Contoh ADD/SUB (Konseptual)

Berikut ialah beberapa contoh konseptual bagi ADD dan SUB:

  • ADD EAX, EBX: EAX = EAX + EBX
  • SUB RCX, 10: RCX = RCX - 10
  • ADD RDX, R8: RDX = RDX + R8 (menggunakan daftar tujuan umum 64-bit R8)

Perhatikan bahawa operan destinasi dikemas kini dengan hasil operasi.

Nilai dan Operan Segera

Dalam Assembly, istilah 'operan' dan 'nilai segera' adalah penting:

  • Operan: Nilai atau lokasi yang dikendalikan oleh sesuatu arahan. Ini boleh berupa daftar, alamat memori atau nilai segera.
  • Nilai Segera: Nilai pemalar yang dikodkan secara terus dalam arahan itu sendiri. Contohnya, dalam MOV EAX, 123, 123 ialah nilai segera.

Memahami istilah ini membantu anda mentafsir jenis data yang dikendalikan oleh sesuatu arahan.

Semakan Asas Assembly

Yang manakah antara berikut paling tepat menerangkan fungsi arahan MOV dalam Assembly x86/x64?

Imbas Kembali: Asas Assembly

Syabas! Anda baru sahaja mengambil langkah pertama ke dalam dunia bahasa Assembly untuk pemproses x86/x64.

Kita telah mempelajari:

  • Apakah bahasa Assembly dan sebab bahasa ini penting untuk kejuruteraan songsang.
  • Format arahan asas: INSTRUCTION destination, source.
  • Arahan asas seperti MOV (menyalin), ADD (menambah) dan SUB (menolak).
  • Konsep nilai segera dan operan.

Seterusnya, kita akan mendalami daftar dan cara daftar berinteraksi dengan memori!

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 “Asas Assembly x86/x64” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Asas Kejuruteraan Balikan & Analisis Binari, termasuk “Asas Assembly x86/x64”, 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 “Asas Assembly x86/x64”?

Kenali arahan asas dan sintaks bahasa assembly x86 serta x64. 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 1 daripada 4.

Berapa lamakah pelajaran “Asas Assembly x86/x64” 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. Asas Assembly x86/x64
  2. Operasi Daftar dan Memori
  3. Aliran Kawalan dan Panggilan Fungsi
  4. Tindanan dan Konvensyen Panggilan
← Kembali ke Asas Kejuruteraan Balikan & Analisis Binari