Tersine Mühendislik – Süreç Çalışması ve Araçları
Bilgisayar donanımı ve yazılımında tersine mühendislik önemli bir rol oynar. Bir program, diğer programcıların anladığı C++ veya Java gibi bir dilde yazılır. Bir bilgisayarda yürütülmeden önce, derleyici olarak bilinen başka bir program tarafından makine dilinin birler ve sıfırlarına çevrilmeleri gerekir. Çoğu programcı derlenmiş kodu anlayamaz, ancak bir derleyici yazılım aracı, makine kodunu daha insan dostu bir biçime dönüştürebilir.
Tersine mühendislikte veriler çeşitli amaçlar için kullanılır: öğrenmek, yeni, daha ucuz ürünler yapmak, yazılım birlikte çalışabilirliğini geliştirmek veya farklı işletim sistemleri veya veritabanları arasında veri köprüsü kurmak; ticari ürünlerin yeni özelliklerini ortaya çıkarmak.
Tersine mühendislik ayrıca güvenlik kusurlarını ve sorgulanabilir gizlilik uygulamalarını ortaya çıkarabilir. Tersine Mühendislik yardımıyla, Yazılımın adını değiştirebiliriz, Yazılımı düzenleyebiliriz, Deneme Yazılımını Lisanslı yazılıma çevirebiliriz ve daha birçok şey gibi, yazılımı kendi tarzımıza göre değiştirebiliriz.
Tersine Mühendislik Süreç Çalışması
Yazılımda tersine mühendislik, gereksinimleri, spesifikasyonları ve ürün fonksiyonlarını kod analizinden çözme sürecidir. Bilgi, programın bir veri tabanından oluşturulur. Bir yazılımda Tersine mühendislik yapılarak tasarımı veya geliştirilmesi yasal tavsiye ile yapılmalıdır.
Aradığımız bilgi zaten Linux çekirdeği gibi kamuya açıksa, tersine mühendislik süreci gereksiz hale gelir. Tersine mühendisliğin amacı:
Karmaşıklıkta İşbirliği.
Bilgi kurtarma.
Yan etkileri tespit ediyorlar.
Yüksek Soyutlama Sentezi.
Yeniden Kullanım Tesisi.
Tersine Mühendislik Aracı
ImHex – Tersine Mühendisler İçin Hex Düzenleyici
ImHex – Tersine Mühendisler ve Programcılar için Bir Hex Düzenleyici Özellikler Özellikli onaltılık görünüm Bayt yamalama Yama yönetimi. ImHex Hex editörü tarafından geliştirilen ve kullanılan özel C benzeri Kalıp Dili’nin okunması, anlaşılması ve öğrenilmesi kolaydır.
GHIDRA- NSA’dan Özgür Yazılım Tersine Mühendislik Çerçevesi
Bu çerçeve, kullanıcıların Windows, Mac OS ve Linux dahil olmak üzere çeşitli platformlarda derlenmiş kodu analiz etmelerini sağlayan bir dizi tam özellikli, üst düzey yazılım analiz takımları içerir.
Yetenekler, yüzlerce diğer özelliğin yanı sıra sökme, birleştirme, kaynak koda dönüştürme, grafik oluşturma ve komut dosyası oluşturmayı içerir. Çok çeşitli işlem talimatı setlerini ve yürütülebilir formatları destekler ve hem kullanıcı etkileşimli hem de otomatik modlarda çalıştırılabilir. Kullanıcılar ayrıca Java veya Python kullanarak kendi Ghidra eklenti bileşenlerini ve/veya betiklerini geliştirebilirler.
GDA (GJoy Dex Analyzer) – Android Tersine Mühendislik Paketi
GDA tamamen bağımsızdır ve Java VM ve kurulumu olmadan çalışır, bu nedenle herhangi bir yeni kurulan Windows sisteminde ve sanal makine sisteminde ek yapılandırma olmadan iyi çalışır.
Android Kötü Amaçlı Yazılım Statik Analizi
Dosya yükleme ve kaynak koda dönüştürme
Değişken İzleme
XML kod çözücü
Tamamen kendi kendine uygulanan kod çözme işlevi, Anti-kod çözme teknolojisini atlayabilir, XML’i başarıyla ayrıştırabilir.
efiXplorer
efiXplorer, UEFI aygıt yazılımı analizi ve tersine mühendislik otomasyonu için IDA eklentisidir.
Hex-Rays ürünlerinin desteklenen sürümleri: Yeni SDK sürümlerindeki en yeni özellikleri kullanmaya çalıştığımız için her zaman IDA ve Decompiler’ın son sürümlerine odaklanıyoruz. Bu, yalnızca Hex-Rays ürünlerinin en son sürümlerinde test ettiğimiz ve önceki nesiller üzerinde kararlı çalışmayı garanti etmediğimiz anlamına gelir.
Jadx – Dex’ten Java Kod Çözücüsüne, Android Tersine Mühendislik Paketi
Java kaynak kodunu Android Dex ve Apk dosyalarından dönüştürmek için bir Komut satırı ve GUI uygundur.
Ana Özellikler:
Dalvik bayt kodunu APK, dex, aar ve zip dosyalarından java sınıflarına kaynak koda dönüştürün
AndroidManifest.xml ve diğer kaynakların özkaynaklardan kodunu çözün.arsc
kod çözücü dahil
Rizin – UNIX Benzeri Tersine Mühendislik Çerçevesi
Rizin ücretsiz ve açık kaynaklı Tersine Mühendislik çerçevesidir ve Ayırıcı, Onaltılık düzenleyici, Öykünme, İkili inceleme, Hata Ayıklayıcı ve daha fazlası gibi özelliklerle eksiksiz bir ikili analiz deneyimi sağlar.
Rizin, kullanılabilirlik, çalışma özellikleri ve kod temizliğine odaklanan radare2 tersine mühendislik çerçevesinin bir çatalıdır.
CrowdRE – Kitle Kaynaklı Tersine Mühendislik:
CrowdRE projesi bu boşluğu doldurmayı hedefliyor. Geçmişte başarısız olduğu kanıtlanmış olan değişikliklerin tüm istemcilere canlı dağıtımını kullanmak yerine, kaynak kod havuzlarını düzenlemek için başarıyla kullanılan mimariden yararlanır: değişiklik geçmişini taahhüt mesajları olarak yöneten bir sistem .CrowdRE istemcisi artık bir IDA Pro eklentisi olarak ücretsiz olarak sunuluyor.
CrowdStrike, topluluğun taahhütlerini birbirleriyle paylaşması için merkezi bir bulut sağlar. Bu temel kavram, paylaşılan bir ikili dosya için işlev bazında işbirlikçi bir iş akışı için yeterlidir. Heyecan verici bir özellik, bir fonksiyonun temel blok sınırlarını dikkate alan bir benzerlik karma şemasıdır. Her işlev, sabit boyuttaki hash’i koruyan bir benzerlik üzerinde eşlenir.
OLLYDBG ARACI: Sürüm 2.01 alfa 2:
HEX ATÖLYE ARACI:
Hex Workshop Hex Editor, gelişmiş ikili düzenlemeyi bir kelime işlemcinin kolaylığı ve esnekliğiyle birleştiren, Microsoft Windows için bir dizi onaltılık geliştirme aracıdır. Hex Workshop ile hex’i düzenleyebilir, kesebilir, kopyalayabilir, yapıştırabilir, ekleyebilir ve silebilir, özelleştirilebilir hex dökümlerini yazdırabilir ve yayınlamak için RTF veya HTML’ye dışa aktarabilirsiniz. Ek olarak, bir sektör veya dosya içinde gidebilir, bulabilir, değiştirebilir, karşılaştırabilir, sağlama toplamlarını hesaplayabilir, akıllı yer imleri ekleyebilir, renkli haritalar ekleyebilir ve karakter dağılımları oluşturabilirsiniz. Hex Workshop, sürükle ve bırak özelliğini destekler ve Windows işletim sistemiyle entegredir, böylece en sık kullandığınız çalışma alanlarınızdan hızlı ve kolay bir şekilde onaltılı düzenleme yapabilirsiniz. Data Inspector, ondalık ve ikili değerleri yorumlamak, görüntülemek ve düzenlemek için mükemmeldir. Aritmetik, mantıksal, ascii durum,
Entegre Yapı Görüntüleyici, verileri en sezgisel ve uygun şekilde görüntülemenizi ve düzenlemenizi sağlar. Yapı görüntüleyici, birçok atomik veri türünün yanı sıra iç içe geçmiş yapıları, diğer yapılara referansları destekler: char, byte, ubyte, word, uword, long, ulong, longlong, float, double, OLE Tarih/Saat, DOSTIME, DOSDATE, FILETIME ve time_t.
Kaynak: