Güvenlik araştırmacıları, programlardaki güvenlik risklerini bulmak için kodu tersine çevirir.
Ayrıca, kötü amaçlı uygulamaları anlamak ve onları bozmak için bu tekniği kullanırlar.
Ancak bunu yapan sadece araştırmacılar değil: Kötü aktörler de tersine mühendislik yoluyla yazılım kusurlarını bulmak istiyor.
Bilgisayar korsanları, bilgileri bir uygulamaya saldırmak için kullanır ve kötü amaçlı sürümlerini oluşturmak için programları parçalara ayırır.
İkili bir yazılım parçasını incelemek ve onunla ilgili soruları yanıtlamak için kullanabilecekleri birçok uygulama vardır.
Tersine mühendislik saldırılarına karşı koymak için güvenlik ekiplerinin hangi araçların mevcut olduğunu ve nasıl çalıştıklarını bilmesi gerekir.
İşte dikkate alınması gereken en iyiler.
En iyi Reverse Engineering Tersine Mühendislik araçları
En yaygın olarak kullanılan programdır.
Yerleşik komut diline (IDC) sahiptir.
Avantajı görüntülenen verilerin herhangi bir öğesini etkileşimli olarak değiştirmenize izin vermesidir.
C++ ile yazılan IDA Pro, Microsoft Windows, macOS ve Linux üzerinde çalışan etkileşimli bir ayrıştırıcıdır.
NSA'nın tersine mühendislik çerçevesini açık kaynaklı hale getirmesiyle manşetlere çıktı.
Windows, macOS ve Linux'u destekler. Özellik seti, demontaj, montaj, derleme, grafik oluşturma ve komut dosyası oluşturmayı içerir.
Ayrıca, etkileşimli veya otomatik modlarda çalışabilen bir dizi işlem talimatı setini ve yürütülebilir formatı destekler. Ayrıca program, Python veya Java kullanılarak eklentiler veya komut dosyaları yazılarak özelleştirilebilir.
Piyasadaki araçlara göre en iyi arayüze sahiptir.
64-bit Linux Ubuntu, macOS 10.13 ve 64-bit Windows 10'un yanı sıra PE.COFF, ELF, Mach-O, .NES ve raw binary dosyaları destekler.
Şu anda bir kod çözücüye sahip değil, ancak programın gelecek "gelişmiş" versiyonuna bir tane eklemeyi planlanıyor.
Kullanımı çok kolay olması ile bilinir.
Kullanımı kolay olmasına rağmen, yazılımın tersine mühendislik camiasında kabul görme konusunda bazı sorunları olmuştur.
Hopper, macOS ve Linux için bir disassembler.
32- ve 64-bit yürütülebilir dosyaları parçalarına ayırabilir, kaynak koda dönüştürebilir ve hata ayıklayabilir.
Mac sürümü Cocoa çerçevesini kullanırken, Linux sürümü Qt 5'i kullanır.
Hopper, özelliklerinizi genişletebilmeniz ve hatta kendi dosyanızı ve CPU desteğinizi yazabilmeniz için bir SDK içerir.
Ek olarak, yazılımın özelliklerinin çoğu Python komut dosyalarından çağrılabilir ve size ikili dosyaları dönüştürme esnekliği sağlar.
Prosedürlerin anlaşılmasını kolaylaştırmak için, tetiklendiğinde program, aynı zamanda bir PDF dosyası olarak dışa aktarılabilen kontrol akış grafiğinin grafiksel bir temsilini görüntüler.
Radare2, NSA Ghidra'yı piyasaya sürmeye karar vermeden önce tersine mühendislik için en iyi açık kaynaklı araçtı.
Komut satırı tabanlı bir programdır, bu nedenle öğrenmesi zor olabilir, ancak yıllar içinde bunun için bir web arayüzü ve Cutter adlı bir grafik arayüz geliştirildi.
Yazılım bir disassembler içerir ve yerel ve uzak hata ayıklayıcıları destekler. Linux, BSD, Windows, OSX, Android, iOS, Solaris ve Haiku üzerinde çalışabilir ve Python, JavaScript, Go ve diğerlerinde komut dosyası yazılabilir. Ayrıca, WinRAR ve raw binary dahil olmak üzere 15'ten fazla dosya biçimini ve Intel x86 ve ARM dahil olmak üzere 33 komut setini destekler.
ApkTool, tersine mühendislik üçüncü taraf, kapalı, ikili Android uygulamalarına odaklanır. Açık kaynak programı, kaynakların kodunu neredeyse orijinal biçimlerine çözebilir, bunlarda değişiklik yapabilir ve ikili APK/JAR'a yeniden oluşturabilir.
Ayırıcı tarafından kullanılan proje benzeri dosya yapısı ve otomasyon kullanımı, uygulamayı piyasadaki diğer bazı tekliflerden daha kolay hale getirir. Programı kullanmak için Java 7 gereklidir.
Ayrıca, kötü amaçlı uygulamaları anlamak ve onları bozmak için bu tekniği kullanırlar.
Ancak bunu yapan sadece araştırmacılar değil: Kötü aktörler de tersine mühendislik yoluyla yazılım kusurlarını bulmak istiyor.
Bilgisayar korsanları, bilgileri bir uygulamaya saldırmak için kullanır ve kötü amaçlı sürümlerini oluşturmak için programları parçalara ayırır.
İkili bir yazılım parçasını incelemek ve onunla ilgili soruları yanıtlamak için kullanabilecekleri birçok uygulama vardır.
Tersine mühendislik saldırılarına karşı koymak için güvenlik ekiplerinin hangi araçların mevcut olduğunu ve nasıl çalıştıklarını bilmesi gerekir.
İşte dikkate alınması gereken en iyiler.
En iyi Reverse Engineering Tersine Mühendislik araçları
IDA Pro
En yaygın olarak kullanılan programdır.
Yerleşik komut diline (IDC) sahiptir.
Avantajı görüntülenen verilerin herhangi bir öğesini etkileşimli olarak değiştirmenize izin vermesidir.
C++ ile yazılan IDA Pro, Microsoft Windows, macOS ve Linux üzerinde çalışan etkileşimli bir ayrıştırıcıdır.
Ghidra
NSA'nın tersine mühendislik çerçevesini açık kaynaklı hale getirmesiyle manşetlere çıktı.
Windows, macOS ve Linux'u destekler. Özellik seti, demontaj, montaj, derleme, grafik oluşturma ve komut dosyası oluşturmayı içerir.
Ayrıca, etkileşimli veya otomatik modlarda çalışabilen bir dizi işlem talimatı setini ve yürütülebilir formatı destekler. Ayrıca program, Python veya Java kullanılarak eklentiler veya komut dosyaları yazılarak özelleştirilebilir.
Piyasadaki araçlara göre en iyi arayüze sahiptir.
Binary Ninja
64-bit Linux Ubuntu, macOS 10.13 ve 64-bit Windows 10'un yanı sıra PE.COFF, ELF, Mach-O, .NES ve raw binary dosyaları destekler.
Şu anda bir kod çözücüye sahip değil, ancak programın gelecek "gelişmiş" versiyonuna bir tane eklemeyi planlanıyor.
Kullanımı çok kolay olması ile bilinir.
Kullanımı kolay olmasına rağmen, yazılımın tersine mühendislik camiasında kabul görme konusunda bazı sorunları olmuştur.
Hopper
Hopper, macOS ve Linux için bir disassembler.
32- ve 64-bit yürütülebilir dosyaları parçalarına ayırabilir, kaynak koda dönüştürebilir ve hata ayıklayabilir.
Mac sürümü Cocoa çerçevesini kullanırken, Linux sürümü Qt 5'i kullanır.
Hopper, özelliklerinizi genişletebilmeniz ve hatta kendi dosyanızı ve CPU desteğinizi yazabilmeniz için bir SDK içerir.
Ek olarak, yazılımın özelliklerinin çoğu Python komut dosyalarından çağrılabilir ve size ikili dosyaları dönüştürme esnekliği sağlar.
Prosedürlerin anlaşılmasını kolaylaştırmak için, tetiklendiğinde program, aynı zamanda bir PDF dosyası olarak dışa aktarılabilen kontrol akış grafiğinin grafiksel bir temsilini görüntüler.
Radare2
Radare2, NSA Ghidra'yı piyasaya sürmeye karar vermeden önce tersine mühendislik için en iyi açık kaynaklı araçtı.
Komut satırı tabanlı bir programdır, bu nedenle öğrenmesi zor olabilir, ancak yıllar içinde bunun için bir web arayüzü ve Cutter adlı bir grafik arayüz geliştirildi.
Yazılım bir disassembler içerir ve yerel ve uzak hata ayıklayıcıları destekler. Linux, BSD, Windows, OSX, Android, iOS, Solaris ve Haiku üzerinde çalışabilir ve Python, JavaScript, Go ve diğerlerinde komut dosyası yazılabilir. Ayrıca, WinRAR ve raw binary dahil olmak üzere 15'ten fazla dosya biçimini ve Intel x86 ve ARM dahil olmak üzere 33 komut setini destekler.
ApkTool
ApkTool, tersine mühendislik üçüncü taraf, kapalı, ikili Android uygulamalarına odaklanır. Açık kaynak programı, kaynakların kodunu neredeyse orijinal biçimlerine çözebilir, bunlarda değişiklik yapabilir ve ikili APK/JAR'a yeniden oluşturabilir.
Ayırıcı tarafından kullanılan proje benzeri dosya yapısı ve otomasyon kullanımı, uygulamayı piyasadaki diğer bazı tekliflerden daha kolay hale getirir. Programı kullanmak için Java 7 gereklidir.