REC Studio 4 – Ters Mühendislik Derleyici

The source-page: http://www.backerstreet.com/rec/rec.htm

REC Studio interaktif Decompiler olduğunu.

Bu bir Windows, Linux, Mac OS X veya ham çalıştırılabilir dosyasını okur ve çalıştırılabilir dosya oluşturmak için kullanılan kod ve veri bir C-benzeri temsilini üretmek için çalışır.
Birçok farklı hedefler için üretilmiş dosyaları okumak için dizayn edilmiştir ve birkaç konak sistemlerinde derlenmiştir.

REC Studio 4 orijinal KAYIT decompiler tam bir yeniden yazılmış halidir. Böyle kısmi Tek Statik Atama (SSA) gibi daha güçlü analiz tekniklerini kullanır, yükleme Mac OS X dosyaları tanır ve 32 ve 64 bit ikilileri destekler.
Hala rağmen geliştirme aşamasında, eski Rec Studio 2 den daha kullanışlı hale getiren bir aşamaya ulaşmıştır.

Rec Studio 2 sayfalarıdır burada.

Özellikler

Belirtildiği gibi, Rec Studio 4 hala geliştirilme aşamasındadır. Çoğu hedef bağımsız özellikler gibi tamamlanmıştır:

  • Multihost: Rec Studio üzerinde çalışan Windows XP/Vista/7, Ubuntu Linux, Mac OS X.
  • Kullanarak Sembolik bilgi desteği Cüce 2 ve kısmi tanıma Microsoft’un PDB formatında.
  • C ++ kısmen kabul edilmektedir: gcc tarafından oluşturulan karıştırılmış isimleri demangled edilir, yanı sıra dwarf2 tarif miras onurlandırıldı. Ancak, C ++ çok geniş ve zor bir dil, bu nedenle şablonları gibi bazı özellikler olasılıkla şimdiye kadar destek verilmeyecektir.
  • Türleri ve fonksiyon prototip tanımları metin dosyalarında belirtilebilir. Bazı standart Posix ve Windows API’leri zaten Rec Studio paketinde verilmektedir.
  • Etkileşim bölümleri, etiket ve fonksiyon giriş noktaları tanımı ile sınırlı desteklenmektedir. türleri ve fonksiyon parametrelerinin de-programa tanımını desteklemek için onu geliştirmek gerekecek.

Bu tablo bugüne kadar uygulanmıştır hedef özgü özellikler gösterir:

özellik x86 (ia32) x86_64 Mips PowerPC mc68k ARM
Disassembler Tamam Tamam Tamam Tamam Tamam Planlı
PE COFF yükleyici Tamam Tamam n/a n/a n/a n/a
ELF yükleyici Tamam Tamam Tamam Tamam Tamam Planlı
COFF yükleyici Tamam n/a n/a n/a Tamam n/a
Mac OS X yükleyici Tamam Tamam n/a Planlı n/a Planlı
Dwarf2 sembolik bilgi Tamam Tamam Tamam Tamam n/a Planlı
COFF sembolik bilgi Planlı n/a n/a n/a Planlı n/a
Çağrı kuralları Devam etmekte Devam etmekte Devam etmekte Planlı Planlı Planlı
32 and 64 bits Devam etmekte Devam etmekte n/a n/a n/a n/a
Kayan nokta Planlı Planlı n/a n/a n/a n/a
Windows Debugger Devam etmekte Planlı n/a n/a n/a n/a
Gdb Debugger Devam etmekte Devam etmekte n/a n/a n/a n/a

REC kaynaklarıdır değil kamu malı.

