Co je soubor OBML?
Soubor OBML (Opera Binary Markup Language) je offline verze webové stránky uložená mobilnÃm webovým prohlÞeÄem Opera Mini. Je to samostatná kompaktnà verze souborů HTML, která obsahuje vÅ¡echny prvky stránky pro zobrazenà na konkrétnÃch zaÅÃzenÃch v režimu offline. Formát souboru OBML byl upgradován na nÄkolik verzÃ, pÅiÄemž se obecnÄ použÃvajà OBML15 a OBML16. Důležitým bodem, který je tÅeba mÃt na pamÄti, je, že každá verze Opery Mini je kompatibilnà pouze s jednÃm formátem OBML. Upgrade Opery Mini tedy ponechá dÅÃve uložené stránky Äitelné. Soubory OBML lze pÅevést do HTML a PDF.
Formát souboru OBML
Formát souboru OBML je uložen v proprietárnÃm formátu souboru Opery a jeho specifikace formátu souboru nejsou veÅejnÄ dostupné. NicménÄ formát OMBL byl reverznÄ navržen tak, aby dekódoval jeho strukturu následovnÄ.
Datové typy OBML
Podle výsledků zpÄtného inženýrstvà použÃvá OBML následujÃcà primitivnà typy:
byteâ celé ÄÃslo bez znaménka (1 bajt)shortâ celé ÄÃslo se znaménkem (2 bajty, big-endian)mediumâ celé ÄÃslo se znaménkem (3 bajty, big-endian)blobâ { length: short, data: byte[length] }charâ bajt obsahujÃcà znak ASCIIstringâ blob obsahujÃcà text v kódovánà UTF-8
Záhlavà OBML
header := {
(if version >= 15) {
fake_file_size: medium = 0x02d355
fake_version: byte = 16
}
file_size: medium
version: byte
page_size: coords
(if version == 16) {
unknown: byte[3] // always S\x00\x00
}
unknown: short // always -1
page_title: string
unknown: blob
page_url_base: string
page_url: url
(if version >= 15) {
unknown: byte[6]
}
(if 6 < version <= 13) {
unknown: byte[5]
}
(if version == 6) {
unknown: byte[1]
}
metadata: chunk[]
content: chunk[]
}