GNU Debugger ile EIP/RIP - Gösterimler - Byte Değerler Okumak

Pentester

Özel Üye
8 Eyl 2016
1,646
995
Merhaba, basitçe GDB yani gnu debugger aracımızı kullanarak basit bir program üzerinden Instruction Pointer üzerinde çeşitli gösterimleri inceleyelim.

Gdb debugger’ı çalıştırıp intel mimarisi ile inceleme yapacağımı tanımladım. echo "set disassembly-flavor intel" > ~/.gdbinit komutu ile intel mimarisinin kalıcılığını sağladım.

i4mmiu9.png


Öncelikle main’i disassemble edip içerisindeki instructionları gördüm. Main’e break attım maine gelene kadar çalışacak. Mainden sonrasını işlemeyecek.

mi8frsd.png


Programı çalıştırıp rip register’ını gördüm. Movl instruction ile aynı adresi gösteriyor.

GÖSTERİMLER

o/ octal gösterim

x/ hexadecimal 0-9 A-F 16lık taban

u/ onluk taban

t/ binary

anv4ki6.png


Bu komut ile rip registerımızın hexadecimal adresinin karşılığını görüyoruz. Yani “x” komutu hexadecimal olarak adresi gösterir. Burada yazdığım 0x555… şeklinde olan adres $rip registerını işaret eden adres. “X $rip” komutu kısaca aynı işlevi görür.

lejcgaa.png


“x/o” rip’yi octal gösterimde adres değerini veriyor.

kpbdk9p.png


Onluk tabanda gösterir.

gp2v5g8.png


Son olarak da binary gösterim.

1 byte 8 bit 1byte = 256

F4 = 1 byte

/b single byte 1 byte

/h halfword, 2bytes, WORD

/w WORD, 4 bytes, DWORD

Şimdi biraz da byte gösterimlerini örnek programımız üzerinden inceleyelim.

Gdb debugger üzerinde çalıştırdığımız programda rip instruction da 1 byte’lık bir değer görelim. Burada "c7" 1 byte değere tekabül ediyor. Hexadecimal 16’lık tabanda 0-9 A-F arası toplamda 16 karakter olduğunu biliyoruz. O yüzden 00, c7 gibi değerler birer byte demek oluyor.

mi7p4r7.png


“c7” 1 byte değerdir.

Şimdi rip instructiondan 4 tane birer byte değer getirelim.

9ebfqcu.png


C7, 45, fc, 00 her biri birer byte. Bir de DWORD(Double Word) yani 4 byte getirelim.

807p02n.png


00, fc, 45, c7 birer byte toplamda 4 byte değer gösterilmiş oluyor. Bir önceki komutta fark ederseniz ayrı ayrı aldığımız 4 tane 1 bytelık değeri bir bütün olarak aldık. Konumuz bu kadar. Okuduğunuz için teşekkür ederim.




 

'Ranger

Blue Team Direktörü
13 Eki 2020
310
440
hocam elinize sağlık özellikle linux ortamında tersine mühendislik yapmak isteyen arkadaşlar için faydalı bir yazı
 

TaoLao

Katılımcı Üye
4 Ara 2020
602
200
127.0.0.1
Emğinize sağlık hocam, bu debugger ve r.e. araçlarına dair bi konu açayım dedim geçen, işin içinden çıkamadım, benim harcım değilmiş 🙃
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.