Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Turkhackteam Under Ground
> Tersine Mühendislik

Tersine Mühendislik Reverse Engineering ve Cracking ile ilgili dökümanları bulabileceğiniz, CrackMe gibi uygulamaların paylaşıldığı bölüm.


radare2: Giriş

Tersine Mühendislik

Yeni Konu aç Cevapla
 
Seçenekler
Alt 31-12-2018 18:13   #1
  • AR-GE Tim
  • Üye Bilgileri
Üyelik tarihi
09/2016
Mesajlar
Konular

Teşekkür (Etti): 188
Teşekkür (Aldı): 603


radare2: Giriş



Radare2

Radare2 Nedir?

Radare2, bir forensics aracı olarak başlamış fakat arından içine birçok özellik eklenerek çok amaçlı bir tersine mühendislik aracına dönmüş bir araçtır.

Radare2 ile,
  • Birçok mimariyi disassemble (ve assemble) edebilir
  • Birçok debugger ile debug edebilir (gdb, rap, webui, r2pipe, windbg, ...)
  • Linux, BSD, Windows, OSX, Android, iOS, Solaris ve Haiku üzerinde çalışabilir
  • Dosya sistemlerinde ve data carvingde forensics gerçekleştirebilir
  • Python, Go, Javascript ve daha birçok dilde scriptlenebilir
  • Gömülü web sunucusunu kullanarak işbirlikçi analizi destekler
  • Veri yapılarını görselleştirebilir
  • Yeni özellikleri açığa çıkarmak ve zaafiyetleri düzeltmek için uygulamaları patchleyebilir
  • Tersine mühendislik aşamasını hızlandırmak için güçlü analizler yapar
  • Yazılımları exploit eder

Ayrıca aşağıdaki fotoğrafta diğer tersine mühendislik araçları ile karşılaştırmasına bakabilirsiniz:


https://www.radare.org/r/cmp.html

Kurulum

Git kullanarak önerilen kurulum:

Kod:
git clone https://github.com/radare/radare2
cd radare2
sys/install.sh
Veya GitHub ile kurmak istemezseniz, derlenmiş binaryleri de kurabilirsiniz.

Windows
W32/W64

OS X
iOS (Jailbreak gerekir)
Android
Docker

Kullanım


Yüklenen dosyaya yapılan gitme, gözlemleme ve değiştime işlemleri üç basit işlemle yapılır: seek, print, alernate (write, append).

'seek' komutu, s ile kısaltılmıştır ve argüman olarak bir konum alır. Bu konum, 10, +0x25 veya [0x100+ptr_table] gibi şeyler olabilir. Blok-tabanlı dosyalarla çalışıyorsanız b komutu ile blok boyutu verebilir ve s++ ve s-- komutları ile ileri geri gidebilirsiniz.

'print' komutu, p ile kısaltılmıştır ve birçok alt modu vardır (ikinci harf kullanılmak istenilen print modunu belirtmek için kullanılır). px, hexadecimal olarak printlemek ve pd, disassemble etmek için kullanılan ve sık kullanılan örneklerdendir.

Dosyalara yazmak için, radare2 ile dosyayı açarken -w seçeneğini belirtmeniz gerekmektedir. w komutu, metin, hexpair (x alt komutu) ve hatta assembly opcodeları (a alt komutu) yazmak için kullanılabilir.

Kod:
> w hello world         ; metin
> wx 90 90 90 90        ; hexpairs
> wa jmp 0x8048140      ; assemble
> wf inline.bin         ; dosya içeriğini yazar
Ayrıca bir komutun yardım metnini almak için, komutun sonuna ? ekleyebilirsiniz (e.g. p?). ?* ekleyerek de o komut ile başlayan tüm komutları görmenizi sağlar (e.g. p?*).

Görsel moda geçmek için V<Enter> tuşlarına basın ve geri dönmek için q'ya basın.

Komut Formatı

Radare2 komut formatı, Vim formatına yakın bir formattadır. Bu sebeple Vim kullananlar kendini komutlara aşina hissedeceklerdir. Her komut tek bir karakter ile ifade edilmiştir. Komut formatı aşağıdaki şekildedir:

[.][times][cmd][~grep][@[@iter]addr!size][|>pipe] ;

