Otevření "cizího" datového souboru   zodpovězená otázka

Offtopic

Před mnoha a mnoha lety nám kdosi (dnes již neznámý) vytvořil aplikaci, která ukládá data na disk binárně. Potřebuji docela nutně z mnoha a mnoha (řádově tisíce) datových souborů vytáhnout nějaká data, nicméně k tomu potřebuji tento binární formát "prolomit". Již po mnoho dní se s aplikací a HEX editorem snažím pochopit vnitřní strukturu formátu, ale nějak se mi to nedaří vzít za ten správný konec. Chci se tedy zeptat. Neexistuje nějaký postup nebo osvědčená cesta, které se držet při hledání ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Asi nejlepší metodou je mít 2 binární soubory, které budou prakticky stejné, až na nějaké hodnoty. Podle toho poznáte, co se změnilo.

Dále sledujte hlavičku, rozdíly podle počtu záznamů, společné rysy souborů.

Osvědčilo se i hledání hodnot, které víte, že jsou v souboru uloženy. Nebo pokud máte uloženou v souboru kolekci s 37 prvky, hledat číslo 37 (převedené do hexa) a tak zjistit, kde je hlavička kolekce (pokud vůbec je). Většinou je lepší porozumnět souboru "od prostřed", protože například hlavička může obsahovat hodnoty, které bez chápání zbytku nedokážete rozpoznat.

Jednou mi dokonce pomohlo, že jsem zjistil v jakém jazyce bylo ukládání prevedeno a pak jsem si podle dokumentace našel formáty některých datových typů. To ale nemusí fungovat vždy.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Není k tomu formátu nějaká dokumentace?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ne, bohužel ne. Je to opravdu historie psaná ještě pro Win 3.11.

Problém je v tom, že ta datová struktura je opravdu složitá. Autor se tam pokoušel řešit to, co se dnes dělá "levou zadní" přes XML,patrně tvořil nějaké struktury, která obaloval různými hlavičkami a pak binárně uložil.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Po zjištění, že existuje několik různých verzí formátu, jsem to vzdal. Data "vykradu" z aplikace přes posílání kláves a clipboard. Sice to půjde pomalu, ale rozhodně to bude dříve, než-li bych to rozlouskl.

Díky za nápady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback