SlideShare a Scribd company logo
Turkhackteam.org/net
sizlere NSA'nın açık olarak topluma sızdırdığı bir tersine mühendislik
programından bahsedeceğim,"NSA(National Security Agency)"
yani ulusal güvenlik ajansı kısaca bir istihbarat birimi olarak geçmekte,konuya
ufaktan geçelim.
GHIDRA Nedir?
NSA yani Ulusal Güvenlik Ajansı tarafından geliştirilen bir tersine mühendislik
yazılımıdır,geçerli olduğu platformlar sırasıyla Linux-MacOs-Windows
üzeri kurulabilen platformlardır,bu platformlar üzerine kurulan bu program
yazılan bir programın C ve Assembly kodlarını incelememize yarar ve
incelemek
için bizlere gerekli tooları verir. Bu tür araçlar oluşturulan programlar da ki
kodları nasıl çalıştığını bizlere göstermekte,sistemler de ki açıkları bizlere
net bir halde göstermekte. Bu program hack işlerine yeni girmiş kişiler
tarafından kullanılabilmekte,programın ücretsiz olması da ayrı bir güzelliği
tabi ki.
Çoğu kişi windows üzerine değil de Linux üzerine kurulmasını tavsiye eder
sebebi ise programın NSA tarafından yayınlanması güven kaybı oluşturuyor
fakat çoğu kullanıcı
Windows üzerinden devam etmekte. Bu Link “https://ghidra-sre.org”
üzerinden programı ücretsiz şekil de edinebilirsiniz.
JDK Nedir?
GHIDRA programını indirdikten sonra elbette bilgisayarımız da bulunması
gereken bir program var,GHIDRA direkt olarak .exe uzantılı inmiyor, GHIDRA
bizlere .bat
uzantılı geldiği için JDK ile onu çalıştırmamız gerekiyor. Gelelim GHIDRA
programını kurmak için bize yardımcı olması gereken programın ne olduğuna
ne işe yaradığına.
JDK yani İngilizce açılımı Java Development Kit Türkçesi ise Java Geliştirici Kiti
olmakla beraber bu program java üzeri geliştirmeler yapılmasını isteyen
Developerların
kendini geliştirmeleri için sahip olması gereken bir uygulama. Bu uygulamayı
da indirdikten sonra GHIDRA kurulumuna devam edebiliriz, Bu Link
“https://www.oracle.com/java/technologies/javase/javase-jdk8-
downloads.htmlӟzerinden indirebilirsiniz.
JDK İndirme ve Kurulumu
İlk olarak her hangi bir tarayıcıyı açıyoruz ben opera kullanıyorum bu nedenle
onun üzerinden anlatacağım,ilk olarak Opera arama motoruna
JDK Download yazıyoruz ve çıkan ilk link tıklayıp giriyoruz.
Sayfayı aşağıya çekip Java'nın en güncel sürümünü indiriyoruz,bunun için JDK
Download yazan yere tıklıyoruz.
Bize yönlendiren sayfanın biraz daha aşağısına indirip Java'nın Windows
uyumlu sürümünün üstüne geliyoruz ve
"jdk-15.0.1_windows-x64_bin.exe" yazan yere tıklıyoruz,şunu eklemek
istiyorum bu programın sadece 64 uyumlu olması gerçekten kötü bir
durum fakat 32'ler üzerinde de çalışabilir deneyebilirsiniz. Program boyutu
159.69 MB.
Ardından önümüze açılan ufak pencereye bakıyoruz ve üstte yazan "I reviwed
and accept the Oracle Technology Network License Agreement for Oracle Java
SE"
kısmına bir tık atıyoruz bunun neden Oracle'ın lisans sözleşmesine onay
vermemiz,ardından altta yazan "Download jdk-15.0.1_windows-x64_bin.exe"
kısmına tıklıyoruz.
Tıkladıktan sonra Opera bize programı nereye yüklemek istediğimiz için bir
seçenek sunuyor,ben Masaüstüne direkt olarak gözüksün diye yüklemek
istediğimden
"Masaüstünü" seçip,dosya adından emin olup,"Kaydet" diyoruz.
Ardından Opera da sağ üstte bulunan "İndirmeler" kısmına düşen bu
uygulamanın yüklenmesini bekliyoruz.
Ardından programın bize vermiş olduğu pencere de "Preparing to install" yani
indirmek için hazırlanıyor kısmını bekliyoruz.
Program karşımıza Hoş Geldin ekranı çıkarıyor,tekrardan indirmeye devam
etmek için "Next>" kısmına basıyoruz.
Programın bizim karşımıza çıkardığı bu pencere de programın yüklenmesi için
izlendiği yolu iyi seçmemiz gerekiyor ve bu izlenen yolu
unutmamamız gerekiyor nitekim GHIDRA uygulamasını çalıştırırken .bat
üzerinden CMD açtığı için bazen Java JDK otomatik olarak yönlendirmiyor,
yönlendirmediği için komutu kendimiz vermemiz gerekiyor,bu nedenle
yüklenme yolunu iyi bilmemiz lazım ki CMD üzerinden verdiğimiz komut ile
programı açılışa yönlendirebilelim. "Change" kısmından yüklenme yerini
değiştirebilirsiniz,eğer istemiyorsanız programı indirmek için "Next"
butonuna basabilirsiniz.
Programın tekrardan karşımıza çıkardığı pencere de bekliyoruz,bu işlem 3-5
dk sürebilir HDD veya kullandığınız SSD'nin sağlık durumuna bağlı.
Bu arada SSD veya HDD'nin sağlık durumuna bakmak için açmış olduğum bu
konuyu da inceleyebilirsiniz
Bu pencere de eğer ki "Next Steps" derseniz eğer,program sizi Java'nın diğer
geliştirici seçeneklerinin sunduğu bir siteye yönlendirecektir,bizim buna
ihtiyacımız
olmadığını için "Close" diyoruz.
GHIDRA İndirme ve Kurulumu
İlk olarak bu verdiğim linki ”https://ghidra-sre.org” kullandığınız tarayıcının
arama kısmına yapıştırıyorsunuz ve ardından
Ekrana açılan pencerede ki "Download Ghıdra v9.2" kısmına tıklıyoruz ve
programı indirmek için ilk adımımızı atıyoruz.
Daha sonra yukarıda da dediğim gibi Opera'nın sağ üstte verdiği "İndirmeler"
kısmından programın inmesini bekliyoruz.
.zip Uzantısı ile inen RAR dosyasının için de bulunan "ghidra" adlı programın
klasörünü masaüstüne sürüklüyoruz,bunun nedeni
.zip içerisin de bu programın içinde ki .bat klasörlerini masaüstüne çıkarmak.
Masaüstüne çektiğimiz klasörü çift tıklayıp açıyoruz ve için de bulunan
"ghidraRun.bat" uzantısına sağ tıklıyoruz ve ardından
"Yönetici olarak çalıştır" diyoruz. Eğer böyle demezsek yukarıda da belirttiğim
gibi program otomatik olarak yönlendirmez ve CMD
üzerinden kendimiz komut ile yönlendirmek zorunda kalırız.
CMD ekranı açıldıktan sonra bir süre bekliyoruz eğer otomatik açılmaz ise
CMD'ye JDK programını az önce kurarken yönlendirdiğimiz yolu
CMD komut satırına yazıyoruz benim yönlendirdiğim yol "C:Program
FilesJavajdk-15.0.1" idi. Bunu CMD komut satırına yazdıktan sonra
"Enter" basarsanız programa yine sizi yönlendirecektir,burada dikkat etmeniz
nokta JDK adlı uygulamanın yönlendiği yol. Ben yönetici olarak çalıştırdığım
için JDK programına otomatik yönlendirme yaptı, GHIDRA kurulumuna devam
etmek için ekrana çıkan pencere de "I Agree" kısmına tıklayıp devam
ediyoruz.
Ardından program çalışmaya başlıyor,bu ekranda bir süre bekliyoruz yukarıda
da belirttiğim gibi bekleme süresi HDD veya SSD durumuna göre değişebilir.
GHIDRA Kullanım Anlatımı
Bekleme ekranı geçtikten sonra program karşımıza açılıyor ve bizim karşımıza
bir bildiri ekranı,bir nevi öğretici ekranı koyuyor bunu eğer okuyup öğrenmek
istiyor iseniz
"Next To" kısmına basıp devam edebilirsiniz ben uzatmamak adına "Close"
diyorum.
Çalışmaya başlamadan önce yeni bir proje oluşturmamız gerekli,bunun için
"File" kısmına geliyoruz ve "New Project" kısmına tıklıyoruz, eğer ki program
içi
kısa yol tuşlarını biliyorsanız kısaca "CTRL+N" kısmına basarak yeni bir proje
oluşturabilirsiniz.
Devamın da karşımıza çıkan ekran da eğer tek başımıza çalışıcak isek bir ekip
çalışmamız yok ise "Non-Shared Project" kısmına tıklıyoruz,eğer bir ekip ile
çalışmak istiyorsanız "Shared Project" kısmına tıklayabilirsiniz ben tek
çalışacağım için "Non-Shared Project" kısmına tıklayıp "Next>>" kısmına
tıklayıp devam ediyoruz.
Karışımıza çıkmış olan "Select Proje ********" yani Proje Lokasyonunu Seçme
kısmına geldikten sonra "Project Directory" kısmı ilk seçeneğimiz oluyor "..."
kısmına tıklayıp,
projemizi kurmak istediğimiz yeri seçebiliriz ben C:'de bulunan "Users" yani
kullanıcılar kısmını seçiyorum daha sonra "Project Name" kısmına tıklayıp
projeme bir isim koyacağım,
ben ismi "thtprojesi" olarak seçiyorum ve proje oluşturmayı bitirmek için
"Finish" diyorum.
Sıra geldi en yukarı da bahsettiğim ".exe" adlı istediğimiz bir programı dosya
olarak import etmemiz yani içeri aktarmamız gerekli bunun için "File" kısmına
geliyoruz ve
"Import File" yani dosyayı içeri aktar diyoruz. İsterseniz kısayol tuşu ile
program açık iken "L" tuşuna basıp bu klasör yolunu açabilirsiniz.
Ardından .exe uzantımızı seçmek için her hangi bir .exe uzantısını seçiyoruz,
"File Name" kısmında bu uzantının seçili olduğundan emin olduktan sonra
"Select File To İmport"
yani içeri aktarmak için seç kısmına tıklıyoruz.
Programın bizim karşımıza çıkardığı ekran .exe uzantılı seçtiğimiz programın
üzerinde bilgi edinmek için,işlemler yapabilmek için,açıklarını bulabilmek için
çıkan bir pencere,
tersine mühendisliğe devam etmek için "Options..." kısmına basıyoruz.
"Load External Libraries" kısmına tıklıyoruz bunun anlamı türkçe karşılığı Dış
Kitaplıkları Yükle olmakta,buna tik attığımız da program üzerinde bilgiler de
oynama yapabilmek veya
program hakkında ayrıntılı kodlama bilgilerini görmeyi bizim için
kolaylaştıracaktır, "OK" diyoruz ve devam ediyoruz.
"Options" kısmından ayarlarımızı da yaptığımıza göre Tersine Mühendislik
işlemine devam etmek için "OK" diyoruz.
Ardından GHIDRA bizim için dosya içi ".dll" uzantılarını ve program içi yazılım
bilgilerini bizlere gösterebilmesi için Import etmeyi yani
içeri aktarmayı devam ettiriyor bir müddet burada bekliyoruz.
Karşımıza çıkan "Import Resuls Summary" yani Sonuç Özetini İçe Aktar ekranı
karşımıza çıkıyor,bu ekran program hakkında yüzeysel bilgileri gün yüzüne
çıkaran bir
penceredir,program hakkında genel bilgileri sunar. "OK" diyip pencereyi
kapatıyoruz.
Programın penceresin de gördüğünüz gibi kullanıcı dll'i ve program hakkında
ki kernel.dll'i bulunmakta. Bizim işimiz tersine mühendislik için
"FastClicker.exe" uzantısı ile olduğu için
"FastClicker.exe" adlı dosyayı seçip GHIDRA amblemi'nin üzerine
sürüklüyoruz.
Bunu yaptıktan sonra program karşımıza böyle bir simge çıkaracaktır,bunun
anlamı GHIDRA'nın için de buluna TOOL'u kullandığımız ve
aktif hale getirdiğimizin göstergesidir.
Bunu yaptıktan sonra TOOL karşımıza gördüğümüz gibi bir bildirim çıkarıyoruz
bu bildirim de "FastClicker.exe has not been analyzed. Would you like to
analyze it now?" gibi bir bildirim verdi
bunun anlamı şuan bu .exe uzantısı analiz edilmiyor bunu analiz etmek ister
misin demek istiyor. Biz de zaten başından beri bunu istediğimiz için "Yes"
diyoruz ve devam ediyoruz.
Bunları yaptıktan sonra program karşımıza "Analysis Options" ekranı
verecektir bunun anlamı Analizörler ayarları, bu pencere bize iletişim
kutusunun tüm analizörleri ve listesini verir,bunlara işlem sunma şansı da
bizlere sunar.
Biz bu pencerenin sol kısmın da bulunan "Analyzers" penceresin de bulunan
istediğimiz bir seçeneğe göz atabiliriz benim seçtiğim seçenek "Create
Address Tables" yani Adres Tabloları Oluştur seçeneği,bunun üzerine bir tık
yaptığımız zaman ekranın sağ tarafın da
bulunan kısma program hakkında "Description" yani açıklama ekranı veriyor
alt tarafında da "Options" yani ayarlar seçeneklerini veriyor,biz bunları
ellemeyip alt kısım da bulunan "Analyze" kısmına
tıklıyoruz.
Ardından programın en alt sağ kısmın da "Analyze" ilerlemesini
görmekteyiz,burada program size her analizörün ilerlemesini gösterir,
biz bir müddet bekliyoruz.
Bu ilerleme bittikten sonra karşımıza açılan pencere "There were
warnings/errors issued during analysis." yani analiz sırasın da verilen uyarılar
ve
hatalar bulunmakta,alt taraftan gerekli bilgileri edinebilirsiniz biz "OK" diyip
devam ediyoruz.
Analiz ve analizör işlemlerimiz bitti şimdi program da bulunan 3 farklı pencere
gözükmekte gördüğünüz gibi,bunlar "Program Trees", "Symbol Tree" ve
"Data Type Menager",
gelin bunları tanıyalım.
İlk penceremiz olan "Program Trees" bu bölüm programın yapısını bizlere
göstermekle kalmayıp program da işlemler yapmak için kullanılan bölgedir.
Burada program hakkında "headers,text,rdata,data,rsrc,reloc ve debug data"
hakkında C ve Assembly verileri gözükebilir.
Bir sonra ki pencere yani ikinci penceremiz "Symbol Tree" yani sembol
ağacı,burası program hakkında ki sembolleri bulmamıza ve bu semboller
hakkında bilgileri aramımıza
yardımcı olur "Filter" kısmından istediğimiz aramayı yapabiliriz. Burada
ımports,exports,functions,labels,classes,namespace s gibi veriler bulunmakta.
Sırada ki penceremiz yani son ve üçüncü penceremiz olan "Data Type
Manager" yani veri tipi yöneticisi kısmı,burada ki bölüm de bir uygulama
oluşturabiliriz veyahut
veri türlerini teker teker bulabiliriz. Burada görüldüğü üzere
BuiltInTypes,FastClicker.exe ve windows_vs12_32 kısımları bulunmakta.
İsterseniz program üzerinde "G" tuşuna basıp adres aramak için bir "finder"
açabilirsiniz. Aramak istediğiniz adresi yazıp "OK" kısmına tıklarsanız
Assembly pencersin de bulunan,
adrese sizi yönlendirecektir.
Tekrardan program üzerine gelip "F1" tuşuna basarsanız eğer GHİDRA'nın
yardımcı programı açar,sol tarafta ki menü de bu yardımcı menü için
istediğiniz
bilgiye sahil olabilirsiniz.
Konunun sonuna gelmekle beraber son olarak programda ki ekranda
görüldüğü üzere Sol tarafta ki pencere "Assembly" penceresi olmakta,sağ
tarafta ki pencere ise
C için "Decompiler" yani derleyici penceresi bulunmakta.
Turkhackteam.org/net

More Related Content

Similar to Ulusal Güvenlik Ajansının Programı

3 d studio_max_el kitabı --- 3DVFX--3D Studio Max Eğitim
3 d studio_max_el kitabı   ---   3DVFX--3D Studio Max Eğitim3 d studio_max_el kitabı   ---   3DVFX--3D Studio Max Eğitim
3 d studio_max_el kitabı --- 3DVFX--3D Studio Max Eğitimdarkness333435_35
 
1 pardus işletim_sistemi
1 pardus işletim_sistemi1 pardus işletim_sistemi
1 pardus işletim_sistemiBirtan Yıldız
 
Veritabani Programlama - Oracle Kurulumu
Veritabani Programlama - Oracle KurulumuVeritabani Programlama - Oracle Kurulumu
Veritabani Programlama - Oracle KurulumuSevdanur Genc
 
Az ve Öz C++ Muhammet ÇAĞATAY
Az ve Öz C++  Muhammet ÇAĞATAYAz ve Öz C++  Muhammet ÇAĞATAY
Az ve Öz C++ Muhammet ÇAĞATAYMuhammet ÇAĞATAY
 
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırmaTekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırmaTekvizyon Pc Teknoloji Hizmetleri
 
NVIVO 10 Programı için İndirme ve Kurulum Basamakları
NVIVO 10 Programı için İndirme ve Kurulum BasamaklarıNVIVO 10 Programı için İndirme ve Kurulum Basamakları
NVIVO 10 Programı için İndirme ve Kurulum BasamaklarıAppleJuice1020
 
