İçeriğe atla

Ghidra

Ghidra
The logo for the Ghidra framework
A screenshot of the Ghidra user interface
Orijinal yazar(lar)NSA
İlk yayınlanma5 Mart 2019 (5 yıl önce) (2019-03-05)
Güncel sürüm9.2.3[1] / 25 Mart 2021 (3 yıl önce) (2021-03-25)
Programlama diliJava, C++
Resmî sitesighidra-sre.org
Kod deposugithub.com/NationalSecurityAgency/ghidra

Ghidra (telaffuz Gee-druh;[2] /ˈɡdrə/[3]) serbest ve açık kaynaklı Ulusal Güvenlik Ajansı (NSA) tarafından geliştirilen ters mühendislik aracı . Yazılım Mart 2019'da RSA Konferansı'nda yayınlandı; kaynaklar bir ay sonra GitHub'da yayınlandı.[4] Ghidra, birçok güvenlik araştırmacısı tarafından IDA Pro'nun rakibi olarak görülüyor.[5] Yazılım, GUI için Swing çerçevesi kullanılarak Java'da yazılmıştır. Derleyici bileşeni C ++ ile yazılmıştır. Ghidra eklentileri Java veya Python'da geliştirilebilir (Jython aracılığıyla sağlanır).[6]

Tarih

Ghidra'nın varlığı ilk olarak Mart 2017'de WikiLeaks'de sızdırıldı.[7]

Haziran 2019'da Coreboot, Ghidra yazılım paketinin açık kaynaklı sürümünün ardından ürün yazılımına özgü sorunlarda tersine mühendislik çalışmaları için Ghidra'yı kullanmaya başladı.[8]

Desteklenen mimariler

Aşağıdaki mimariler veya ikili biçimler desteklenir:[9]

  • x86 16, 32 ve 64 bit
  • ARM ve AARCH64
  • PowerPC 32/64 ve VLE
  • MIPS 16/32/64
  • MicroMIPS
  • 68xxx
  • Java ve DEX bytecode
  • PA-RISC
  • PIC 12/16/17/18/24
  • SPARC 32/64
  • CR16C
  • Z80
  • 6502
  • 8051
  • MSP430
  • AVR8, AVR32
  • SuperH

Ayrıca bakınız

  • IDA Pro
  • JEB decompiler
  • radare2

Kaynakça

  1. ^ "Ghidra: Release Notes". 16 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Nisan 2021. 
  2. ^ "Frequently asked questions". GitHub.com. 5 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mart 2019. 
  3. ^ "Come Get Your Free NSA Reverse Engineering Tool!". YouTube.com. 21 Mayıs 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mayıs 2019. 
  4. ^ "The NSA Makes Ghidra, a Powerful Cybersecurity Tool, Open Source". Wired.com. 6 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Mart 2019. 
  5. ^ "NSA releases Ghidra, a free software reverse engineering toolkit". ZDNet (İngilizce). 6 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mart 2019. 
  6. ^ "Three Heads are Better Than One: Mastering NSA's Ghidra Reverse Engineering Tool" (PDF). 1 Mart 2020 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 30 Eylül 2019. 
  7. ^ "Ghidra". WikiLeaks. National Security Agency. 7 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mart 2019. 
  8. ^ "Coreboot Project Is Leveraging NSA Software To Help With Firmware Reverse Engineering". 21 Eylül 2009 tarihinde kaynağından arşivlendi. 
  9. ^ "Rob Joyce on Twitter". Twitter.com. 7 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Mart 2019. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Özgür yazılım</span> belirli kullanıcı kullanım, kopyalama, değiştirme, yeniden dağıtma özgürlüğünün (değiştirilmiş dahil) mevcut olduğu yazılım

Özgür yazılım, kullanıcısına yazılımı herhangi bir amaç için çalıştırma, inceleme, değiştirme ve dağıtma özgürlükleri tanıyan yazılım türüdür. Tersi, özel mülk yazılımdır.

<span class="mw-page-title-main">Açık kaynak</span> ücretsiz dağıtım ve ürüne erişim hakkında felsefe

