kobopatch v0.12.0
https://github.com/geek1011/kobopatch
KoboPatch::LoadConfig
reading config file from *os.File
unmarshaling yaml
| {
| "Version": "4.12.12111",
| "In": "src/kobo-update-4.12.12111.zip",
| "Out": "out/KoboRoot.tgz",
| "Log": "out/log.txt",
| "PatchFormat": "kobopatch",
| "Patches": {
| "src/libadobe.so.yaml": "usr/local/Kobo/libadobe.so",
| "src/libnickel.so.1.0.0.yaml": "usr/local/Kobo/libnickel.so.1.0.0",
| "src/librmsdk.so.1.0.0.yaml": "usr/local/Kobo/librmsdk.so.1.0.0",
| "src/nickel.yaml": "usr/local/Kobo/nickel"
| },
| "Overrides": {
| "src/libadobe.so.yaml": null,
| "src/libnickel.so.1.0.0.yaml": {
| "Allow searches on Extra dictionaries": true,
| "Always display chapter name on navigation menu": true,
| "Always show confirmation dialog before upgrading": false,
| "Both page turn buttons go next": false,
| "Both page turn sides go next": false,
| "Clock display duration": true,
| "Custom Sleep/Power-off timeouts": true,
| "Custom font sizes": true,
| "Custom footer (page number text)": true,
| "Custom kepub default margins": true,
| "Custom left \u0026 right margins": true,
| "Dictionary text font-family/font-size/line-height - beta": true,
| "Enable rotation on all devices": false,
| "Fix three KePub fullScreenReading bugs": true,
| "Force user font-family in ePubs (Part 1 of 2)": true,
| "Force user line spacing in KePubs": true,
| "Force user line spacing in ePubs (part 1 of 2)": true,
| "Freedom to advanced fonts control": true,
| "KePub constant font sharpness": true,
| "KePub stylesheet additions": true,
| "My 24 line spacing values": true,
| "Rename new home screen footer": true,
| "Rename settings": false,
| "Replace adobe page numbers toggle with invert screen": true,
| "Set KePub hyphenation": true,
| "Set reading footer height": false,
| "Set slide to unlock": false,
| "Wikipedia Search language": true,
| "ePub constant font sharpness": true,
| "ePub fixed top/bottom margins": true
| },
| "src/librmsdk.so.1.0.0.yaml": {
| "Default ePub monospace font (Courier)": true,
| "Disable orphans/widows avoidance": true,
| "Force user font-family in ePubs (Part 2 of 2)": true,
| "Force user line spacing in ePubs (Part 2 of 2)": true,
| "Ignore ePub book Adobe XPGT stylesheet (page-template.xpgt)": true
| },
| "src/nickel.yaml": {
| "Change pop-up footnote font-family": true,
| "Changing the info panel in full size screensaver- beta 1": true,
| "Custom font to collection and author titles": true,
| "Custom menubar - reduce height by 50%": true,
| "Custom synopsis/details line spacing": true,
| "Custom synopsis/font size": true,
| "Dictionary pop-up - increase available text area": true,
| "Disable reading footer": true,
| "Fix reading stats/author name cut off when series is showing": true,
| "Increase headlines font": true,
| "Increase size of kepub chapter progress chart": true,
| "Increase the cover size in library": true,
| "Increase the view details container size": true,
| "New home screen increasing cover size": true,
| "New home screen subtitle custom font": true,
| "Remove footer (row3) and increase cover size on new home screen": true,
| "Remove recommendations (row1col2) from home screen": true,
| "Show all games": true
| }
| },
| "Lrelease": "",
| "Translations": null,
| "Files": null
| }
KoboPatch::OutputInit
KoboPatch::ApplyPatches
KoboPatch:

