View Single Post
Old 09-29-2014, 07:48 PM   #15
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 74,618
Karma: 130140792
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Quote:
Originally Posted by KevinH View Post
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]

Last edited by JSWolf; 09-29-2014 at 07:56 PM.
JSWolf is offline   Reply With Quote