Açık kaynak, kaynak kodun; kopyalanması, değiştirilebilmesi ve yeniden dağıtım için serbestçe kullanıma sunulmasıdır. Açık kaynak yalnızca kaynak koda erişim anlamına gelmez. Kodların başkaları tarafından herhangi bir telif ücreti ödemeden kullanılabilmesi, değiştirilmesi ve yeniden dağıtımı gibi çeşitli haklar vermesi gerekir. Bunun için ürün, açık kaynak tanımına uyan bir lisans kullanmalıdır.

<span class="mw-page-title-main">Açık kaynak yazılım</span> açık kaynak lisansıyla yayınlanmış programlama kodu

Açık kaynak yazılım ya da açık kaynak kodlu yazılım, telif hakkı sahibinin kullanıcılara yazılımı ve kaynak kodunu herhangi bir amaç için kullanma, inceleme, değiştirme ve dağıtma haklarını verdiği bir lisans kapsamında yayınlanan bilgisayar yazılımıdır. Kullandıkları lisans gereğince isteyen kişi ve grupların yazılımı kendi kişisel ihtiyaçlarına uyarlamalarına ve sonunda değişikliği benzer tercihlere sahip kullanıcılar için bir çatal olarak yayınlamalarına olanak tanır.

<span class="mw-page-title-main">OpenOffice.org</span>

OpenOffice.org, 1999 - 2011 yılları arasında geliştirilmiş açık kaynaklı ve ücretsiz bir ofis paketi. Sun Microsystems'in 1999 yılında kurum içi kullanım için edindiği StarOffice'in açık kaynaklı bir türevidir. OpenOffice.org'un temelini oluşturan StarOffice ise 1985 yılında geliştirilmeye başlanmıştır. OpenOffice.org; Writer, Calc, Impress (sunu), Draw (çizim), Math ve Base (veritabanı) bileşenlerini içerir.

<span class="mw-page-title-main">GitHub</span> sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için ağ tabanlı bir depolama servisi

GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için web tabanlı bir depolama servisidir. 8 Şubat 2008 tarihinde Tom Preston-Werner, Chris Wanstrath, P. J. Hyett, Scott Chacon tarafından kuruldu. GitHub özel depolar için ücretli üyelik seçenekleri sunarken, açık kaynaklı projeler için ücretsizdir. Mayıs 2011 itibarıyla GitHub açık kaynaklı projeler tarafından tercih edilen en popüler depolama servisidir.

<span class="mw-page-title-main">React</span> Kullacı arayüzleri oluşturmak için kullanılan JavaScript kütüphanesi

React, kullanıcı arayüzü oluşturmaya yarayan açık kaynak kodlu bir javascript kütüphanesidir. Facebook önderliğinde bir geliştirici grubu tarafından geliştirilmekte olan React, Model-View-Controller prensibine uygun olarak oluşturulmuştur. React ile single-page olarak adlandırılan sayfalar geliştirilebileceği gibi React-Native ile mobil uygulamalar da geliştirilebilir.

Özel mülk yazılım ya da sahipli yazılım, yazılımın yaratıcısının, yayıncısının veya diğer hak sahibi ortaklarının fikrî mülkiyet hakkını ve telif hakkını kendi elinde tuttuğu bilgisayar yazılımıdır. Yazılımın alıcılarına, yazılımı özgürce paylaşma veya değiştirme hakkı vermez. Özel mülk yazılımlar, mülk sahipleri tarafından ücretli ya da ücretsiz olarak yayınlanabilir.

<span class="mw-page-title-main">Libreboot</span>

Libreboot özgür olmayan BIOS donanım yazılımlarını özgür olanla değiştirmeyi hedefleyen özgür yazılım tasarısıdır. Libreboot, çağdaş 32-bit veya 64-bit işletim sistemini yüklemek ve çalıştırmak için asgari sayıdaki hizmetleri yürütebilecek hafif tasarlanmış bir dizgedir.

<span class="mw-page-title-main">GNU LibreJS</span> Mozilla Firefox tabanlı tarayıcılar için özgür yazılım web tarayıcısı eklentisi

GNU LibreJS ya da kısaca LibreJS Mozilla Firefox tabanlı tarayıcılar için özgür yazılım web tarayıcısı eklentisidir. GNU Tasarısı tarafından oluşturulmuştur. Amacı kullanıcının web tarayıcısında özgür olmayan anlaşılması zor JavaScript programlarını engellemek ve özgür ya da anlaşılabilen programlara izin vermektir. Eklenti Richard Stallman'ın "JavaScript Tuzağı" olarak adlandırdığı sorunu gidermek için oluşturulmuştur, bu sorun birçok kullanıcının web tarayıcılarında bilmeden özel mülk yazılım çalıştırması hakkındadır.

