Soru:
Tescilli bir veri dosyası formatına (ör. Smartboard Notebook) ters mühendislik nasıl yapılır?
Thorn
2013-03-26 02:45:02 UTC
view on stackexchange narkive permalink

Bu dosya biçiminde tersine mühendislik yapmaya nasıl başlamalıyım? Aklıma gelen tek şey basit bir dosyayı kaydetmek ve ardından bir hex editörü ile araştırmak. Ancak dosya biçimi bir tür arşiv olabileceğinden, bu yanlış bir yaklaşım gibi görünüyor. Bir dosya formatını tersine mühendislik fikriyle her zaman biraz ilgilenmişimdir, ancak aslında hiç denemedim. Nasıl başlamalıyım?

Özellikle, verileri .notebook dosyalarına yükleyen ve kaydeden Akıllı Not Defteri ile ilgileniyorum. Bu, belgelenmemiş özel bir dosya formatıdır. SMART, beyaz tahtaların lider üreticisidir ve bu nedenle dizüstü bilgisayar yazılımları, eğitim (sunum) içeriği için en popüler formatlardan biridir. Beyaz tahta dosyaları için açık bir standart vardır ve Open Sankore onları açıp kaydedebilen açık kaynaklı bir programdır. Bununla birlikte, Smart Notebook açık beyaz tahta formatıyla tam olarak uyumlu değildir, bu nedenle .notebook dosya formatını gerçekten anlamak istiyorum, böylece onu kullanan bir yazılım yazabilirim. Açık stand (.iwb dosyaları), görüntüleri ve SVG verilerini içeren zip arşivleridir. Notebook dosyalarının da sıkıştırılmış olabileceği veya en azından içinde birkaç alt dosya (resimler ve swf dosyaları gibi) içerebileceği aklıma geliyor.

.Notebook dosyalarına bir dizin yapısının gömülü olabileceğine inanmak mantıklı mı?
İşte referans için smartboad dosyalarına sahip bir site. http://www.jmeacham.com/smart.board.htm
.Notebook dosyaları için herhangi bir yerleşik destek görmüyorum. Sadece pdf, iwb, resimler ve ubz olduğunu düşünüyorum. Bir eklenti biliyorsanız, belki de listelemelisiniz, aksi takdirde sankore .notebooka'yı hiç desteklemiyor gibi görünüyor.
@cb88 Sankore .notebook dosyalarını desteklemez; Bildiğim kadarıyla Smart Notebook dışında .notebook okuyabilen bir yazılım yok. Smart bu alandaki lider yazılım satıcısı olduğu için .notebook dosyalarının etkileşimli beyaz tahtaların MS Word .doc dosyaları olduğunu düşünüyorum. Bu yüzden formata tersine mühendislik uygulamak istiyorum.
@zv_ Bazı dizin yapılarının veya en azından bir not defteri dosyasının diğer dosyaları içermesinin bir yolunu beklemenin mantıklı olduğunu düşünüyorum. Bir not defteri dosyasına içerik eklendiğinde (resimler, ses, Adobe .swf) bunlar sayfaya ve dosyanın bir kısmına gömülür.
@Thorn Görüyorum ki, Sankore'a atıfta bulunarak ve ardından "onları açıp kurtarabilir" diyerek başlangıçta ne demek istediğinizi yanlış anladım. Notebook dosyalarına başvurduğunuzu sanıyordum.
Daha soyut hale getirirse, gerçekten yararlı ve "en iyi" soru olabilir. Dosya formatlarını ters çevirme hakkında. Ve cevap, python / etc komut dosyaları yazarak, örneğin gelişmiş hex editörler kullanarak bunu yapmak için 'yaygın' teknikler içerebilir. 010 editörü vb. Bulanık arama hakkında ve ikili modeller eşleşiyor. Çeşitli istatistiksel araçlar gibi, ör. Cantor Dust (https://sites.google.com/site/xxcantorxdustxx/) (hala prototiptir).
@Thorn: xbk dosyasıyla ilgili bilgileri aldınız mı? Aynısı için şartname belgesini aldınız mı yoksa manuel olarak çözdünüz mü?
Hiçbiri. Format, Smart teknolojileri tarafından resmi olarak belgelenmemiştir, ancak format gerçekten sadece bir zip dosyasıdır. Bazı örneklere bakmak, özü anlamak için yeterliydi ve XML okunabilir olduğundan, biçimi daha iyi anlamak için bazı basit dosyaları kaydedebiliyorum. Grafikler SVG olarak saklanır.
Iki yanıtlar:
#1
+20
Dougall
2013-03-26 03:56:20 UTC
view on stackexchange narkive permalink

abc chant.notebook bağlantısını cb88 sitesinden indirdim:

  $ dosya "abc chant.notebook" abc chant .notebook: Zip arşiv verisi, en azından v2.0 $ unzip -t "abc chant.notebook" çıkarmak için Arşiv: abc chant.notebook testi: images / temp (1) .png Tamam ... yaklaşık 200 benzer satır .. . test: attachments / Zachary.JPG TAMAM abc chant.notebook'un sıkıştırılmış verilerinde hata tespit edilmedi. $  

Çoğunlukla XML ve resim dosyalarını içeren geçerli bir zip dosyası. Bahsettiğiniz .notebook dosyaları bu dosyadan farklı mı? Öyleyse, bir örnek yükleyebilir misiniz?

Bunun, özür dilediğim özel bir dosya biçimini tersine çevirmenin arkasındaki sürece gerçekten girmediğini biliyorum. Umarım başka biri bu konuda daha ilginç bir yanıt verebilir.

Vay canına - bu düşündüğümden çok daha kolay! Not defteri dosyalarının önceki bir sürümünü kontrol etmiş olmalıyım: xbk. Zip dosyası değiller ama .notebook! Her nasılsa bunu daha önce kontrol ettiğimi ve geri dönmediğimi düşündüm.
#2
+18
0xC0000022L
2013-03-26 03:57:15 UTC
view on stackexchange narkive permalink

Açıkçası, ayrıntılar büyük ölçüde dosya biçiminin özelliklerine ve genel olarak ne elde etmeyi beklediğinize bağlı olacaktır. Bununla birlikte, bazı adımlar büyük ölçüde aynı olacaktır. Yapabileceğiniz şeylerden biri şudur:

  1. formatla ilgili her türlü ipucunu bulmak için çok uğraşın. Bu, bazı bülten tahtalarında küçük bir not olabilir veya o zamandan beri kaybolan bir yıllık web sitesinin önbelleğe alınmış kopyası olabilir. Yeterince spesifik bir şey ararken, cevherler genellikle en iyi arama sonuçları olarak görünmez. Arama sonuçları sayfalarını taramak mantıklı olabilir . Ayrıca, sihirli baytları arayan ve çıplak gözle görülemeyen şeyleri tanımlayabilen dosya gibi araçlar kullandığınızdan emin olun.
  2. biçimi kullanan tescilli bir program bulun ve okuyabilir / yazabilir (buna sahipmişsiniz gibi)
    1. Belgede farklı değişiklikler yapmak, bunları kaydetmek ve farklılıkları gözlemlemek ve not etmek gibi bir deneme & hata tekniği kullanın, AFAIK işte böyle MS Office dosya formatlarının kodu başlangıçta StarOffice (şimdi OOo ve LibreOffice) için çözüldü
    2. veri formatını okuyan ve yazan çekirdek rutinleri bulmak için programın kendisine ters mühendislik uyguladı
  3. aynı şekilde açık kaynaklı bir program bulun -> kaynağını okuyun

3. seçenekteki programın yazıldığı dili anlıyorsanız, hiç sorun değil. Buna sahip değilseniz veya başka zorluklarla karşı karşıya kalırsanız, 2. maddede ana hatları verilen eski güzel tekniğe başvurmalısınız, yöntem 1 ile topladığınız parçalarla boşlukları kapatmalısınız.

Nokta 2.1 açık olmalıdır: özyinelemeli metnin nasıl kodlandığını mı öğrenmek istiyorsunuz? Bir metin yazın, biçimlendirin, kaydedin, değişikliği gözlemleyin. Durulayın, köpürtün, tekrarlayın.

Nokta 2.2 çok daha fazla çaba gerektirir ve 2.1'den itibaren ayrıntıları doğru aldığınızdan emin olmak için muhtemelen seyrek olarak kullanılmalıdır.



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...