Sql server 2008 Express & Sql Server management Studio 2008 express Kurulumu
Sql server 2008 Express & Sql Server management Studio 2008 express KurulumuSql server 2008 Express & Sql Server management Studio 2008 express Kurulumu
Sql server 2008 Express & Sql Server management Studio 2008 express KurulumuSercan Yemeni
 
SQL Server 2008 Express & SQL Server Management Studio Kurulumu
SQL Server 2008 Express & SQL Server Management Studio KurulumuSQL Server 2008 Express & SQL Server Management Studio Kurulumu
SQL Server 2008 Express & SQL Server Management Studio KurulumuSercan Yemeni
 
MEHMET GÜLÖREN 170710017
MEHMET GÜLÖREN 170710017MEHMET GÜLÖREN 170710017
MEHMET GÜLÖREN 170710017Celal Karaca
 
Windows xp'den windows 7'ye yükseltme
Windows xp'den windows 7'ye yükseltmeWindows xp'den windows 7'ye yükseltme
Windows xp'den windows 7'ye yükseltmeEmine Ozen
 
Davetsiz misafirleri nasil tesbit eder ve onlardan nasil kurtulabiliriz
Davetsiz misafirleri nasil tesbit eder ve onlardan nasil kurtulabilirizDavetsiz misafirleri nasil tesbit eder ve onlardan nasil kurtulabiliriz
Davetsiz misafirleri nasil tesbit eder ve onlardan nasil kurtulabilirizilker kayar
 