<span class="mw-page-title-main">Rosetta (yazılım)</span> Apple tarafından geliştirilen program

Rosetta, Apple Inc. tarafından Mac OS X işletim sistemi için geliştirilen dinamik bir ikili tercümandır. Birçok PowerPC uygulamasının belirli Intel tabanlı Macintosh bilgisayarlarda herhangi bir değişiklik yapmadan çalışmasına izin verir. Apple 2006 yılında Macintosh platformunun Komut kümesini PowerPC'den Intel işlemciye değiştirince Rosetta'yı piyasaya sürdü. "Rosetta" ismi, Mısır hiyerogliflerini anlama ve tercüme etmeyi mümkün kılan keşif olan Rosetta Taşı'na referans yapar.

<span class="mw-page-title-main">XNU</span>

XNU, MacOS işletim sisteminde kullanılmak üzere Aralık 1996'dan beri Apple'da geliştirilen ve Darwin işletim sisteminin bir parçası olarak ücretsiz ve açık kaynaklı yazılım olarak piyasaya sürülen bilgisayar işletim sistemi çekirdeğidir. Ayrıca, iOS, tvOS ve watchOS işletim sistemlerinin çekirdeği olarak da kullanılır. XNU, "X Not Unix"'in bir kısaltmasıdır.

<span class="mw-page-title-main">Nim (programlama dili)</span> Programlama dili

Nim, Andreas Rumpf tarafından tasarlanan ve geliştirilen, genel amaçlı, çok paradigmalı, statik tipli, derlenen bir programlama dilidir. Derleme zamanı kod sentezi, cebirsel veri türleri, mesaj iletme gibi çeşitli özellikler ile meta programlama, işlevsel, prosedürel ve nesne yönelimli programlama stillerini desteklemenin yanı sıra C / C++ dillerine yabancı fonksiyon arayüzü katmanı sunarak ve C, C++, Objective-C ve JavaScript dillerine derlenerek "verimli, etkileyici ve zarif", olmayı hedefleyen bir tasarıma sahiptir.

<span class="mw-page-title-main">Avrupa Özgür Yazılım Vakfı</span>

Avrupa Özgür Yazılım Vakfı (FSFE), Avrupa'daki özgür yazılım hareketini tüm yönleriyle desteklemek için 2001 yılında kurulmuştur. FSFE, Alman yasalarına göre hayır kurumu olarak kayıtlı bir dernektir (e.V.) ve çeşitli Avrupa ülkelerinde şubeleri bulunmaktadır. ABD merkezli Özgür Yazılım Vakfı'nın (FSF) resmi bir Avrupa kardeş örgütüdür. Ancak FSF ve FSFE, finansal ve yasal olarak iki ayrı kuruluşlardır.

LibrePlanet Özgür Yazılım Vakfı tarafından oluşturulan ve desteklenen bir topluluk projesidir. Hedefi yerel toplulukları ve kuruluşları bir araya getirerek yıllık bir konferans düzenlemek ve Özgür Yazılım'ın dünya çapında tanınmasını sağlamaktır.

Açık kaynak yazılım hareketi, daha geniş açık işbirliği kavramının bir parçası olarak, yazılımların bir kısmı veya tamamı için açık kaynak lisanslarının kullanımını destekleyen bir harekettir. Açık kaynak hareketi, açık kaynak yazılım kavramını/fikrini yaymaya başlamıştır. Açık kaynak hareketi felsefesini destekleyen programcılar, yazılım geliştirme için gönüllü olarak programlama kodu yazarak ve değiş tokuş ederek açık kaynak topluluğuna katkıda bulunurlar. "Açık kaynak" terimi, hiç kimsenin düzenlenmiş kodu paylaşmayan bir gruba karşı ayrımcılık yapmamasını veya başkalarının önceden düzenlenmiş çalışmalarını düzenlemesini engellememesini gerektirir. Yazılım geliştirmeye yönelik bu yaklaşım, herkesin açık kaynak kodunu almasına ve değiştirmesine olanak tanır. Bu değişiklikler, yazılımla çalışan kişilerden oluşan açık kaynak topluluğu içindeki geliştiricilere geri dağıtılır. Bu sayede kod değişikliğine katılan tüm bireylerin kimlikleri ortaya çıkarılmakta ve kodun zaman içinde dönüşümü belgelenmektedir. Bu yöntem, belirli bir kod parçasının sahipliğini oluşturmayı zorlaştırır, ancak açık kaynak hareketi felsefesiyle uyumludur. Bu hedefler, yüksek kaliteli programların üretimini ve açık kaynak teknolojisini geliştirmek için benzer düşünceye sahip diğer insanlarla işbirliği içinde çalışmayı teşvik eder.