Yani örneğin px komutunu 3 kere çalıştrmak için, 3px komutunu kullanabiliriz.

Basit Debugging Oturumu

Radare2, -d seçeneği ile başlatılınca bir programı debug eder. Bu seçeneğe çalışan bir işlemin PID'sini verebilir veya dosya adı ve parametrelerini vererek yeni bir program başlatabilirsiniz.

Kod:
$ r2 -d `pidof <app>`
$ r2 -d /bin/ls
$ r2 -a arm -b 16 -d gdb://192.168.1.43:9090
2. komutta, debugger programı forklayacak ve ls programını kendi hafızasında çalıştıracaktır.

Çalışmayı ld.so'da durduracaktır. Bu sebeple, bir giriş noktası veya paylaşılan kütüphane göremeyeceksiniz.

Debugging'e devam etmek için ise dcu komutunu kullanabilirsiniz. Bu komut 'debug continue until' anlamına gelir. Yani verilen adrese kadar debugging işlemine devam eder. Örneğin, dcu main komutu uygulamanın başlangıcına kadar gidip orada duracaktır. Her ne kadar main()'den önce bir şey yapılmıyor gibi gözükse de bazı uygulamalarda bundan önce de kod çalıştırabilir. Bu sebeple dikkatli olmalısınız.

Sık kullanılan birkaç komut:

Kod:
> d?            ; debugger komutları ile ilgili yardım
> ds 3          ; 3 kere ilerleyin
> db 0x8048920  ; bir breakpoint oluşturun
> db -0x8048920 ; breakpoint'i kaldırın
> dc            ; execution'a kadar çalıştırın
> dcs           ; syscall'a kadar çalıştırın
> dd            ; dosya tanımlayıcılarını değiştirin
> dm            ; işlem haritasını gösterin
> dmp A S rwx   ; sayfa yetkilerini değiştirin
> dr eax=33     ; kayıt değerini değiştirin. eax = 33
Ayrıca debugging'i daha kolay bir şekilde grafiksel modda da yapabilirsiniz. Bu modda o kadar komutu aklınızda tutmanıza gerek yok. Bu grafiksel moda girmek için, Vpp komutunu çalıştırabilirsiniz.

Bu moda girdiğinizde, hedefin bir hexdump'ını göreceksiniz. p tuşuna basarak, diğer görüntü modları arasında geçiş yapabilirsiniz. F7 ve s ile içine gitme (step into), F8 ve S ile üzerinden geçme (step over) komutlarını çalıştırabilirsiniz. Ayrıca F2 ile breakpoint oluşturabilirsiniz.




___________________________________________

~humanity is overrated~

Konu Gbmdpof tarafından (31-12-2018 18:19 Saat 18:19 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Alt 31-12-2018 18:38   #2
  • Yüzbaşı
  • Üye Bilgileri
Üyelik tarihi
07/2017
Nereden
$ebp
Mesajlar
Konular

Teşekkür (Etti): 33
Teşekkür (Aldı): 260




Zamaninda benim cok ilgimi ceken bir tool olmustu ama zorlugu altinda ezilip birakmak zorunda kalmistim. Temiz bir anlatim olmus, eline saglik.



___________________________________________


許可水月
 Offline  
 
Alıntı ile Cevapla
Alt 31-12-2018 19:26   #3
  • Yüzbaşı
  • Üye Bilgileri
Üyelik tarihi
07/2007
Mesajlar
Konular

Teşekkür (Etti): 153
Teşekkür (Aldı): 231




radare2 kullanımı terminal üzerinde çok kafa karıştırıcı o yüzden kullanacak arkadaşlara gui versiyonunu kullanmalarını tavsiye ederim...
https://github.com/radareorg/cutter



___________________________________________

O_o

 Offline  
 
Alıntı ile Cevapla
Alt 31-12-2018 20:44   #4
  • AR-GE Tim Lideri
  • Üye Bilgileri
Üyelik tarihi
10/2015
Mesajlar
Konular

Teşekkür (Etti): 1724
Teşekkür (Aldı): 3314




Eline sağlık. Güzel bir seri olacak gibi
 Offline  
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

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.



         

Powered by vBulletin® Copyright ©2000 - 2019

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı

Google+
Pomeranian Boo
instagram takipci hilesi

wau