Bitdefender gravityzone yapılandırma_tekvizyon
Bitdefender gravityzone yapılandırma_tekvizyonBitdefender gravityzone yapılandırma_tekvizyon
Bitdefender gravityzone yapılandırma_tekvizyonTekvizyonTeknolojiHi
 
Windows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım AnaliziWindows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım AnaliziBGA Cyber Security
 
Sql server 2012 kurulum sunu
Sql server 2012 kurulum sunuSql server 2012 kurulum sunu
Sql server 2012 kurulum sunuoktaygokgol
 

Similar to Ulusal Güvenlik Ajansının Programı (20)

3 d studio_max_part1
3 d studio_max_part13 d studio_max_part1
3 d studio_max_part1
 
3 d studio_max_el kitabı --- 3DVFX--3D Studio Max Eğitim
3 d studio_max_el kitabı   ---   3DVFX--3D Studio Max Eğitim3 d studio_max_el kitabı   ---   3DVFX--3D Studio Max Eğitim
3 d studio_max_el kitabı --- 3DVFX--3D Studio Max Eğitim
 
Sunu (1)
Sunu (1)Sunu (1)
Sunu (1)
 
1 pardus işletim_sistemi
1 pardus işletim_sistemi1 pardus işletim_sistemi
1 pardus işletim_sistemi
 