penIn
Opening firmware zip 'src/kobo-update-4.12.12111.zip'
Looking for KoboRoot.tgz in zip
--> found KoboRoot.tgz
--> opening KoboRoot.tgz
Opening gzip reader
Creating tar reader
patching entry name:'./usr/local/Kobo/librmsdk.so.1.0.0' size:7776328 mode:'509' typeflag:'48' with files: src/librmsdk.so.1.0.0.yaml
reading entry contents
loading patch file 'src/librmsdk.so.1.0.0.yaml' (detected format kobopatch)
| parsing patch file
| parsing patch file: expanding shorthand hex values
| decoded hex `E6 D0` to `[230 208]`
| decoded hex `E6 E7` to `[230 231]`
applying overrides
override Force user font-family in ePubs (Part 2 of 2) -> enabled:true
override Ignore ePub book Adobe XPGT stylesheet (page-template.xpgt) -> enabled:true
override Disable orphans/widows avoidance -> enabled:true
override Default ePub monospace font (Courier) -> enabled:true
override Force user line spacing in ePubs (Part 2 of 2) -> enabled:true
validating patch file
| enabledPatchGroups:map[]
applying patch file
| validating patch file
| enabledPatchGroups:map[]
| looping over patches
| ResetBaseAddress()
| Enabled: true
| applying patch `Disable orphans/widows avoidance`
| looping over instructions
| skipping non-instruction Enabled(), PatchGroup() or Description()
| skipping non-instruction Enabled(), PatchGroup() or Description()
| ReplaceBytes(2711204, []byte{0xe6, 0xd0}, []byte{0xe6, 0xe7})
| ResetBaseAddress()
| Enabled: false
| skipping patch `Default ePub serif font (Amasis)`
| ResetBaseAddress()
| Enabled: false
| skipping patch `Default ePub sans-serif font (Gill Sans)`
| ResetBaseAddress()
| Enabled: true
| applying patch `Force user line spacing in ePubs (Part 2 of 2)`
| looping over instructions
| skipping non-instruction Enabled(), PatchGroup() or Description()
| skipping non-instruction Enabled(), PatchGroup() or Description()
| FindBaseAddressString("\x00line-height\x00") | hex:006c696e652d68656967687400
| ReplaceString(1, "l", "_")
| ResetBaseAddress()
| Enabled: true
| applying patch `Force user font-family in ePubs (Part 2 of 2)`
| looping over instructions
| skipping non-instruction Enabled(), PatchGroup() or Description()
| skipping non-instruction Enabled(), PatchGroup() or Description()
| FindBaseAddressString("\x00font-family\x00") | hex:00666f6e742d66616d696c7900
| ReplaceString(1, "f", "_")
| ResetBaseAddress()
| Enabled: true
| applying patch `Ignore ePub book Adobe XPGT stylesheet (page-template.xpgt)`
| looping over instructions
| skipping non-instruction Enabled(), PatchGroup() or Description()
| skipping non-instruction Enabled(), PatchGroup() or Description()
| FindBaseAddressString("\x00template\x00") | hex:0074656d706c61746500
| ReplaceString(1, "t", "_")
| ResetBaseAddress()
| Enabled: true
| applying patch `Default ePub monospace font (Courier)`
| looping over instructions
| skipping non-instruction Enabled(), PatchGroup() or Description()
| skipping non-instruction Enabled(), PatchGroup() or Description()
| FindReplaceString("CourierStd.otf", "normal/Courier")
| FindBaseAddressString("CourierStd.otf")
| ReplaceString(0, "CourierStd.otf", "normal/Courier")
| FindReplaceString("CourierStd-Bold.otf", "bold/Courier")
| FindBaseAddressString("CourierStd-Bold.otf")
| ReplaceString(0, "CourierStd-Bold.otf", "bold/Courier")
| FindReplaceString("CourierStd-Oblique.otf", "italic/Courier")
| FindBaseAddressString("CourierStd-Oblique.otf")
| ReplaceString(0, "CourierStd-Oblique.otf", "italic/Courier")
| FindReplaceString("CourierStd-BoldOblique.otf", "bolditalic/Courier")
| FindBaseAddressString("CourierStd-BoldOblique.otf")
| ReplaceString(0, "CourierStd-BoldOblique.otf", "bolditalic/Courier")
| ResetBaseAddress()
| Enabled: false
| skipping patch `Default ePub symbol font (Symbol)`
| ResetBaseAddress()
| Enabled: false
| skipping patch `Ignore ePub book CSS and Adobe XPGT stylesheets`
| ResetBaseAddress()
| Enabled: false
| skipping patch `Ignore ePub TOC navpoints`
patched file - orig:7776328 new:7776328
copying new header to output tar - size:7776328 mode:'509'
writing patched file to tar writer
patching entry name:'./usr/local/Kobo/nickel' size:5295904 mode:'509' typeflag:'48' with files: src/nickel.yaml
reading entry contents
loading patch file 'src/nickel.yaml' (detected format kobopatch)
| parsing patch file
| parsing patch file: expanding shorthand hex values
applying overrides
override Remove footer (row3) and increase cover size on new home screen -> enabled:true
override Custom synopsis/font size -> enabled:true
override Increase the cover size in library -> enabled:true
override Custom synopsis/details line spacing -> enabled:true
override Dictionary pop-up - increase available text area -> enabled:true
override New home screen increasing cover size -> enabled:true
override Custom menubar - reduce height by 50% -> enabled:true
override Changing the info panel in full size screensaver- beta 1 -> enabled:true
override Increase the view details container size -> enabled:true
override Increase size of kepub chapter progress chart -> enabled:true
override New home screen subtitle custom font -> enabled:true
override Remove recommendations (row1col2) from home screen -> enabled:true
override Disable reading footer -> enabled:true
override Fix reading stats/author name cut off when series is showing -> enabled:true
override Custom font to collection and author titles -> enabled:true
override Increase headlines font -> enabled:true
override Show all games -> enabled:true
override Change pop-up footnote font-family -> enabled:true
validating patch file
--> more than one patch enabled in PatchGroup `Home screen tweaks`