abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:44 | IT novinky

    Mozilla představuje Firefox Enterprise určený jako podnikový prohlížeč pro organizace s přísnými požadavky na bezpečnost, správu a dodržování předpisů. S profesionální podporou. Dostupný je zatím ve Francii, Německu, Rakousku a Švýcarsku.

    Ladislav Hagara | Komentářů: 4
    dnes 14:33 | Bezpečnostní upozornění

    Kybernetický útok zasáhl nejméně 150 supermarketů Intermarché a několik prodejen řetězců Leclerc a Coopérative U. Chladicí jednotky napadených obchodních domů byly nastaveny na nepřetržité odmrazování a teplota v nich mnohdy vystouala až nad 50°C. Škody napáchané na chlazeném a mraženém zboží budou patrně dosahovat miliónů eur.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 2
    dnes 04:00 | Komunita

    Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).

    ❗Červivý Hřib krade❗ | Komentářů: 18
    dnes 03:33 | Nová verze

    V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.

    Ladislav Hagara | Komentářů: 0
    včera 21:11 | Komunita

    Ubuntu 27.04 bude Tenacious T-Rex.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Nová verze

    Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Humor

    Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 7
    včera 12:44 | Upozornění

    Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.

    Ladislav Hagara | Komentářů: 16
    včera 11:11 | IT novinky

    Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si

    … více »
    Ladislav Hagara | Komentářů: 11
    včera 00:55 | Pozvánky

    Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do

    … více »
    bkralik | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2840 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Dotaz: Reverse engineering datových formátů

    16.2.2005 20:28 unchallenger | skóre: 69 | blog: unchallenger
    Reverse engineering datových formátů
    Přečteno: 704×
    Hledám nějaký nástroj na $SUBJ. Pro začátek bych chtěl alespoň (pohodlně) vypisovat bloky ze souborů interpretované jako všechny možné typy (od usinged char po big endian IEEE double), vypsat z N souborů hodnoty na daném offsetu interpretované jako daný typ, hledat offsety, na nichž leží daná hodnota, když se správně interpretuje, etc. Navymýšlel bych si i pokročilejší funkce, ale zatím to vypadá, jako bych si musel něco napsat i na ty základní. Tudíž otázka je: Co na to použít?

    Odpovědi

    Vašek Lorenc avatar 16.2.2005 22:02 Vašek Lorenc | skóre: 27
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Bohužel neznám konkrétní produkt, ale vzhledem k tomu, že máš na práci nejspíš dost jiných věcí, nebylo by lepší tím pověřit nějakého šikovného diplomanta (třeba z informatiky)? Užitečná diplomka je poměrně vzácný jev.. ;)
    ...včetně majestátného loosa
    16.2.2005 22:57 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    To je obávám se tak na zápočet...

    Yeti: kdyby ses do toho pustil sám, tak dej vědět (třeba v blogu, mi tě nezastřelíme). BTW: khexedit asi není to, co chceš slyšet?
    Vašek Lorenc avatar 16.2.2005 23:21 Vašek Lorenc | skóre: 27
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů

    Netřeba se obávat :) Spíš šlo o to nechat práci někomu, kdo by ji rád dodělal a navíc by z toho měl užitek -- ať už jako bakalářku nebo zápočet.

    Možná by bylo ale zajímavé někde hodit nějaký Wiki web a dávat tam různé poznámky a možná řešení k implementaci.. Nebo do blogu, ale ten by k tomu nemusel být tak vhodný. Nějaké hledání vzrůstajících/klesajících sekvencí by se třeba taky hodilo, zvlášť s různými odstupy (ať už hodnot nebo pozic v souboru) -- indexy nebo něco takového by se tím při velké dávce štěstí daly odhalit.. Ale takových nápadů má určitě kdekdo celé kapsy :)

    ...včetně majestátného loosa
    16.2.2005 23:22 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Na zápočet? To by byl pěkně levný zápočet ;-)

    Ad khexedit. To je přesně to, co chci, až na to, že to potřebuji skriptovat, a ne klikat (tedy někdy i interaktivně, a na to vypadá docela použitelně, až na to, že v hlavním okně umožňuje jen jednobajtové formáty, což je pro mě pruda, protože reálná čísla zatím z hexdumpu číst neumím). Mám třeba dvacet souborů a hypotézu, že na offsetu 0x0022 je jako little endian IEEE single nějaká zajímavá hodnota. Tak chci vypsat ze všech zároveň, co by to bylo zač, ve formátu soubor: hodnota. Strávil jsem v khexeditu jen několik minut, ale nevidím způsob, jak to udělat bez oteveření dvaceti oken nebo otevření dvaceti souborů postupně a čtyřiceti Ctrl-C, přepnutí okna, Ctrl-V, přepnutí okna.
    elviin avatar 16.2.2005 22:20 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Jestli jsem to spravne pochopil (jeste nevim, co je to $SUBJ), tak tomu by mohl poslouzit Bison.
    16.2.2005 22:37 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    No, to moc ne. Možná jsem to nenapsal jasně, ale jde mi o binární data, v textových se obvykle jde vyznat, a o interaktivní šťourání, což yacc + lex stejně neumožňují.

    P.S.: $SUBJ je proměnná obsahující na předmět zprávy (subject).
    16.2.2005 22:45 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Jediné co mě napadá je nějaký chytřejší hex editor, minimálně něco z toho by to mohlo zvládnout.
    16.2.2005 23:24 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    No už to tak vypadá, že si budeš muset něco napsat (nebo si nechat něco napsat). Perlivé pack a unpack jsou silné zbraně, tak něco s Term::ReadLine by jsi měl mít za chvilku. Defakto by ti z toho rovnou mohl vypadávat zárodek příslušného filtru. Pokud jsi na perl zanevřel, tak je tu ještě python a jiné (forth ;-) smalltalk, lisp).
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    16.2.2005 23:34 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Když to začnu psát já, tak to skončí jedním ze dvou konců:

    - jako chaotická změť specializovaných skriptíků, které budu před každým použitím upravovat a ještě předtím studovat, co vlastně delají

    - jako interpret speciálního jazyka pro popis datových formátů[*], který nikdy nedokončím

    A tomu se chci vyhnout, kromě toho bych ideálně nechtěl psát nic.

    [*] perlí unpack znám, ale potřeboval bych nejdřív něco, co dokáže dekódovat ty formátovací vzory ;-)
    16.2.2005 23:39 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    A tomu se chci vyhnout, kromě toho bych ideálně nechtěl psát nic.
    Tuším, že se rodí velký softwarový produkt ;-)
    Copak toho není dost?
    16.2.2005 23:55 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    - jako interpret speciálního jazyka pro popis datových formátů[*], který nikdy nedokončím
    Hmm, to mi silně připomíná "interpret" jazyka, který jsem vytvořil při reverse engeneeringu protokolu telefonu. Ale je to natolik nedokončené, že je asi lepší začít od začátku :-).
    18.2.2005 19:36 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Právě jsem dopsal tohle, snad to dělá aspoň něco, co potřebuješ

    ukázka:
    $ ./revdump  '"na %d. pozici je " (u8) 0 (u16_le) 114 (u16_be) $0' /etc/passwd /etc/group
    /etc/passwd: na 114. pozici je 613a     3a61
    /etc/group: na 114. pozici je 3a78      783a
    
    první parametr určuje, co se má odkud vypsat (dá se to načíst i ze souboru), zbytek jsou soubory, ze kterých se bude vypisovat. Ten zápis vypadá takhle:
    "format string" (type) offset
    
    nebo
    "format string" (type) $reference
    
    kde format string je nepovinný parametr pro printf (zatím skutečně printf, takže není problém to shodit ;-)), type je typ (umí to i floaty, ale moc jsem je nezkoušel), offset je jasný, reference znamená, že jako offset se veme výsledek n-tého výrazu (zde $0 dá 114, takže se vlastně použije stejná offset, jenom se interpretuje jako be).

    Ješte chci přidělat opakování stejné posloupnosti výrazů na bloky vstupu, aby v tom šel emulovat xxd/od a nějaké základní operace pro výpočet offsetu (typu sečti výsledek $x a $y, vynásob n a použij to jako offset).

    A taky vlastní printf, aby to nepadalo a aby to umělo \n apod a lár bugů

    Takže otázka: hodí se ti něco takového?
    18.2.2005 19:39 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Jo, a má to skoro 3 000 řádků ;-)
    18.2.2005 22:23 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Jo, určitě, ale kde to najdu?

    Já jsem tedy zrovna svůj poslední formát už rozebral pomocí xxd, head, tail a jednoúčelových primitivních nástrojů (resp. fázi fyzické struktury už mám za sebou), naštěstí byl dost jednoduchý, takže jsem psaní něčeho zase uložil k ledu, ale hodit se to určitě bude nejpozději příště ;-)
    18.2.2005 23:29 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Já tam ještě opravoval pár chyb, je to tady. Ale zatím je to spíš takový prototyp, viz grep FIXME *
    19.2.2005 19:54 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Nemůžu to nějak přimět k vypisování floating point dat. Pokud tomu dobře rozumím, tak

    '"%g" (float_le) 0x0002'

    by mělo vypsat little endian (Intel) IEEE single na posici 2, ale vypisuje to úplně jiná čísla, než vím, že v těch souborech jsou.

    No, nebudu si stěžovat, až to budu zase potřebovat, raději se zapojím do vývoje...
    19.2.2005 20:25 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Nj, floating point čísla jsou trochu rozbitý... Zítra bych měl mít čas, tak to dám do pořádku.
    19.2.2005 20:34 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Žádný spěch; já doufám, že to nebudu potřebovat hodně dlouho. I když to tak asi úplně nedopadne ;-)
    20.2.2005 15:18 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Oops, blbá chyba, zapomněl jsem, že float se funkcím s proměnným počtem parametrů (printf) předává jako double.

    patch, nová verze.
    22.2.2005 16:23 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Patch, aby se negativní offsety počítaly od konce souboru.

    Patch pro výrobu rpm balíčku.

    P.S.: Pokud tohle je verze 0.0.2.1, tak čekám, že verze 1.0 bude mimo jiné obsahovat reimplementaci TeXu v zsh ;-)
    31.3.2005 16:10 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Mám po zkouškách, tak jsem dostal novou verzi do použitelného stavu: revdump-0.1.tar.gz. Nějaké příklady jsou v src/test/*.rd.

    P.S.: Pokud tohle je verze 0.0.2.1, tak čekám, že verze 1.0 bude mimo jiné obsahovat reimplementaci TeXu v zsh ;-)
    Zatím to není ekvivalentní ani HQ9+, ale do 1.0 času dost ;-)
    31.3.2005 16:19 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Já jsem od té doby zase reverse-engineeroval a revdump využil, ale co jsem hodně potřeboval (a napsal si na to pidinástroj používaný v kombinaci s head a tail...), bylo interpretovat část souboru od každého bajtu jako daný typ (v mém případě nejčastěji single, double) a vypsat posice, které dají hodnoty z nějakého zadného/rozumného rozsahu

    offset hodnota

    pak se výsledek z několika souborů projede joinem, a hned je jasno.

    Tak to byl takový námět ;-)
    31.3.2005 16:43 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    ./revdump --repeat --with-offsets --step=1 --cols=1 \
    '(float_le) 0 if $_ > 10' soubory | grep -v NO
    
    ale && zatím nefunguje. A je nevyšší čas napsat aspoň help, když jsem se sám musel koukat do zdrojáku, jak se ty optiony jmenují :-/

    PS: Je to v main.c, až to budeš taky hledat ;-)
    31.3.2005 16:59 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    Vlastně && a || se dají nahradit pomocí uniq, ale měl by to umět rovnou revdump (stejně jako nevypisovat řádky se samým NO).
    31.3.2005 17:45 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Reverse engineering datových formátů
    No vida, jaké to má netušené možnosti. Ještěže existuje jako help alespoň tento thread, jinak bych to do příště zapomněl... ;-)

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.