Veritabani Programlama - Oracle Kurulumu
Veritabani Programlama - Oracle KurulumuVeritabani Programlama - Oracle Kurulumu
Veritabani Programlama - Oracle Kurulumu
 
Az ve Öz C++ Muhammet ÇAĞATAY
Az ve Öz C++  Muhammet ÇAĞATAYAz ve Öz C++  Muhammet ÇAĞATAY
Az ve Öz C++ Muhammet ÇAĞATAY
 
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırmaTekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
Tekvizyon bitdefender-gravityzone bulut-panel-yapılandırma
 
NVIVO 10 Programı için İndirme ve Kurulum Basamakları
NVIVO 10 Programı için İndirme ve Kurulum BasamaklarıNVIVO 10 Programı için İndirme ve Kurulum Basamakları
NVIVO 10 Programı için İndirme ve Kurulum Basamakları
 
Java 1
Java 1Java 1
Java 1
 
Tizen
TizenTizen
Tizen
 
Sql server 2008 Express & Sql Server management Studio 2008 express Kurulumu
Sql server 2008 Express & Sql Server management Studio 2008 express KurulumuSql server 2008 Express & Sql Server management Studio 2008 express Kurulumu
Sql server 2008 Express & Sql Server management Studio 2008 express Kurulumu
 
SQL Server 2008 Express & SQL Server Management Studio Kurulumu
SQL Server 2008 Express & SQL Server Management Studio KurulumuSQL Server 2008 Express & SQL Server Management Studio Kurulumu
SQL Server 2008 Express & SQL Server Management Studio Kurulumu
 
MEHMET GÜLÖREN 170710017
MEHMET GÜLÖREN 170710017MEHMET GÜLÖREN 170710017
MEHMET GÜLÖREN 170710017
 
Windows xp'den windows 7'ye yükseltme
Windows xp'den windows 7'ye yükseltmeWindows xp'den windows 7'ye yükseltme
Windows xp'den windows 7'ye yükseltme
 
Davetsiz misafirleri nasil tesbit eder ve onlardan nasil kurtulabiliriz
Davetsiz misafirleri nasil tesbit eder ve onlardan nasil kurtulabilirizDavetsiz misafirleri nasil tesbit eder ve onlardan nasil kurtulabiliriz
Davetsiz misafirleri nasil tesbit eder ve onlardan nasil kurtulabiliriz
 
Bitdefender gravityzone yapılandırma_tekvizyon
Bitdefender gravityzone yapılandırma_tekvizyonBitdefender gravityzone yapılandırma_tekvizyon
Bitdefender gravityzone yapılandırma_tekvizyon
 
Windows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım AnaliziWindows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım Analizi
 
Ip2 vi̇ze2
Ip2 vi̇ze2Ip2 vi̇ze2
Ip2 vi̇ze2
 
Sql server 2012 kurulum sunu
Sql server 2012 kurulum sunuSql server 2012 kurulum sunu
Sql server 2012 kurulum sunu
 
Sunuuuuu
SunuuuuuSunuuuuu
Sunuuuuu
 

Ulusal Güvenlik Ajansının Programı

  • 1. Turkhackteam.org/net sizlere NSA'nın açık olarak topluma sızdırdığı bir tersine mühendislik programından bahsedeceğim,"NSA(National Security Agency)" yani ulusal güvenlik ajansı kısaca bir istihbarat birimi olarak geçmekte,konuya ufaktan geçelim. GHIDRA Nedir? NSA yani Ulusal Güvenlik Ajansı tarafından geliştirilen bir tersine mühendislik yazılımıdır,geçerli olduğu platformlar sırasıyla Linux-MacOs-Windows üzeri kurulabilen platformlardır,bu platformlar üzerine kurulan bu program yazılan bir programın C ve Assembly kodlarını incelememize yarar ve incelemek için bizlere gerekli tooları verir. Bu tür araçlar oluşturulan programlar da ki kodları nasıl çalıştığını bizlere göstermekte,sistemler de ki açıkları bizlere net bir halde göstermekte. Bu program hack işlerine yeni girmiş kişiler tarafından kullanılabilmekte,programın ücretsiz olması da ayrı bir güzelliği tabi ki.
  • 2. Çoğu kişi windows üzerine değil de Linux üzerine kurulmasını tavsiye eder sebebi ise programın NSA tarafından yayınlanması güven kaybı oluşturuyor fakat çoğu kullanıcı Windows üzerinden devam etmekte. Bu Link “https://ghidra-sre.org” üzerinden programı ücretsiz şekil de edinebilirsiniz. JDK Nedir? GHIDRA programını indirdikten sonra elbette bilgisayarımız da bulunması gereken bir program var,GHIDRA direkt olarak .exe uzantılı inmiyor, GHIDRA bizlere .bat uzantılı geldiği için JDK ile onu çalıştırmamız gerekiyor. Gelelim GHIDRA programını kurmak için bize yardımcı olması gereken programın ne olduğuna ne işe yaradığına. JDK yani İngilizce açılımı Java Development Kit Türkçesi ise Java Geliştirici Kiti olmakla beraber bu program java üzeri geliştirmeler yapılmasını isteyen Developerların kendini geliştirmeleri için sahip olması gereken bir uygulama. Bu uygulamayı da indirdikten sonra GHIDRA kurulumuna devam edebiliriz, Bu Link “https://www.oracle.com/java/technologies/javase/javase-jdk8- downloads.html”üzerinden indirebilirsiniz.
  • 3. JDK İndirme ve Kurulumu İlk olarak her hangi bir tarayıcıyı açıyoruz ben opera kullanıyorum bu nedenle onun üzerinden anlatacağım,ilk olarak Opera arama motoruna JDK Download yazıyoruz ve çıkan ilk link tıklayıp giriyoruz. Sayfayı aşağıya çekip Java'nın en güncel sürümünü indiriyoruz,bunun için JDK Download yazan yere tıklıyoruz. Bize yönlendiren sayfanın biraz daha aşağısına indirip Java'nın Windows uyumlu sürümünün üstüne geliyoruz ve
  • 4. "jdk-15.0.1_windows-x64_bin.exe" yazan yere tıklıyoruz,şunu eklemek istiyorum bu programın sadece 64 uyumlu olması gerçekten kötü bir durum fakat 32'ler üzerinde de çalışabilir deneyebilirsiniz. Program boyutu 159.69 MB. Ardından önümüze açılan ufak pencereye bakıyoruz ve üstte yazan "I reviwed and accept the Oracle Technology Network License Agreement for Oracle Java SE" kısmına bir tık atıyoruz bunun neden Oracle'ın lisans sözleşmesine onay vermemiz,ardından altta yazan "Download jdk-15.0.1_windows-x64_bin.exe" kısmına tıklıyoruz. Tıkladıktan sonra Opera bize programı nereye yüklemek istediğimiz için bir seçenek sunuyor,ben Masaüstüne direkt olarak gözüksün diye yüklemek istediğimden "Masaüstünü" seçip,dosya adından emin olup,"Kaydet" diyoruz.
  • 5. Ardından Opera da sağ üstte bulunan "İndirmeler" kısmına düşen bu uygulamanın yüklenmesini bekliyoruz. Ardından programın bize vermiş olduğu pencere de "Preparing to install" yani indirmek için hazırlanıyor kısmını bekliyoruz.
  • 6. Program karşımıza Hoş Geldin ekranı çıkarıyor,tekrardan indirmeye devam etmek için "Next>" kısmına basıyoruz. Programın bizim karşımıza çıkardığı bu pencere de programın yüklenmesi için izlendiği yolu iyi seçmemiz gerekiyor ve bu izlenen yolu unutmamamız gerekiyor nitekim GHIDRA uygulamasını çalıştırırken .bat üzerinden CMD açtığı için bazen Java JDK otomatik olarak yönlendirmiyor, yönlendirmediği için komutu kendimiz vermemiz gerekiyor,bu nedenle yüklenme yolunu iyi bilmemiz lazım ki CMD üzerinden verdiğimiz komut ile programı açılışa yönlendirebilelim. "Change" kısmından yüklenme yerini değiştirebilirsiniz,eğer istemiyorsanız programı indirmek için "Next" butonuna basabilirsiniz.
  • 7. Programın tekrardan karşımıza çıkardığı pencere de bekliyoruz,bu işlem 3-5 dk sürebilir HDD veya kullandığınız SSD'nin sağlık durumuna bağlı. Bu arada SSD veya HDD'nin sağlık durumuna bakmak için açmış olduğum bu konuyu da inceleyebilirsiniz Bu pencere de eğer ki "Next Steps" derseniz eğer,program sizi Java'nın diğer geliştirici seçeneklerinin sunduğu bir siteye yönlendirecektir,bizim buna ihtiyacımız olmadığını için "Close" diyoruz.
  • 8. GHIDRA İndirme ve Kurulumu İlk olarak bu verdiğim linki ”https://ghidra-sre.org” kullandığınız tarayıcının arama kısmına yapıştırıyorsunuz ve ardından Ekrana açılan pencerede ki "Download Ghıdra v9.2" kısmına tıklıyoruz ve programı indirmek için ilk adımımızı atıyoruz. Daha sonra yukarıda da dediğim gibi Opera'nın sağ üstte verdiği "İndirmeler" kısmından programın inmesini bekliyoruz. .zip Uzantısı ile inen RAR dosyasının için de bulunan "ghidra" adlı programın klasörünü masaüstüne sürüklüyoruz,bunun nedeni .zip içerisin de bu programın içinde ki .bat klasörlerini masaüstüne çıkarmak.
  • 9. Masaüstüne çektiğimiz klasörü çift tıklayıp açıyoruz ve için de bulunan "ghidraRun.bat" uzantısına sağ tıklıyoruz ve ardından "Yönetici olarak çalıştır" diyoruz. Eğer böyle demezsek yukarıda da belirttiğim gibi program otomatik olarak yönlendirmez ve CMD üzerinden kendimiz komut ile yönlendirmek zorunda kalırız. CMD ekranı açıldıktan sonra bir süre bekliyoruz eğer otomatik açılmaz ise CMD'ye JDK programını az önce kurarken yönlendirdiğimiz yolu CMD komut satırına yazıyoruz benim yönlendirdiğim yol "C:Program FilesJavajdk-15.0.1" idi. Bunu CMD komut satırına yazdıktan sonra "Enter" basarsanız programa yine sizi yönlendirecektir,burada dikkat etmeniz nokta JDK adlı uygulamanın yönlendiği yol. Ben yönetici olarak çalıştırdığım için JDK programına otomatik yönlendirme yaptı, GHIDRA kurulumuna devam etmek için ekrana çıkan pencere de "I Agree" kısmına tıklayıp devam ediyoruz.
  • 10. Ardından program çalışmaya başlıyor,bu ekranda bir süre bekliyoruz yukarıda da belirttiğim gibi bekleme süresi HDD veya SSD durumuna göre değişebilir.
  • 11. GHIDRA Kullanım Anlatımı Bekleme ekranı geçtikten sonra program karşımıza açılıyor ve bizim karşımıza bir bildiri ekranı,bir nevi öğretici ekranı koyuyor bunu eğer okuyup öğrenmek istiyor iseniz "Next To" kısmına basıp devam edebilirsiniz ben uzatmamak adına "Close" diyorum. Çalışmaya başlamadan önce yeni bir proje oluşturmamız gerekli,bunun için "File" kısmına geliyoruz ve "New Project" kısmına tıklıyoruz, eğer ki program içi kısa yol tuşlarını biliyorsanız kısaca "CTRL+N" kısmına basarak yeni bir proje oluşturabilirsiniz.
  • 12. Devamın da karşımıza çıkan ekran da eğer tek başımıza çalışıcak isek bir ekip çalışmamız yok ise "Non-Shared Project" kısmına tıklıyoruz,eğer bir ekip ile çalışmak istiyorsanız "Shared Project" kısmına tıklayabilirsiniz ben tek çalışacağım için "Non-Shared Project" kısmına tıklayıp "Next>>" kısmına tıklayıp devam ediyoruz.
  • 13. Karışımıza çıkmış olan "Select Proje ********" yani Proje Lokasyonunu Seçme kısmına geldikten sonra "Project Directory" kısmı ilk seçeneğimiz oluyor "..." kısmına tıklayıp, projemizi kurmak istediğimiz yeri seçebiliriz ben C:'de bulunan "Users" yani kullanıcılar kısmını seçiyorum daha sonra "Project Name" kısmına tıklayıp projeme bir isim koyacağım, ben ismi "thtprojesi" olarak seçiyorum ve proje oluşturmayı bitirmek için "Finish" diyorum.
  • 14. Sıra geldi en yukarı da bahsettiğim ".exe" adlı istediğimiz bir programı dosya olarak import etmemiz yani içeri aktarmamız gerekli bunun için "File" kısmına geliyoruz ve "Import File" yani dosyayı içeri aktar diyoruz. İsterseniz kısayol tuşu ile program açık iken "L" tuşuna basıp bu klasör yolunu açabilirsiniz.
  • 15. Ardından .exe uzantımızı seçmek için her hangi bir .exe uzantısını seçiyoruz, "File Name" kısmında bu uzantının seçili olduğundan emin olduktan sonra "Select File To İmport" yani içeri aktarmak için seç kısmına tıklıyoruz. Programın bizim karşımıza çıkardığı ekran .exe uzantılı seçtiğimiz programın üzerinde bilgi edinmek için,işlemler yapabilmek için,açıklarını bulabilmek için çıkan bir pencere, tersine mühendisliğe devam etmek için "Options..." kısmına basıyoruz.
  • 16. "Load External Libraries" kısmına tıklıyoruz bunun anlamı türkçe karşılığı Dış Kitaplıkları Yükle olmakta,buna tik attığımız da program üzerinde bilgiler de oynama yapabilmek veya program hakkında ayrıntılı kodlama bilgilerini görmeyi bizim için kolaylaştıracaktır, "OK" diyoruz ve devam ediyoruz.
  • 17. "Options" kısmından ayarlarımızı da yaptığımıza göre Tersine Mühendislik işlemine devam etmek için "OK" diyoruz. Ardından GHIDRA bizim için dosya içi ".dll" uzantılarını ve program içi yazılım bilgilerini bizlere gösterebilmesi için Import etmeyi yani içeri aktarmayı devam ettiriyor bir müddet burada bekliyoruz.
  • 18. Karşımıza çıkan "Import Resuls Summary" yani Sonuç Özetini İçe Aktar ekranı karşımıza çıkıyor,bu ekran program hakkında yüzeysel bilgileri gün yüzüne çıkaran bir penceredir,program hakkında genel bilgileri sunar. "OK" diyip pencereyi kapatıyoruz.
  • 19. Programın penceresin de gördüğünüz gibi kullanıcı dll'i ve program hakkında ki kernel.dll'i bulunmakta. Bizim işimiz tersine mühendislik için "FastClicker.exe" uzantısı ile olduğu için "FastClicker.exe" adlı dosyayı seçip GHIDRA amblemi'nin üzerine sürüklüyoruz. Bunu yaptıktan sonra program karşımıza böyle bir simge çıkaracaktır,bunun anlamı GHIDRA'nın için de buluna TOOL'u kullandığımız ve aktif hale getirdiğimizin göstergesidir.
  • 20. Bunu yaptıktan sonra TOOL karşımıza gördüğümüz gibi bir bildirim çıkarıyoruz bu bildirim de "FastClicker.exe has not been analyzed. Would you like to analyze it now?" gibi bir bildirim verdi bunun anlamı şuan bu .exe uzantısı analiz edilmiyor bunu analiz etmek ister misin demek istiyor. Biz de zaten başından beri bunu istediğimiz için "Yes" diyoruz ve devam ediyoruz. Bunları yaptıktan sonra program karşımıza "Analysis Options" ekranı verecektir bunun anlamı Analizörler ayarları, bu pencere bize iletişim kutusunun tüm analizörleri ve listesini verir,bunlara işlem sunma şansı da bizlere sunar. Biz bu pencerenin sol kısmın da bulunan "Analyzers" penceresin de bulunan istediğimiz bir seçeneğe göz atabiliriz benim seçtiğim seçenek "Create Address Tables" yani Adres Tabloları Oluştur seçeneği,bunun üzerine bir tık yaptığımız zaman ekranın sağ tarafın da bulunan kısma program hakkında "Description" yani açıklama ekranı veriyor alt tarafında da "Options" yani ayarlar seçeneklerini veriyor,biz bunları ellemeyip alt kısım da bulunan "Analyze" kısmına tıklıyoruz.
  • 21. Ardından programın en alt sağ kısmın da "Analyze" ilerlemesini görmekteyiz,burada program size her analizörün ilerlemesini gösterir, biz bir müddet bekliyoruz. Bu ilerleme bittikten sonra karşımıza açılan pencere "There were warnings/errors issued during analysis." yani analiz sırasın da verilen uyarılar ve hatalar bulunmakta,alt taraftan gerekli bilgileri edinebilirsiniz biz "OK" diyip devam ediyoruz.
  • 22. Analiz ve analizör işlemlerimiz bitti şimdi program da bulunan 3 farklı pencere gözükmekte gördüğünüz gibi,bunlar "Program Trees", "Symbol Tree" ve "Data Type Menager", gelin bunları tanıyalım.
  • 23. İlk penceremiz olan "Program Trees" bu bölüm programın yapısını bizlere göstermekle kalmayıp program da işlemler yapmak için kullanılan bölgedir. Burada program hakkında "headers,text,rdata,data,rsrc,reloc ve debug data" hakkında C ve Assembly verileri gözükebilir. Bir sonra ki pencere yani ikinci penceremiz "Symbol Tree" yani sembol ağacı,burası program hakkında ki sembolleri bulmamıza ve bu semboller hakkında bilgileri aramımıza yardımcı olur "Filter" kısmından istediğimiz aramayı yapabiliriz. Burada ımports,exports,functions,labels,classes,namespace s gibi veriler bulunmakta.
  • 24. Sırada ki penceremiz yani son ve üçüncü penceremiz olan "Data Type Manager" yani veri tipi yöneticisi kısmı,burada ki bölüm de bir uygulama oluşturabiliriz veyahut veri türlerini teker teker bulabiliriz. Burada görüldüğü üzere BuiltInTypes,FastClicker.exe ve windows_vs12_32 kısımları bulunmakta. İsterseniz program üzerinde "G" tuşuna basıp adres aramak için bir "finder" açabilirsiniz. Aramak istediğiniz adresi yazıp "OK" kısmına tıklarsanız Assembly pencersin de bulunan, adrese sizi yönlendirecektir. Tekrardan program üzerine gelip "F1" tuşuna basarsanız eğer GHİDRA'nın yardımcı programı açar,sol tarafta ki menü de bu yardımcı menü için istediğiniz bilgiye sahil olabilirsiniz.
  • 25. Konunun sonuna gelmekle beraber son olarak programda ki ekranda görüldüğü üzere Sol tarafta ki pencere "Assembly" penceresi olmakta,sağ tarafta ki pencere ise C için "Decompiler" yani derleyici penceresi bulunmakta.