Soru:
Eski bir DOS QBasic yürütülebilir dosyasını tersine çevirin
ricardojoaoreis
2013-04-02 21:48:42 UTC
view on stackexchange narkive permalink

Kısa bir süre önce, QBasic'te kodlanmış eski bir DOS metin tabanlı oyunu tersine mühendislik yapmayı denemeye karar verdim.

Eski DOS oyunlarının demontajı hakkında çevrimiçi bazı bilgiler buldum, ancak çoğunlukla Wacom için derlenmiş C / C ++ ikili dosyalar, ancak QBasic'te hiçbir şey yok. Orijinal Temel kodu elde etmenin muhtemelen imkansız olduğunu biliyorum, ancak nasm ile dosyayı parçalarına ayırırken ben de herhangi bir yararlı bilgi alamadım ...

Herhangi bir işaret var mı?

üç yanıtlar:
#1
+8
Ange
2013-04-02 22:15:27 UTC
view on stackexchange narkive permalink
  • DOSBox hata ayıklama özellikli yapılarda hata ayıklama
  • IDA ile sökün
    • kendi boş qbasic EXE'nizi derlemeye çalışın ve karşılaştırın - bu derleyici kodunu oyununuzun gerçek kodundan söylemenize yardımcı olur. Bunu, boş EXE'nin FLIRT benzeri bir imzasını oluşturarak otomatik olarak yapabilir ve ardından kendi EXE'nize IDA'ya aktarabilirsiniz.
#2
+8
Igor Skochinsky
2013-04-02 22:51:04 UTC
view on stackexchange narkive permalink

Görünüşe göre DOS Basic çalıştırılabilirleri için bir derleyici çözücü zaten var.

Bu sayfadaki örneklere bakarsak, kodun büyük bir kısmı kurtarılabilir. . Sanırım bir tür P kodu kullanıyordu veya bazı ek meta veriler vardı.

Derleyicinin hata mesajlarının açıklamaları, Temel çalışma zamanı tarafından uygulanan çeşitli işlevler hakkında bazı ipuçları verebilir .

#3
+5
0xC0000022L
2013-04-03 00:39:13 UTC
view on stackexchange narkive permalink

Hata ayıklama etkin yapıları biraz hantal buldum. Ancak idados kullanarak DOSBox ve IDA kombinasyonunu oldukça güzel buldum. Bu, desteklenen diğer uzaktan hata ayıklayıcılardan birini çalıştıran bir hata ayıklayıcıyı nasıl kontrol edebileceğinize benzer şekilde, hata ayıklama özellikli bir DOSBox derlemesinin hata ayıklayıcısını IDA içinden kontrol etmenizi sağlayan bir IDA Pro eklentisidir.

Mevcut cevap göz önüne alındığında Igor'a göre bu, elbette neşter yerine mutfak bıçağı kullanmaya benziyor, ancak DOS programlarını tersine çevirmek için daha genel bir yöntem olduğu için bundan bahsetmem gerektiğini düşündüm.

NB: Eskiden daha eski, ama bence ilgisiz, aynı adı taşıyan ve orijinal yazarı tarafından korunmayan bir eklenti vardı. Hala diskimde (evde) bir kopyası var ama web sitesi artık yok gibi görünüyor.

Eh, bahsettiğim derleyici kamuya açık değil, bu yüzden eski güzel hata ayıklamada yanlış bir şey yok.


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...