0Pricing
Reverse Engineering & Binary Analysis Basics · Ders

Endian Düzeni ve Bayt Sıralaması

Birden çok bayttan oluşan değerlerin bellekte ve dosyalarda nasıl yerleştirildiğini, endian düzeninin yeni başlayanları neden zorladığını ve ham baytların nasıl doğru okunacağını anlayın.

Endian Düzeni ve Bayt Sıralaması, CoddyKit'te ücretsiz bir Reverse Engineering & Binary Analysis Basics dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Reverse Engineering & Binary Analysis Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Reverse Engineering & Binary Analysis Basics kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Bytes Have an Order

You learned how data is represented in binaries. But a number like 0x12345678 occupies four bytes, and the CPU must decide which byte comes first in memory.

That decision is called endianness.

Little-Endian

In little-endian, the least significant byte is stored first (lowest address).

The value 0x12345678 is stored as the bytes 78 56 34 12. x86, x64, and most ARM systems use little-endian.

Value:   0x12345678
Memory:  78 56 34 12   (low -> high address)

Big-Endian

In big-endian, the most significant byte is stored first.

The same value 0x12345678 is stored as 12 34 56 78. Network protocols and some older RISC chips use big-endian, so it is also called network byte order.

Value:   0x12345678
Memory:  12 34 56 78   (low -> high address)

Why It Matters in RE

When you see raw bytes in a hex editor, you must apply the correct endianness to recover the real value. Misreading endianness turns a valid pointer into garbage.

  • Reading addresses
  • Parsing file headers
  • Interpreting struct fields

Reading a 4-Byte Integer

Suppose a hex dump shows the bytes 2A 00 00 00. On a little-endian machine that is the integer 42, not 0x2A000000.

Always know the platform before interpreting.

Bytes:  2A 00 00 00
LE int: 0x0000002A = 42
BE int: 0x2A000000 = 704643072

Seeing It in Code

This C snippet inspects the running machine's endianness by aliasing an int through a byte pointer.

#include <stdio.h>
int main(void) {
    unsigned int x = 0x12345678;
    unsigned char *p = (unsigned char *)&x;
    printf('First byte: %02X\n', p[0]);
    return 0;
}

Network Byte Order

Protocols standardize on big-endian so machines of different architectures agree. C provides conversion helpers like htons and ntohl.

When reversing network code, watch for these calls; they reveal which fields are multi-byte.

uint16_t port = htons(8080);  // host -> network order

Byte Swapping

Converting between endian formats means reversing the byte order. Tools and disassemblers often offer a one-click swap, but understanding the mechanism is essential.

uint32_t swap32(uint32_t v) {
    return ((v & 0xFF) << 24) |
           ((v & 0xFF00) << 8) |
           ((v >> 8) & 0xFF00) |
           ((v >> 24) & 0xFF);
}

Endianness in File Formats

Many file formats declare their endianness in a magic field. ELF stores EI_DATA in its header; TIFF starts with II (Intel/little) or MM (Motorola/big).

Reading this field first tells you how to parse the rest.

Common Pitfalls

Beginners often:

  • Read bytes left-to-right and forget to reverse for little-endian
  • Assume the target matches their own machine
  • Mix endianness mid-struct

When a pointer looks absurd, suspect endianness first.

Tools That Show Endianness

Most analysis tools let you toggle interpretation. In a hex editor you can flip between little- and big-endian data inspectors; disassemblers display the architecture's native order automatically.

When carving raw structures, always confirm the tool's current setting matches the target.

xxd -l 4 sample.bin
# 00000000: 2a00 0000   -> LE int = 42

Quick Check

How is the value 0x12345678 stored on a little-endian machine?

Recap

Endianness decides byte order for multi-byte values:

  • Little-endian: least significant byte first (x86/x64)
  • Big-endian: most significant first (network order)
  • Check the format's endianness field before parsing

Mastering this stops the most common 'garbage value' confusion in binary analysis.

Sıkça Sorulan Sorular

“Endian Düzeni ve Bayt Sıralaması” dersi ücretsiz mi?

Evet — “Endian Düzeni ve Bayt Sıralaması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Reverse Engineering & Binary Analysis Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Reverse Engineering & Binary Analysis Basics kursu toplamda 4 dersten oluşur.

“Endian Düzeni ve Bayt Sıralaması” dersinde ne öğreneceğim?

Birden çok bayttan oluşan değerlerin bellekte ve dosyalarda nasıl yerleştirildiğini, endian düzeninin yeni başlayanları neden zorladığını ve ham baytların nasıl doğru okunacağını anlayın. Reverse Engineering & Binary Analysis Basics ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Reverse Engineering & Binary Analysis Basics öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Reverse Engineering & Binary Analysis Basics, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Endian Düzeni ve Bayt Sıralaması” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Reverse Engineering & Binary Analysis Basics dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Reverse Engineering & Binary Analysis Basics dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. CPU Mimarilerine Genel Bakış
  2. İkili Dosyalarda Veri Gösterimi
  3. Yaygın İkili Dosya Biçimleri
  4. Endian Düzeni ve Bayt Sıralaması
← Reverse Engineering & Binary Analysis Basics Sayfasına Dön