c - Læs omni.jar arkivfil med MiniZip bibliotek

Indlæg af Hanne Mølgaard Plasc

Problem



Firefox gemmer standardkonfigurationsoplysningerne i omni.jar (ældre version) eller omni.ja (senere versioner). Både omni.jar og omni.ja er bare zip-filformat. Så vi kan bruge mange programmer/biblioteker til at komprimere eller dekomprimere dem.


Jeg vil gerne have nogle standardoplysninger om Firefox. Så jeg skal læse nogle filer i disse omni-filer. Jeg har brugt 7zip program til at se indholdet af Omni eller MiniZip/Zlib bibliotek for at læse omni i mit program.


Med senere version, omni.ja, er det læst godt. Men med ældre versioner kan MiniZip ikke åbne filen omni.jar. Så bruger jeg 7zip til at åbne disse filer: omni.ja var ok, omni.jar mislykkedes. Men med et andet program, ex: WinRar, WinZip, ... begge omni-filer åbnes godt.


Jeg var google og få nogle oplysninger: Firefox har med eldre version oprettet omni.jar-filen (et zip-filformat) uden zip-standard. bla bla. Men hvorfor WinRar eller WinZip kan læse.


Enhver kan hjælpe mig med at få MiniZip læse omni.jar-fil uden nogen fejl?


Mange tak.

Bedste reference


Løsningen er ret simpel: Din 'gamle' omni.jar er brudt. Min omni.jar starter med PK.


Jeg foreslår at downloade Firefox fra det officielle arkiv igen. ftp://ftp.mozilla.org/pub/firefox/releases/


[[EDIT]] Det ser ud til, at forskellige builds af Firefox bruger forskellige værktøjer til at opbygge ZIP arkivet. Den en-amerikanske version bruger et ZIP-lignende format, som ikke starter med PK. I teorien er filformatet gyldigt (det indeholder data efterfulgt af listen over poster), næsten ingen værktøj understøtter virkelig dette format (så WinZIP og WinRAR er undtagelserne).


Denne hensigt afspejles af omdøbet omni.jar til omni.ja: Det er ikke krypteret, det er bare et ZIP-format, der ikke understøttes bredt, og de amerikanske Firefox-udviklere vil ikke ændre sig dette. [8]


De andre udviklere (for eksempel til de-versionen) bruger officielle værktøjer til at bygge omni-arkivet, så disse versioner kan ændres med ethvert værktøj.


Du skal finde en måde at opdatere arkivet ved hjælp af WinZIP/WinRAR, eller du skal downloade de originale Firefox kilder og tilføje dine patches til byggeprocessen.