Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Podle čeho je počítána CRC-32 ?

Má data a k nim CRC32.
Je to na programování int. obvodů.
Potřebuji změnit data, ale nevím podle čeho sestavit kontrolní součet.
Předpokládám, že se to počítá s dat, ale nepřišel jsem jak na to...

CRC32 = 33 2B 7D 16
Data = 40 CF DB 01

Př2:
CRC32 = 82 64 81 91
Data = 40 B4 1E 02

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Já spíše hledám způsob jak dělaný ten check CRC32 aby to odpovídalo. nový
FixExa 14.09.2022 16:03
FixExa
Umí hp vypočítat třeba Total Commander, jestli používáš. Ale určitě se dají sehnat i specializované… nový
Wikan 14.09.2022 16:32
Wikan
Kdysi jsem na to někde stáhnul dva open source programy (spíš examply), jeden v něčem, co jsem přelo… nový
ml1 16.09.2022 16:06
ml1
Muze byt z dat, muze byt ze souboru. Vyzkousej si vypocet na existujicich datech, podle toho budes m… nový
Jan Fiala 14.09.2022 16:50
Jan Fiala
Data jsou jasně hexadecimální, ale podle to nevychází, nicméně je jasné, že jsou různé CRCy, a možná… nový
Kyncl 14.09.2022 19:24
Kyncl
Nejspíš nejde o kompletní data, ale jenom o začátek. Pak to klidně odpovídat může. nový
Wikan 14.09.2022 20:31
Wikan
Taky jsem si myslel, ale bude to hash z dat. Originál je: ## ;BIT 1 ;RCG Enable ExtPatch = 00 00 00… nový
FixExa 15.09.2022 10:43
FixExa
Tak to se nejspíš budeš muset podívat do odpovídající dokumentace, kde by to mělo být popsané. nový
Wikan 15.09.2022 10:59
Wikan
Co když je to CRC původních dat aby byla kontrola, zda jde patch použít? nový
Jan Fiala 15.09.2022 13:33
Jan Fiala
Taky mě to napadlo, ale není tomu tak :-( nový
FixExa 16.09.2022 12:33
FixExa
Ono to spíše vypadá, že se k CRC32 použil nestandardní "polynom" :-( nový
FixExa 15.09.2022 10:58
FixExa
Nebo si to jednoduše pojistil aby se mu v.tom nikdo nehrabal. A k tomu co vidíš připočítá hash něčeh… nový
MM_tank 16.09.2022 20:03
MM_tank
Nevím jestli je tohle ten případ, ale nutno dát bacha na Indiány. nový
Rce 15.09.2022 22:25
Rce
Zavírám: Myšlenka bude asi správná: Nebo si to jednoduše pojistil aby se mu v.tom nikdo nehrabal. poslední
FixExa 21.09.2022 12:04
FixExa

Kdysi jsem na to někde stáhnul dva open source programy (spíš examply), jeden v něčem, co jsem přeložil do pascalu/delphi a druhý v assembleru (údajně kvůli rychlosti, ale ta nebyla o moc větší co si pamatuju). Ale je to už tak dávno, že těžko budu vzpomínat. Ovšem dneska stačí zadata dotaz do vyhledávače a určitě se něco najde, já to tehdy taky nějak tak našel, i když po delší době, když jsem už ztratil naději, protože jsem se dozvěděl všechno možné (přesně ve smyslu motta "seznam - najdu tam, co neznám" ono to platilo tehdy pro všechny vyhledavače a dneska to neni zas o tolik lepší).
Pamatuju si, že jsem v tom programu měl nějaký bugg (počítal jen první 2 gigabajty), který tam ale tolalcommander (tehdy windowscommander) musel mít taky, protože jsem dostával stejná čísla.

Pokud se používá jiný tvořicí polynom, to by bylo divné, protože CRC32 by mělo odkazovat na konkrétní polynom, i když když o tom přemýšlím, je to 32 bitová cyklycká redudnantní kontrola, tak třeba ne. Vlastně jsem to tehdy s tím polynomem moc nepochopil, a od té doby jsem se o to nijak nesnažil, byl to kus programu, který funguje a nemuselo se na něj nikdy šahat.
Může ale být taky třeba jiný počátek, CRC32 se začíná počítat z 0xffffffff (řekněme -1 ve znaménkové interpretaci) a výsledek se pak invertuje, co když si někdo zvolí jiný počátek.

Ještě jeden námět - kontrolní součty na nejmíň tucet způsobů umí Doblecommander a ten je zadarmo a opensource (při troše snahy (je potřeba doinstalovat pár knihoven apod.) se dá přeložit a spustit v lazarusu, to mám vyzkoušené). Tam bych asi směřoval dneska, kdybych to hledal. Nevím nakolik dostupnost tohoto programu ovlivnila válka, přecejenom je to program ruského původu.

Zpět do poradny Odpovědět na původní otázku Nahoru