Quote:
Originally Posted by KevinH
Hi JSWolf,
please run DumpMobiHeader_v018.py on that mobi and copy what values it has for cover offset and thumbnail offset in the EXTH metadata for the old Mobi header. I am betting that the ThumbOffset is 0xFFFFFFFF which means it's missing. If so I can give you a new mobi_opf.py to fix that issue. DumpMobiHeader is an extra Python script that I have added to the KindleUnpack zip archives on occasion. Any recent version would work.
If not, then please post a test case to the KindleUnpack forum and I will try to track it down.
KevinH
|
Yes, you are correct about ThumbOffset being 0xffffffff. I'm ready to run your test version of mobi_opf.py when you are ready to get it to me.
Here is the output from DumpMobiHeader from 0.75.
Code:
DumpMobiHeader v018
David Sherman & Dan Cragg - Starfist_ First to Fight_ Starfist 1.mobi .MOBI
First Header Dump from Section 0
Header Version is: 0x7
Header start position is: 0x0
Header Length is: 0xe8
Field: compression_type Offset: 0x000 Width: 2 Value: 0x02
Field: fill0 Offset: 0x002 Width: 2 Value: 0x00
Field: text_length Offset: 0x004 Width: 4 Value: 0xcb0ce
Field: text_records Offset: 0x008 Width: 2 Value: 0xcc
Field: max_section_size Offset: 0x00a Width: 2 Value: 0x1000
Field: crypto_type Offset: 0x00c Width: 2 Value: 0x00
Field: fill1 Offset: 0x00e Width: 2 Value: 0x00
Field: magic Offset: 0x010 Width: 4 Value: MOBI
Field: header_length Offset: 0x014 Width: 4 Value: 0x00e8
Field: type Offset: 0x018 Width: 4 Value: 0x0002
Field: codepage Offset: 0x01c Width: 4 Value: 0x04e4
Field: unique_id Offset: 0x020 Width: 4 Value: 0x900d80e7
Field: version Offset: 0x024 Width: 4 Value: 0x0007
Field: metaorthindex Offset: 0x028 Width: 4 Value: 0xffffffff
Field: metainflindex Offset: 0x02c Width: 4 Value: 0xffffffff
Field: index_names Offset: 0x030 Width: 4 Value: 0xffffffff
Field: index_keys Offset: 0x034 Width: 4 Value: 0xffffffff
Field: extra_index0 Offset: 0x038 Width: 4 Value: 0xffffffff
Field: extra_index1 Offset: 0x03c Width: 4 Value: 0xffffffff
Field: extra_index2 Offset: 0x040 Width: 4 Value: 0xffffffff
Field: extra_index3 Offset: 0x044 Width: 4 Value: 0xffffffff
Field: extra_index4 Offset: 0x048 Width: 4 Value: 0xffffffff
Field: extra_index5 Offset: 0x04c Width: 4 Value: 0xffffffff
Field: first_nontext Offset: 0x050 Width: 4 Value: 0x00ce
Field: title_offset Offset: 0x054 Width: 4 Value: 0x0380
Field: title_length Offset: 0x058 Width: 4 Value: 0x000e
Field: language_code Offset: 0x05c Width: 4 Value: 0x0409
Field: dict_in_lang Offset: 0x060 Width: 4 Value: 0x0000
Field: dict_out_lang Offset: 0x064 Width: 4 Value: 0x0000
Field: min_version Offset: 0x068 Width: 4 Value: 0x0007
Field: first_resc_offset Offset: 0x06c Width: 4 Value: 0x00d1
Field: huff_offset Offset: 0x070 Width: 4 Value: 0x0000
Field: huff_num Offset: 0x074 Width: 4 Value: 0x0000
Field: huff_tbl_offset Offset: 0x078 Width: 4 Value: 0x0000
Field: huff_tbl_len Offset: 0x07c Width: 4 Value: 0x0000
Field: exth_flags Offset: 0x080 Width: 4 Value: 0x0050
Field: fill3_a Offset: 0x084 Width: 4 Value: 0x0000
Field: fill3_b Offset: 0x088 Width: 4 Value: 0x0000
Field: fill3_c Offset: 0x08c Width: 4 Value: 0x0000
Field: fill3_d Offset: 0x090 Width: 4 Value: 0x0000
Field: fill3_e Offset: 0x094 Width: 4 Value: 0x0000
Field: fill3_f Offset: 0x098 Width: 4 Value: 0x0000
Field: fill3_g Offset: 0x09c Width: 4 Value: 0x0000
Field: fill3_h Offset: 0x0a0 Width: 4 Value: 0x0000
Field: drm_offset Offset: 0x0a8 Width: 4 Value: 0xffffffff
Field: drm_count Offset: 0x0ac Width: 4 Value: 0x0000
Field: drm_size Offset: 0x0b0 Width: 4 Value: 0x0000
Field: drm_flags Offset: 0x0b4 Width: 4 Value: 0x0000
Field: fill4_a Offset: 0x0b8 Width: 4 Value: 0x0000
Field: fill4_b Offset: 0x0bc Width: 4 Value: 0x0000
Field: first_content Offset: 0x0c0 Width: 2 Value: 0xffff
Field: last_content Offset: 0x0c2 Width: 2 Value: 0xffff
Field: unknown0 Offset: 0x0c4 Width: 4 Value: 0x0001
Field: fcis_offset Offset: 0x0c8 Width: 4 Value: 0x00d6
Field: fcis_count Offset: 0x0cc Width: 4 Value: 0x0001
Field: flis_offset Offset: 0x0d0 Width: 4 Value: 0x00d5
Field: flis_count Offset: 0x0d4 Width: 4 Value: 0x0001
Field: unknown1 Offset: 0x0d8 Width: 4 Value: 0x0000
Field: unknown2 Offset: 0x0dc Width: 4 Value: 0x0000
Field: srcs_offset Offset: 0x0e0 Width: 4 Value: 0xffffffff
Field: srcs_count Offset: 0x0e4 Width: 4 Value: 0x0000
Field: unknown3 Offset: 0x0e8 Width: 4 Value: 0xffffffff
Field: unknown4 Offset: 0x0ec Width: 4 Value: 0xffffffff
Field: fill5 Offset: 0x0f0 Width: 2 Value: 0x00
Field: traildata_flags Offset: 0x0f2 Width: 2 Value: 0x02
Field: ncx_index Offset: 0x0f4 Width: 4 Value: 0x00ce
Extra Region Length: 0x0
EXTH Region Length: 0x2130
EXTH MetaData
MetaData Header length: 0xc
MetaData data length : 0x288
Metadata # of items : 0x17
Key: "CoverOffset_(201)"
Value: 0xffffffff
Key: "ThumbOffset_(202)"
Value: 0xffffffff
Key: "Fake_Cover_(203)"
Value: 0x0000
Key: "Unknown_(526)"
Value: "kindletool2.7 Build:0115-4350e88"
Key: "Drm Ebookbase Book Id(3)"
Value: "0000000009630"
Key: "Creator_(100)"
Value: "Sherman, David"
Key: "Creator_(100)"
Value: "Cragg, Dan"
Key: "Publisher_(101)"
Value: "Random House Publishing Group"
Key: "Published_(106)"
Value: "1999-02-11"
Key: "ASIN_(113)"
Value: "B000FBFOIC"
Key: "sample_(115)"
Value: 0x0000
Key: "StartOffset_(116)"
Value: 0x249e
Key: "Updated_Title_(503)"
Value: "Starfist: First to Fight: Starfist 1"
Key: "ASIN_(504)"
Value: "B000FBFOIC"
Warning: Unknown metadata with id 405 found
Key: "405 (hex)"
Value: 0x00
Warning: Unknown metadata with id 406 found
Key: "406 (hex)"
Value: 0x0000000000000000
Warning: Unknown metadata with id 407 found
Key: "407 (hex)"
Value: 0x0000000000000000
Key: "Tamper_Proof_Keys_(209_in_hex)"
Value: 0x01000000d000000001940000000191000000019500000001960000000197
Key: "Clipping_Limit_(401)"
Value: 0x64
Warning: Unknown metadata with id 403 found
Key: "403 (hex)"
Value: 0x00
Key: "Text_to_Speech_Disabled_(404)"
Value: 0x0
Key: "cdeType_(501)"
Value: "EBOK"
Key: "Watermark_(208)"
Value: " "
Map of Palm DB Sections
Dec - Hex : Description
---- - ---- -----------
0000 - 0000: HEADER 7 [8744]
0001 - 0001: Text Record 0 [1768]
0002 - 0002: Text Record 1 [1068]
0003 - 0003: Text Record 2 [1833]
0004 - 0004: Text Record 3 [1989]
0005 - 0005: Text Record 4 [2011]
0006 - 0006: Text Record 5 [2121]
0007 - 0007: Text Record 6 [2048]
0008 - 0008: Text Record 7 [2044]
0009 - 0009: Text Record 8 [1932]
0010 - 000a: Text Record 9 [2095]
0011 - 000b: Text Record 10 [2042]
0012 - 000c: Text Record 11 [2138]
0013 - 000d: Text Record 12 [2155]
0014 - 000e: Text Record 13 [2214]
0015 - 000f: Text Record 14 [2273]
0016 - 0010: Text Record 15 [2251]
0017 - 0011: Text Record 16 [2166]
0018 - 0012: Text Record 17 [2043]
0019 - 0013: Text Record 18 [2273]
0020 - 0014: Text Record 19 [2146]
0021 - 0015: Text Record 20 [2065]
0022 - 0016: Text Record 21 [2012]
0023 - 0017: Text Record 22 [2078]
0024 - 0018: Text Record 23 [2043]
0025 - 0019: Text Record 24 [2044]
0026 - 001a: Text Record 25 [1985]
0027 - 001b: Text Record 26 [2140]
0028 - 001c: Text Record 27 [2089]
0029 - 001d: Text Record 28 [2019]
0030 - 001e: Text Record 29 [2173]
0031 - 001f: Text Record 30 [2190]
0032 - 0020: Text Record 31 [1938]
0033 - 0021: Text Record 32 [2041]
0034 - 0022: Text Record 33 [2115]
0035 - 0023: Text Record 34 [2194]
0036 - 0024: Text Record 35 [2068]
0037 - 0025: Text Record 36 [2165]
0038 - 0026: Text Record 37 [2090]
0039 - 0027: Text Record 38 [2124]
0040 - 0028: Text Record 39 [1936]
0041 - 0029: Text Record 40 [2182]
0042 - 002a: Text Record 41 [2198]
0043 - 002b: Text Record 42 [2231]
0044 - 002c: Text Record 43 [2187]
0045 - 002d: Text Record 44 [2234]
0046 - 002e: Text Record 45 [2269]
0047 - 002f: Text Record 46 [2099]
0048 - 0030: Text Record 47 [2145]
0049 - 0031: Text Record 48 [1701]
0050 - 0032: Text Record 49 [2034]
0051 - 0033: Text Record 50 [2131]
0052 - 0034: Text Record 51 [1901]
0053 - 0035: Text Record 52 [2079]
0054 - 0036: Text Record 53 [1975]
0055 - 0037: Text Record 54 [2044]
0056 - 0038: Text Record 55 [2007]
0057 - 0039: Text Record 56 [1993]
0058 - 003a: Text Record 57 [1862]
0059 - 003b: Text Record 58 [1963]
0060 - 003c: Text Record 59 [1899]
0061 - 003d: Text Record 60 [2027]
0062 - 003e: Text Record 61 [2049]
0063 - 003f: Text Record 62 [2038]
0064 - 0040: Text Record 63 [1854]
0065 - 0041: Text Record 64 [1903]
0066 - 0042: Text Record 65 [2020]
0067 - 0043: Text Record 66 [2062]
0068 - 0044: Text Record 67 [2060]
0069 - 0045: Text Record 68 [2132]
0070 - 0046: Text Record 69 [2093]
0071 - 0047: Text Record 70 [2059]
0072 - 0048: Text Record 71 [2134]
0073 - 0049: Text Record 72 [2108]
0074 - 004a: Text Record 73 [2040]
0075 - 004b: Text Record 74 [1996]
0076 - 004c: Text Record 75 [2176]
0077 - 004d: Text Record 76 [2163]
0078 - 004e: Text Record 77 [2290]
0079 - 004f: Text Record 78 [2238]
0080 - 0050: Text Record 79 [2315]
0081 - 0051: Text Record 80 [2187]
0082 - 0052: Text Record 81 [2091]
0083 - 0053: Text Record 82 [2237]
0084 - 0054: Text Record 83 [2079]
0085 - 0055: Text Record 84 [2297]
0086 - 0056: Text Record 85 [1985]
0087 - 0057: Text Record 86 [2092]
0088 - 0058: Text Record 87 [2244]
0089 - 0059: Text Record 88 [2187]
0090 - 005a: Text Record 89 [2166]
0091 - 005b: Text Record 90 [2058]
0092 - 005c: Text Record 91 [2050]
0093 - 005d: Text Record 92 [2004]
0094 - 005e: Text Record 93 [2152]
0095 - 005f: Text Record 94 [2087]
0096 - 0060: Text Record 95 [1949]
0097 - 0061: Text Record 96 [2102]
0098 - 0062: Text Record 97 [2145]
0099 - 0063: Text Record 98 [2089]
0100 - 0064: Text Record 99 [2115]
0101 - 0065: Text Record 100 [2209]
0102 - 0066: Text Record 101 [2074]
0103 - 0067: Text Record 102 [2146]
0104 - 0068: Text Record 103 [2166]
0105 - 0069: Text Record 104 [2139]
0106 - 006a: Text Record 105 [2209]
0107 - 006b: Text Record 106 [2158]
0108 - 006c: Text Record 107 [2064]
0109 - 006d: Text Record 108 [1965]
0110 - 006e: Text Record 109 [1901]
0111 - 006f: Text Record 110 [2152]
0112 - 0070: Text Record 111 [2083]
0113 - 0071: Text Record 112 [2184]
0114 - 0072: Text Record 113 [1959]
0115 - 0073: Text Record 114 [1985]
0116 - 0074: Text Record 115 [2084]
0117 - 0075: Text Record 116 [2169]
0118 - 0076: Text Record 117 [2174]
0119 - 0077: Text Record 118 [2041]
0120 - 0078: Text Record 119 [2011]
0121 - 0079: Text Record 120 [2208]
0122 - 007a: Text Record 121 [1968]
0123 - 007b: Text Record 122 [1964]
0124 - 007c: Text Record 123 [2050]
0125 - 007d: Text Record 124 [1944]
0126 - 007e: Text Record 125 [2060]
0127 - 007f: Text Record 126 [2115]
0128 - 0080: Text Record 127 [2234]
0129 - 0081: Text Record 128 [2160]
0130 - 0082: Text Record 129 [2083]
0131 - 0083: Text Record 130 [1991]
0132 - 0084: Text Record 131 [1922]
0133 - 0085: Text Record 132 [2153]
0134 - 0086: Text Record 133 [2063]
0135 - 0087: Text Record 134 [2041]
0136 - 0088: Text Record 135 [2049]
0137 - 0089: Text Record 136 [2167]
0138 - 008a: Text Record 137 [1894]
0139 - 008b: Text Record 138 [2204]
0140 - 008c: Text Record 139 [1993]
0141 - 008d: Text Record 140 [1988]
0142 - 008e: Text Record 141 [1931]
0143 - 008f: Text Record 142 [1799]
0144 - 0090: Text Record 143 [1940]
0145 - 0091: Text Record 144 [1988]
0146 - 0092: Text Record 145 [2101]
0147 - 0093: Text Record 146 [1957]
0148 - 0094: Text Record 147 [2152]
0149 - 0095: Text Record 148 [2125]
0150 - 0096: Text Record 149 [2042]
0151 - 0097: Text Record 150 [1947]
0152 - 0098: Text Record 151 [2029]
0153 - 0099: Text Record 152 [2068]
0154 - 009a: Text Record 153 [2069]
0155 - 009b: Text Record 154 [2008]
0156 - 009c: Text Record 155 [2050]
0157 - 009d: Text Record 156 [1973]
0158 - 009e: Text Record 157 [2156]
0159 - 009f: Text Record 158 [2099]
0160 - 00a0: Text Record 159 [2121]
0161 - 00a1: Text Record 160 [1999]
0162 - 00a2: Text Record 161 [2096]
0163 - 00a3: Text Record 162 [2113]
0164 - 00a4: Text Record 163 [2125]
0165 - 00a5: Text Record 164 [2068]
0166 - 00a6: Text Record 165 [1998]
0167 - 00a7: Text Record 166 [2147]
0168 - 00a8: Text Record 167 [1860]
0169 - 00a9: Text Record 168 [1999]
0170 - 00aa: Text Record 169 [1958]
0171 - 00ab: Text Record 170 [2006]
0172 - 00ac: Text Record 171 [2181]
0173 - 00ad: Text Record 172 [1904]
0174 - 00ae: Text Record 173 [1867]
0175 - 00af: Text Record 174 [1957]
0176 - 00b0: Text Record 175 [2136]
0177 - 00b1: Text Record 176 [2027]
0178 - 00b2: Text Record 177 [2038]
0179 - 00b3: Text Record 178 [1911]
0180 - 00b4: Text Record 179 [2047]
0181 - 00b5: Text Record 180 [2047]
0182 - 00b6: Text Record 181 [2008]
0183 - 00b7: Text Record 182 [1955]
0184 - 00b8: Text Record 183 [2053]
0185 - 00b9: Text Record 184 [1969]
0186 - 00ba: Text Record 185 [2053]
0187 - 00bb: Text Record 186 [1945]
0188 - 00bc: Text Record 187 [2000]
0189 - 00bd: Text Record 188 [2027]
0190 - 00be: Text Record 189 [2084]
0191 - 00bf: Text Record 190 [2219]
0192 - 00c0: Text Record 191 [2059]
0193 - 00c1: Text Record 192 [2040]
0194 - 00c2: Text Record 193 [2050]
0195 - 00c3: Text Record 194 [2014]
0196 - 00c4: Text Record 195 [2082]
0197 - 00c5: Text Record 196 [2042]
0198 - 00c6: Text Record 197 [2141]
0199 - 00c7: Text Record 198 [2132]
0200 - 00c8: Text Record 199 [1898]
0201 - 00c9: Text Record 200 [2067]
0202 - 00ca: Text Record 201 [2162]
0203 - 00cb: Text Record 202 [1917]
0204 - 00cc: Text Record 203 [172]
0205 - 00cd: 00afa9 ¯© [3]
0206 - 00ce: NCX Index 0 [240]
0207 - 00cf: NCX Index 1 [808]
0208 - 00d0: NCX Index CNX [600]
0209 - 00d1: Image gif [64344]
0210 - 00d2: Image gif [2496]
0211 - 00d3: Image gif [33176]
0212 - 00d4: Image gif [33156]
0213 - 00d5: FLIS [36]
0214 - 00d6: FCIS [76]
0215 - 00d7: EOF_RECORD [4]