KAYIT Win32 yürütülebilir (aka PE) Visual C ++ veya Visual Basic 5 tarafından üretilen dosyaları okuyabilir rağmen, üretilen çıktıda sınırlamalar vardır. REC .EXE sembol tablosunda mevcut olan her türlü bilgiyi kullanmaya çalışacaktır. .EXE dosyası bir program veri tabanı dosyası (.PDB) veya CodeView (C7) biçiminde kullanılmıştır, veya derleyici optimizasyon seçeneği etkin ise, üretilen çıktı çok iyi olmayacaktır eğer hata ayıklama bilgisi olmadan derlenmiştir edin. Üstelik, Visual Basic 5 çalıştırılabilir dosyaları bir karışımı olan Alt program kodu ve form verileri. REC hangisi olduğunu belirlemek için neredeyse imkansızdır. Tek seçenek bir .cmd dosyası kullanmak ve elle kod ve veriler hangi alanda hangi alanda belirtmektir.

Uygulamada, sadece C çalıştırılabilir dosyaları anlamlı bir decompiled çıktı üretmek.

Diğer bazı decompilerlar çeşitli kaynaklardan temin edilebilir. Benim bak tersine mühendislik sayfası listesi için.

Daha ziyade şaşırtıcı bir şekilde, bir ayırıcısının iç mimarisi derleyici edilene benzer. Yüksek kaliteli literatür ikisi için mevcuttur. Tasarım Notları sayfa basit birim testlerinden göre biraz daha karmaşık programları koda çalışırken bir decompiler yazar, karşılaştığı sorunlar hakkında bilgi bulunmaktadır. Derlenmesi sayfa genel olarak decompilers ilgili bağlantılar ve belgelere sahiptir.

Mike van Emmerik en Doktora tezi önemli ölçüde ikili programların ayrıştırma temel sorunlara çözüm özetleyerek ayrıştırma alanını ilerledi.

Cristina Cifuentes ‘Ters Derleme Teknikleri Doktora tezi ayrıntılarda 8086 DOS programları için teori ve dcc decompiler uygulanmasını açıklar.

Wotsit sayfa COFF ve ELF gibi nesne dosyası formatlarının özelliklerine bağlantıları vardır.

Kod analizi ile ilgili kavramlar ele alınmıştır Referans Debugger sayfalarında.

Ben geliştirme sırasında kullanılan diğer temel kitaplar şunlardır:

  • “Derleyiciler – İlkeler, Teknikler ve Araçlar” Aho, Sethi, Ullman, 1986 Addison-Wesley Publishing Co. ISBN 0-201-10088-6.
  • “Gelişmiş Derleyici Tasarımı ve Uygulaması”, Steven Muchnick, 1997 Morgan Kaufmann Publishers, ISBN 1-55860-320-4.
  • “Debugger’lar nasıl çalışır – Algoritmalar, Veri Yapıları ve Mimari”, Jonathan Rosemberg, 1996, John Wiley and Sons, ISBN 0-471-14966-7.

REC kullanılan Disassemblers çeşitli kaynaklardan alınmıştır. Dosya CopyRite dağıtımında REC kullanılan disassemblers her biri için kredi listesi vardır. Kodun geri kalanı tarafından yazılmıştır kendim son 25 yılda. Ben boş zamanlarımda REC geliştirmeye devam edecektir, ama ben hataları düzeltmek veya yeni özellikler, işlemci veya ana ekleyebilirsiniz garanti edemez.

Feragat

Decompilation yasallığı üzerinde bir çok tartışma vardır. Decompiler araçları uzun süre çeşitli platformlarla beri mevcuttur. Bir programın sahibi programını tersine mühendislik yasal hakkı olduğunda decompilers, debugger’lar gibi diğer araçlarla, ikili editörler birlikte vb Disassemblers yalnızca kullanılmalıdır.

O telif hakkı yasasının adil kullanım madde altında decompilerlar kullanmak yasal olduğunu ABD ve diğer ülkelerde mahkemeler tarafından kurulmuştur.

Bir Decompiler kullanabilirsiniz yasal olduğunda öğrenmek için aşağıdaki durumlarda metnini okumalısınız:

Ayrıca okumak farklı bir ana bilgisayarda bir ikili programı çalıştırmak için bir emülatör kullanarak yasallığı konusundaki bir tartışma.

Backer Sokak Yazılım yasadışı amaçlar için tersine mühendislik araçlarının kullanımını desteklemez.