<span class="mw-page-title-main">Librem 5</span>

Librem 5, Librem ürün serisinin bir parçası olan Purism tarafından üretilen bir akıllı telefondur. Telefon, mümkün olduğunca ücretsiz yazılım kullanmak amacıyla tasarlanmıştır, varsayılan olarak bir Linux işletim sistemi olan PureOS kullanır ve 2021 itibarıyla, Özgür Yazılım Vakfı tarafından önerilen tek akıllı telefondur. Diğer Librem ürünleri gibi, Librem 5 de gizlilik ve özgürlüğe odaklanır ve donanım kapatma anahtarları ve kolayca değiştirilebilen bileşenler gibi özellikler içerir. Sayısal "5" olan adı, yayın sürümünü değil ekran boyutunu belirtir. 24 Ağustos 2017'de yapılan duyurudan sonra, geliştirici kitlerinin ve sınırlı sürüm öncesi modellerin dağıtımı 2019 boyunca ve 2020'nin çoğunda gerçekleşti. Librem 5'in ilk seri üretim versiyonu 18 Kasım 2020'de sevk edildi.

<span class="mw-page-title-main">Diagrams.net</span>

diagrams.net, HTML5 ve JavaScript ile geliştirilmiş özgür ve açık kaynaklı bir çapraz platform grafik çizim yazılımıdır. Arayüzü, akış şemaları, tel kafesler, UML şemaları, organizasyon şemaları ve ağ şemaları gibi şemalar oluşturmak için kullanılabilir.

Bilgisayar mimarisinde 32-bit bilgi işlem, 32-bit birimlerde veriyi işleyen işlemci, bellek ve diğer önemli sistem bileşenlerini içeren bilgisayar sistemlerine verilen addır. Daha küçük bit boyutlarıyla karşılaştırıldıklarında, 32-bit bilgisayarlar daha büyük hesaplamaları daha verimli yapabilir ve bir işlemci saat döngüsünde daha fazla veriyi işleyebilir. Tipik 32-bit kişisel bilgisayarlar ayrıca 32-bit adres veriyoluna sahiptir ve önceki nesil sistem mimarilerinin izin verdiği miktardan çok daha fazla olan 4 GB'a kadar RAM'e erişime izin verir.

<span class="mw-page-title-main">Phantom OS</span>

Phantom OS, çoğunlukla Rus programcılar tarafından yapılan bir işletim sistemidir. Kalıcı sanal bellek kavramına dayalıdır ve bir sanal makine, yönetilen kod ve bayt kodları kullanır. Unix benzeri sistemlerin klasik kavramlarına dayanmayan birkaç işletim sisteminden biridir. Öncelikli hedefi hem işletim sisteminde hem de uygulama yazılımında aynı anda basitlik ve etkinlik sağlamaktır. GNU Kısıtlı Genel Kamu Lisansı (LGPL) altında yayınlanan ücretsiz ve açık kaynaklı bir yazılımdır (FOSS).

<span class="mw-page-title-main">Qiskit</span>

Qiskit, kuantum bilgisayarlar ile devre ve algoritma seviyesinde çalışması için geliştirilmiş özgür ve açık kaynak bir yazılım geliştirme kitidir. Kuantum programların oluşturulmasına ve düzenlenmesine olanak tanıyan araçlar sunmasının yanında bu programları IBM Quantum Platformu'nda veya yerel bilgisayarda bulunan prototip kuantum bilgisayarlarda çalıştırabilmektedir. Evrensel kuantum makinesi için tasarlanan devre modelini baz alır ve bu modeli kullanan neredeyse tüm kuantum donanım mimarileriyle uyumludur.