0Pricing
Reverse Engineering & Binary Analysis Basics · Ders

Dizge ve Çapraz Başvuru Analizi

Bir ikilinin amacını hızlıca anlamak ve kod ile veri arasında gezinmek için dizgeleri ve çapraz başvuruları (xrefs) kullanın.

Dizge ve Çapraz Başvuru Analizi, 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.

Strings Are Clues

You can disassemble code, identify functions, and read control flow graphs. One of the fastest ways to orient yourself in an unknown binary is to read its strings.

Error messages, URLs, file paths, and format specifiers reveal intent before you read a single instruction.

Extracting Strings

The classic command-line tool dumps printable sequences. Disassemblers like Ghidra and IDA have a dedicated Strings window with addresses.

strings -a -n 5 target.bin
strings -e l target.bin   # 16-bit little-endian (UTF-16)

ASCII vs Wide Strings

Windows binaries often store text as UTF-16 (wide) strings, where each character is two bytes. A naive ASCII scan misses them.

Always check for both encodings; missing wide strings hides half the evidence.

ASCII:  48 65 6C 6C 6F          -> Hello
UTF-16: 48 00 65 00 6C 00 6C 00 -> Hello

What Is a Cross-Reference?

A cross-reference (xref) links a location to every place that references it.

  • Code xref: an instruction that jumps or calls here
  • Data xref: an instruction that reads or writes this address

From String to Code

The power move: find an interesting string, then follow its data xref to the code that uses it.

Finding the string 'Invalid license key' and jumping to its xref often lands you right inside the license check.

; In Ghidra: right-click string -> References -> shows
; FUN_00401a30 loads this string at 0x00401a55

Call Graphs from Xrefs

Xrefs also map function relationships. Listing who calls a function (callers) and who it calls (callees) builds a call graph.

This shows how a key routine fits into the program's overall structure.

Imports as Anchors

API imports are high-value xref targets. Find the import for connect or CreateFileW, then xref it to locate every networking or file routine.

This focuses analysis on the behavior you care about.

; xrefs to 'recv' reveal all network read sites
0x00402100 call recv
0x004023f0 call recv

Renaming and Commenting

As xrefs reveal purpose, rename functions and add comments. FUN_00401a30 becomes check_license.

Good naming compounds: every future xref now reads as meaningful pseudocode.

Strings That Mislead

Be cautious: strings can be decoys, dead code, or library boilerplate. A string's presence does not prove the feature is reachable.

Confirm with xrefs that the string is actually referenced by live code.

Encrypted or Obfuscated Strings

Malware often hides strings, decrypting them at runtime. If strings shows mostly gibberish, look for a small decode routine referenced everywhere; that is the string decryptor.

Identifying it unlocks the rest of the analysis.

Navigating with Xref Lists

Disassemblers let you jump through xrefs interactively. Pressing the xref hotkey on a function shows every caller, and you can walk up the chain to main.

This turns a flat list of addresses into a navigable map of the program.

; IDA: place cursor on function, press X
; Ghidra: right-click -> References -> Show References to

Quick Check

You found the string 'Invalid license key'. What is the most efficient next step to reach the license-check logic?

Recap

Strings and xrefs are a static-analysis superpower:

  • Extract ASCII and UTF-16 strings for instant context
  • Follow data xrefs from strings into key code
  • Use import xrefs and call graphs to map structure
  • Beware decoys and on-the-fly string decryption

Sıkça Sorulan Sorular

“Dizge ve Çapraz Başvuru Analizi” dersi ücretsiz mi?

Evet — “Dizge ve Çapraz Başvuru Analizi” 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.

“Dizge ve Çapraz Başvuru Analizi” dersinde ne öğreneceğim?

Bir ikilinin amacını hızlıca anlamak ve kod ile veri arasında gezinmek için dizgeleri ve çapraz başvuruları (xrefs) kullanı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.

“Dizge ve Çapraz Başvuru Analizi” 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. Makine Koduna Dönüştürücülerin Temelleri
  2. İşlevleri ve Verileri Belirleme
  3. Denetim Akışı Grafiği Analizi
  4. Dizge ve Çapraz Başvuru Analizi
← Reverse Engineering & Binary Analysis Basics Sayfasına Dön