0Pricing
Reverse Engineering & Binary Analysis Basics · درس

مقدمة إلى أدوات التفكيك

ابدؤوا باستخدام أدوات التفكيك المعتمدة في المجال مثل Ghidra وIDA Pro لعرض شيفرة Assembly.

مقدمة إلى أدوات التفكيك درس مجاني في Reverse Engineering & Binary Analysis Basics على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Reverse Engineering & Binary Analysis Basics، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Reverse Engineering & Binary Analysis Basics 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

What is a Disassembler?

Welcome to the world of disassemblers! These are fundamental tools in reverse engineering.

A disassembler is a program that translates machine code (the raw bytes a computer understands) into assembly language. Think of it as taking the computer's secret language and making it readable for humans.

Why Use a Disassembler?

Disassemblers are crucial when you don't have the original source code of a program. Here's why:

  • Malware Analysis: Understand how malicious software works.
  • Vulnerability Research: Find security flaws in compiled programs.
  • Proprietary Software: Analyze how closed-source applications function.
  • Debugging: Dive deep into program execution at a low level.

Machine Code to Assembly

When you compile a program, your high-level code (like C++ or Python) becomes machine code – a series of binary instructions (0s and 1s) that the CPU can execute directly.

A disassembler reverses this. It takes those raw bytes and converts them into assembly language, which uses mnemonics (short, memorable codes) like MOV, ADD, or JMP, making the program's logic visible.

Introducing Ghidra

One of the most powerful and popular disassemblers is Ghidra, developed by the NSA and released as open-source.

  • Free & Open-Source: Accessible to everyone.
  • Decompiler: Generates high-level pseudo-code (like C) from assembly, making analysis much faster.
  • Multi-Architecture: Supports various CPU types (x86, ARM, MIPS, etc.).
  • Scripting: Automate tasks with Python or Java.

Exploring IDA Pro

IDA Pro (Interactive Disassembler Professional) is another industry-leading disassembler, known for its advanced features and robust analysis capabilities.

  • Commercial: Often considered the 'gold standard' in professional RE.
  • Powerful Analysis: Excellent at identifying functions, data, and code structures.
  • Extensive Plugins: A vast ecosystem of community-developed plugins.
  • Debugger Integration: Seamlessly switch between static and dynamic analysis.

Common Disassembler Views

While each tool looks different, disassemblers typically present several key views:

  • Disassembly View: The main window showing assembly instructions.
  • Hex View: Displays the raw bytes of the executable.
  • Functions List: A list of all identified functions in the program.
  • Cross-References: Shows where data or functions are used throughout the code.
  • Graph View: Visualizes the control flow (how the program jumps between code blocks).

Simple C Program Example

Let's look at a very simple C program. When compiled, this program will be turned into machine code, which a disassembler can then convert back to assembly.

Try running it to see its output!

 #include <stdio.h>
 
 int add(int a, int b) {
     return a + b;
 }
 
 int main() {
     int x = 5;
     int y = 10;
     int sum = add(x, y);
     printf("The sum is: %d\n", sum);
     return 0;
 }

How a Disassembler Sees Code

For the C code we just saw, a disassembler would show assembly instructions that perform each step:

  • int x = 5; might become a MOV (move) instruction to put 5 into a register or memory location.
  • add(x, y); would involve pushing x and y onto the stack, then a CALL instruction to the add function.
  • The return a + b; inside add would be an ADD instruction, and the result placed in a specific register.

It breaks down high-level logic into tiny CPU operations.

Navigating Disassembled Code

Disassemblers provide tools to help navigate complex programs:

  • Search: Find specific strings, byte patterns, or instruction sequences.
  • Bookmarks: Mark important code locations for quick reference.
  • Cross-references: Easily see where a function is called from or where a variable is accessed.
  • Comments: Add your own notes directly into the disassembly to document your findings.

These features are essential for understanding large binaries.

Disassembler Insights

Test your knowledge on the core functions and features of disassemblers.

Recap: Intro to Disassemblers

You've taken your first step into static analysis!

  • Disassemblers convert machine code to assembly language.
  • They are vital for understanding software without source code.
  • Ghidra and IDA Pro are leading tools in the field.
  • Disassemblers offer various views and navigation tools to help analyze code.

Next, we'll dive deeper into identifying specific functions and data within these disassembled binaries!

الأسئلة الشائعة

هل درس «مقدمة إلى أدوات التفكيك» مجاني؟

نعم — نص درس «مقدمة إلى أدوات التفكيك» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Reverse Engineering & Binary Analysis Basics، انتقل إلى CoddyKit PRO. تتضمن دورة Reverse Engineering & Binary Analysis Basics 4 دروس في المجموع.

ماذا ستتعلم في «مقدمة إلى أدوات التفكيك»؟

ابدؤوا باستخدام أدوات التفكيك المعتمدة في المجال مثل Ghidra وIDA Pro لعرض شيفرة Assembly. تتمرن على Reverse Engineering & Binary Analysis Basics مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Reverse Engineering & Binary Analysis Basics؟

لا تُشترط خبرة سابقة. Reverse Engineering & Binary Analysis Basics على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «مقدمة إلى أدوات التفكيك»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Reverse Engineering & Binary Analysis Basics هذا؟

نعم. كل درس في Reverse Engineering & Binary Analysis Basics يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مقدمة إلى أدوات التفكيك
  2. تحديد الدوال والبيانات
  3. تحليل مخططات تدفق التحكم
  4. تحليل السلاسل والمراجع التبادلية
← العودة إلى Reverse Engineering & Binary Analysis Basics