1. Check Settings > Device information to make sure your Kobo ereader is already running firmware version 4.8.11090 (bee5052c41). If not, then you need to upgrade before applying this patch.
2. Check that your battery is well charged.
Patching from Windows, Linux (i386/x86_64/ARM), or Mac (OS X 10.8-10.9, i386/x86_64):
1. Download and extract patch_kobo_40811090.zip (attached).
2. Download the Kobo firmware archive version 4.8.11090 for your device (See the note at the top of this post), rename it to kobo-update-4.8.11090.zip, and copy it into the 4.8.11090_source/ subdirectory that was created in step 1. (Don't unzip the firmware archive.)
3. Read and edit all the *.patch files in the 4.8.11090_source/ subdirectory in order to: choose which patches to enable (patch_enable=`yes`) or disable (patch_enable=`no`); and to change some of the replacement values to suit your device and preferences.
4. In Windows run 4.8.11090.bat (double-click); For Linux/Mac run 4.8.11090.sh (double-click, or right-click + run, or execute 4.8.11090.sh from the command line, or drag 4.8.11090.sh into Terminal, depending on your particular OS/desktop.)
5. If there were no errors, a new 4.8.11090_target/ subdirectory will be created. Copy the KoboRoot.tgz file from this subdirectory to the .kobo directory on your ereader.
6. Safely eject and unplug the device, which will then update and restart.
To return your ereader to its original unpatched state:
1. Edit all the 4.8.11090_source/*.patch files to disable all patches (i.e. set patch_enable = `no` for every patch).
2. Repeat steps 4-6 of the procedure above.
Last edited by GeoffR; 06-26-2018 at 06:14 PM.
Reason: updated attachment to include 2 nickel patches from oren64's post #15
This firmware version has only been released for the new Clara HD, and there appears to be no official download link yet. See geek1011's post in the Clara discussion thread for a link to kobo-update-4.8.11090.zip.
Device: ClaraHD, Forma, Libra2, Clara2E, LibraCol, PBTouchHD3
Quote:
Originally Posted by GeoffR
These patches from the previous version are still missing:
nickel.patch:
- `Custom Header menubar - reduce height by 33%`
- `Custom Header menubar - reduce height by 50%`
- `Dictionary pop-up frame size increase`
`Custom Header menubar - reduce height by 33%`
Spoiler:
Code:
<Patch>
patch_name = `Custom Header menubar - reduce height by 33%`
patch_enable = `no`
# Multi-version patch: 4.08.11090+
#
# patch_group = `Custom header alternatives`
#
find_base_address = `\x4D\x53\xDB\x30\x10\x86\xEF\xFC\x0A\x0D\x39\x70`
replace_bytes = 0000, 4D 53 DB 30 10 86 EF FC, C9 6E DB 30 10 86 EF 7E
replace_bytes = 0008, 0A 0D 39 70 69 66 12 07, 0A 21 3E E4 52 03 DE E4
replace_bytes = 0010, 27 71 3A 1C 28 BD D0 69, AD F0 C1 4D 2F 2E DA 20
replace_bytes = 0018, 19 66 E8 70 E9 74 18 C5, 40 8A 5C 8A 22 A0 65 5A
replace_bytes = 0020, 11 B6 5A 47 32 92 42 48, 62 2B 93 0A 49 6F 6D FA
replace_bytes = 0028, 4B FF 7B 65 C7 C1 1F 92, EE A5 64 39 5A 48 8D 18
replace_bytes = 0030, D7 22 81 5B 22 7B 9F 77, 3B B9 D9 A4 E6 FB 47 33
replace_bytes = 0038, BD FB 7A 25 F7 6E 14 56, BF 46 54 F3 5E 22 B9 11
replace_bytes = 0040, 2B F9 09 8B 5B 4A D6 3F, 9F 10 7F 20 78 F7 E3 69
replace_bytes = 0048, 1E CE D3 F4 6E 41 1E 69, 16 45 8F 4B BC 25 1E 9E
replace_bytes = 0050, 48 2E E5 77 41 13 1E 6D, 8B EF 9C 84 CC 3F 4C 25
replace_bytes = 0058, CE 94 58 91 9F E8 EF 11, DF E0 9F CE DF 86 E3 AC
replace_bytes = 0060, 42 4B FC D4 8F 09 8D 62, D1 BE 15 60 E2 07 72 E2
replace_bytes = 0068, 35 43 93 61 FA F4 31 5B, F4 87 D1 FE 63 BC 46 68
replace_bytes = 0070, A3 AC B1 F6 EF A8 07 50, 69 ED 5F A3 09 50 EF 02
replace_bytes = 0078, AF 63 4E 18 7D 6A A1 06, 86 29 D9 57 50 07 6D 9D
replace_bytes = 0080, 16 6A E0 40 FD 2C 70 C4, 7A 5C 83 A9 9F 39 F2 19
replace_bytes = 0088, 59 0B 74 E8 59 A8 C5 62, AD 80 8E 0C D0 91 0D 14
replace_bytes = 0090, 07 16 6F 92 EC F6 36 B0, 1D C2 F8 EA 0A 6C A7 ED
replace_bytes = 0098, 3F B1 80 B7 8B 06 58 C6, EA DC 74 51 03 8B 80 ED
replace_bytes = 00A0, 7C 7D C9 16 34 C4 8A 0B, E6 74 49 3C 24 19 17 D3
replace_bytes = 00A8, 79 76 8F 13 59 20 E7 38, 15 0A 45 8A 5C 20 EF B7
replace_bytes = 00B0, FC 1D 09 BE 62 8B 7E C8, CF D9 86 2E 5B 1E 0B 19
replace_bytes = 00B8, 13 2E 66 48 09 CC 64 8A, 9F 38 92 23 2A 22 C4 31
replace_bytes = 00C0, 05 61 AA 9B 54 E6 66 82, 95 F5 A4 2C 37 1D B4 0B
replace_bytes = 00C8, D6 31 55 24 47 2C 89 94, 88 C4 09 62 8D 85 40 3E
replace_bytes = 00D0, 38 22 2E 82 08 A5 78 B1, B6 11 74 9C 08 2D 97 84
replace_bytes = 00D8, A0 2C 9A A1 C1 F6 F9 1E, FA 13 27 AD DB 53 C4 59
replace_bytes = 00E0, 52 C1 53 22 D4 A6 8F 75, 84 B9 3C B4 90 AA 07 5D
replace_bytes = 00E8, 3D D8 52 DF 36 43 27 E7, AB CB 26 CE F5 2C FE FD
replace_bytes = 00F0, D9 EF AF E4 5E A1 67 94, 15 AF A4 F3 EC 24 BF 1F
replace_bytes = 00F8, FF BE BD D0 17 88 38 C9, 6E D4 06 E6 D7 71 C8 8A
replace_bytes = 0100, 42 EE 39 53 7D A9 36 09, 51 D9 12 F2 10 E2 89 43
replace_bytes = 0108, 99 21 AA 74 58 58 4D A3, A4 0A F3 F2 69 D4 F9 EC
replace_bytes = 0110, CB 69 DB 68 FA 47 07 0F, 18 4D FE A8 E0 CE 38 2D
replace_bytes = 0118, 83 A2 9C D6 50 D3 4E 95, A7 31 54 37 53 2E B4 DB
replace_bytes = 0120, 50 6F 04 85 1A 9E A9 44, 83 42 35 C7 E4 22 7B 5D
replace_bytes = 0128, 8E 3C 30 D2 B4 45 25 F6, 30 52 B7 45 2E B6 6F 8C
replace_bytes = 0130, D4 1A 9B F0 10 27 E4 0A, 0D 99 87 42 7C 8B D6 78
replace_bytes = 0138, 2F C9 D9 F1 2F 7C F7 E5, 7A F5 0B 3D 7E B9 BB CA
replace_bytes = 0140, FA B8 1A B8 AD 13 E3 62, 07 1E EB 44 19 5F A3 B0
replace_bytes = 0148, 89 93 5A 6C BB 6B 80 9E, 10 5B ED 1A A0 27 15 6D
replace_bytes = 0150, B4 B4 C1 15 7F 48 73 1C, B0 C5 5F D2 1C 0B E0 EB
replace_bytes = 0158, 80 AF 6B 99 03 10 6A A4, 5A 66 01 84 1A D9 3D 23
replace_bytes = 0160, B7 47 82 E7 C9 46 CA D5, C1 59 78 10 62 B3 B6 74
replace_bytes = 0168, D2 D1 19 0E C0 2B FE 88, 86 05 F0 96 6D D1 DB D1
replace_bytes = 0170, DF 8E 06 BB 6F 34 A9 13, 60 F7 F5 86 45 E2 7D 84
replace_bytes = 0178, 6F 52 1C 12 D1 39 D9 F5, 3C CC 6B E7 BA 1A 60 3B
replace_bytes = 0180, 00 5B D3 85 8A B5 7D C7, B2 94 81 B2 EF 20 9D 69
replace_bytes = 0188, C5 4C D3 83 AE B6 04 33, 6A D0 15 96 60 A6 61 AA
replace_bytes = 0190, 2D 73 BD 64 FA 26 D3 77, 67 4C 57 67 BA 16 4C 7D
replace_bytes = 0198, 60 9A 53 BD 44 4E 06 06, A6 67 C8 61 5B 43 0E DB
replace_bytes = 01A0, 72 BB D4 81 B4 4C F4 12, 16 48 C3 44 CF A0 63 1D
replace_bytes = 01A8, 1A 98 D0 C0 0E 6D 9D C1, 3A 36 43 2B 67 70 F6 58
replace_bytes = 01B0, E5 6B F9 48 25 9D 67 EF, 6E 89 20 8B F8 B9 8B 37
replace_bytes = 01B8, 5D 76 B1 1B 61 7D B5 5F, EB 11 C6 47 FB 85 91 EC
replace_bytes = 01C0, 18 F9 D5 02 C2 56 40 3B, A6 10 BA 01 DA F9 A1 D1
replace_bytes = 01C8, 3F 1C F5 24 C1 22 8C 2F, 14 18 71 2F 98 7B 8C BE
replace_bytes = 01D0, 43 CE DE AC ED 4D C9 5A, 59 DB CB 92 85 6E 03 92
replace_bytes = 01D8, B7 01 C9 03 5C D1 94 AC, 17 B8 A2 2C 99 37 03 A0
replace_bytes = 01E0, 9A 01 50 DC DF 33 86 60, 78 BE 67 34 C1 82 55 20
replace_bytes = 01E8, CD 2A 90 E4 01 9E 02 7B, C9 0B 3C 05 F6 32 41 A5
replace_bytes = 01F0, 99 A3 8A BD B8 9F E8 8D, EF E2 56 A8 5E B4 6A 9E
replace_bytes = 01F8, 56 CF B3 82 B6 5B 15 DB, A5 B4 D3 2A 4F CF 5D 76
replace_bytes = 0200, 43 C7 A9 5B A7 2C C0 91, 9D 32 00 7B 66 A0 6B D5
replace_bytes = 0208, 1D E8 3B F5 C1 C2 3B 7D, 07 03 AF FF 6A 9E 5E BD
replace_bytes = 0210, 35 CF AC 5E 9D E8 7B 20, 22 D1 ED 82 44 7B B7 97
replace_bytes = 0218, D1 DD ED 0D 80 37 E8 20, 00 DD 76 0D A1 BA 74 29
replace_bytes = 0220, B4 97 AE 20 8C BA 08 AD, A1 57 47 A8 AC D5 A9 6D
replace_bytes = 0228, B5 DA B5 AD 13 D0 5E 9C, B5 80 EA E2 9C CA 70 7A
replace_bytes = 0230, 5D 19 76 3B 88 CC CF 88, 83 88 E4 8C B8 40 FC 46
replace_bytes = 0238, 73 2C 2E F4 66 80 29 23, BD 0C 10 A1 98 2B CB 12
replace_bytes = 0240, 42 5B 96 6A E2 CB 7F C7, 45 7C F9 6F 79 D8 D4 41
replace_bytes = 0248, C3 A6 09 82 C7 4D 4D A3, F0 B8 29 68 D4 F5 20 1B
replace_bytes = 0250, AB 07 E5 68 D3 92 61 7E, 6D 4A D2 4B CE 98 A3 CA
replace_bytes = 0258, C6 9C B6 3E 00 3C 73 00, 1B 80 67 0E A0 AB 77 CE
replace_bytes = 0260, 5D B3 73 16 DD E1 C0 51, A0 DB 69 5B 0A 97 26 0F
replace_bytes = 0268, B8 31 79 00 5D A3 DF 36, A0 AB F5 DB 24 EB DA CA
replace_bytes = 0270, 59 DF 55 B6 39 7F 20 61, 96 E7 0F 24 AC FB C4 20
replace_bytes = 0278, D3 27 16 69 0F 78 E2 BD, DD 05 EE F8 AC 93 60 A6
replace_bytes = 0280, 4E 82 A5 46 F6 AA 7E C3, 11 3F AA DF 10 F7 09 55
replace_bytes = 0288, 22 A2 6C 86 C6 7E F3 AB, 9F 6B 6E F9 AB 21 F1 6A
replace_bytes = 0290, 21 F7 6A FD F2 DE 59 40, 71 FB EC 2C A0 DE E6 B3
replace_bytes = 0298, BD AD 66 31 1D 82 59 4C, 18 75 C0 2C 8E DB 67 67
replace_bytes = 02A0, 87 07 65 01 74 BA 96 C4, 01 74 BA 90 C4 00 4E 62
replace_bytes = 02A8, 18 4E 62 7C 58 12 50 D7, 70 59 12 50 D7 F3 69 8C
replace_bytes = 02B0, AB 69 04 70 2D 02 F7 5A, E1 5A 8C ED 6B 91 28 9D
replace_bytes = 02B8, E4 4A FB D9 C2 F8 96 AC, 67 0B ED 5B B2 90 83 BD
replace_bytes = 02C0, E5 E0 6E 4D 4B 0A AE 9E, 35 0D 29 D8 7A E2 1D 53
replace_bytes = 02C8, 78 C7 14 1C 0D F1 9E 19, B0 34 C4 7B 66 60 EB 06
replace_bytes = 02D0, B8 BA C1 29 87 FF D2 A5, AB 1C FE 03 3A 04 79 0F
replace_bytes = 02D8, 79 77 00 00 02 D0 23 73, 00 00 00 00 02 D0 23 73
</Patch>
`Custom Header menubar - reduce height by 50%`
Spoiler:
Code:
<Patch>
patch_name = `Custom Header menubar - reduce height by 50%`
patch_enable = `no`
# Multi-version patch: 4.08.11090+
#
# patch_group = `Custom header alternatives`
#
find_base_address = `\x4D\x53\xDB\x30\x10\x86\xEF\xFC\x0A\x0D\x39\x70`
replace_bytes = 0000, 4D 53 DB 30 10 86 EF FC, C9 6E DB 30 10 86 EF 7E
replace_bytes = 0008, 0A 0D 39 70 69 66 12 07, 0A 21 3E E4 52 03 DE E4
replace_bytes = 0010, 27 71 3A 1C 28 BD D0 69, AD F0 C1 4D 2F 2E DA 20
replace_bytes = 0018, 19 66 E8 70 E9 74 18 C5, 40 8A 5C 8A 22 A0 65 5A
replace_bytes = 0020, 11 B6 5A 47 32 92 42 48, 62 2B 93 0A 49 6F 6D FA
replace_bytes = 0028, 4B FF 7B 65 C7 C1 1F 92, EE A5 64 39 5A 48 8D 18
replace_bytes = 0030, D7 22 81 5B 22 7B 9F 77, 3B B9 D9 A4 E6 FB 47 33
replace_bytes = 0038, BD FB 7A 25 F7 6E 14 56, BF 46 54 F3 5E 22 B9 11
replace_bytes = 0040, 2B F9 09 8B 5B 4A D6 3F, 9F 10 7F 20 78 F7 E3 69
replace_bytes = 0048, 1E CE D3 F4 6E 41 1E 69, 16 45 8F 4B BC 25 1E 9E
replace_bytes = 0050, 48 2E E5 77 41 13 1E 6D, 8B EF 9C 84 CC 3F 4C 25
replace_bytes = 0058, CE 94 58 91 9F E8 EF 11, DF E0 9F CE DF 86 E3 AC
replace_bytes = 0060, 42 4B FC D4 8F 09 8D 62, D1 BE 15 60 E2 07 72 E2
replace_bytes = 0068, 35 43 93 61 FA F4 31 5B, F4 DC 68 FF 31 5E 23 B4
replace_bytes = 0070, A3 AC B1 F6 EF A8 07 50, B4 F6 AF D1 04 A8 77 01
replace_bytes = 0078, AF 63 4E 18 7D 6A A1 06, C3 94 EC 2B A8 7D 03 B5
replace_bytes = 0080, 16 6A E0 40 FD 2C 70 C4, 6F 41 FD CC 91 CF 68 05
replace_bytes = 0088, 59 0B 74 E8 59 A8 C5 62, 74 D0 D6 A1 C7 B5 1A 28
replace_bytes = 0090, 07 16 6F 92 EC F6 36 B0, 3A 84 F1 D5 15 D8 91 01
replace_bytes = 0098, 3F B1 80 B7 8B 06 58 C6, 3B 32 63 45 C0 76 73 BA
replace_bytes = 00A0, 7C 7D C9 16 34 C4 8A 0B, 24 1E 92 8C 8B E9 0A 85
replace_bytes = 00A8, 79 76 8F 13 59 20 E7 38, 22 05 2E 90 F7 DB E7 6C
replace_bytes = 00B0, FC 1D 09 BE 62 8B 7E C8, 43 97 2D 8F 85 8C 4F 1C
replace_bytes = 00B8, 13 2E 66 48 09 CC 64 8A, C9 11 15 11 E2 98 CA 7A
replace_bytes = 00C0, 05 61 AA 9B 54 E6 66 82, 52 96 99 0E DA 05 44 E2
replace_bytes = 00C8, D6 31 55 24 47 2C 89 94, 04 B1 C6 42 20 1F DB 08
replace_bytes = 00D0, 38 22 2E 82 08 A5 78 B1, 3A 4E 84 96 4B 42 FD 89
replace_bytes = 00D8, A0 2C 9A A1 C1 F6 F9 1E, 93 DE DE 53 C4 59 84 B9
replace_bytes = 00E0, 52 C1 53 22 D4 A6 8F 75, 3C B4 90 AA 06 5D AB CB
replace_bytes = 00E8, 3D D8 52 DF 36 43 27 E7, 26 CE F5 2C FE FD 15 AF
replace_bytes = 00F0, D9 EF AF E4 5E A1 67 94, A4 F3 EC 24 BF 1F 6E D4
replace_bytes = 00F8, FF BE BD D0 17 88 38 C9, 06 E6 D7 71 C8 8A 51 D9
replace_bytes = 0100, 42 EE 39 53 7D A9 36 09, 12 F2 10 E2 89 43 A4 0A
replace_bytes = 0108, 99 21 AA 74 58 58 4D A3, F3 F2 69 D4 B9 EC 18 4D
replace_bytes = 0110, CB 69 DB 68 FA 47 07 0F, FE A8 E0 CE 38 2D A7 31
replace_bytes = 0118, 83 A2 9C D6 50 D3 4E 95, 54 B7 52 2E B4 DB 83 42
replace_bytes = 0120, 50 6F 04 85 1A 9E A9 44, 35 BF E4 22 7B 5D 30 52
replace_bytes = 0128, 8E 3C 30 D2 B4 45 25 F6, 37 45 2E B6 6F 8C 0D 99
replace_bytes = 0130, D4 1A 9B F0 10 27 E4 0A, 87 42 7C 8B D6 78 7A F5
replace_bytes = 0138, 2F C9 D9 F1 2F 7C F7 E5, 0B 3D 7E B9 BB CA 07 1E
replace_bytes = 0140, FA B8 1A B8 AD 13 E3 62, EB 44 19 5F A3 B0 10 5B
replace_bytes = 0148, 89 93 5A 6C BB 6B 80 9E, ED 1A A0 27 15 6D B0 C5
replace_bytes = 0150, B4 B4 C1 15 7F 48 73 1C, 5F D2 1C 0B E0 EB 5A 66
replace_bytes = 0158, 80 AF 6B 99 03 10 6A A4, 01 84 1A D9 3D 23 C1 59
replace_bytes = 0160, B7 47 82 E7 C9 46 CA D5, 78 10 62 B3 B6 74 86 05
replace_bytes = 0168, D2 D1 19 0E C0 2B FE 88, F0 96 6D D1 DB D1 60 F7
replace_bytes = 0170, DF 8E 06 BB 6F 34 A9 13, F5 86 45 E2 7D 84 3C CC
replace_bytes = 0178, 6F 52 1C 12 D1 39 D9 F5, 6B A7 BA 9A 5F 3B B2 94
replace_bytes = 0180, 00 5B D3 85 8A B5 7D C7, 81 B2 EF 20 1D 69 6A CC
replace_bytes = 0188, C5 4C D3 83 AE B6 04 33, 15 96 60 A6 61 A6 67 4C
replace_bytes = 0190, 2D 73 BD 64 FA 26 D3 77, 57 67 BA 16 4C 7D A2 67
replace_bytes = 0198, 60 9A 53 BD 44 4E 06 06, C8 61 5B 43 0E DB 16 48
replace_bytes = 01A0, 72 BB D4 81 B4 4C F4 12, C3 3C CF A0 63 1D 3A 36
replace_bytes = 01A8, 1A 98 D0 C0 0E 6D 9D C1, 43 2B 67 70 F6 58 6E 89
replace_bytes = 01B0, E5 6B F9 48 25 9D 67 EF, 20 8B F8 B9 8B 37 EB 11
replace_bytes = 01B8, 5D 76 B1 1B 61 7D B5 5F, C6 47 FB 85 91 EC A6 10
replace_bytes = 01C0, 18 F9 D5 02 C2 56 40 3B, BA 01 DA F9 A1 D1 14 18
replace_bytes = 01C8, 3F 1C F5 24 C1 22 8C 2F, 71 2F 98 7B 8C BE 59 DB
replace_bytes = 01D0, 43 CE DE AC ED 4D C9 5A, CB 92 85 6E 03 92 17 B8
replace_bytes = 01D8, B7 01 C9 03 5C D1 94 AC, A2 2C 99 37 03 A0 78 BE
replace_bytes = 01E0, 9A 01 50 DC DF 33 86 60, 67 34 C1 82 55 20 C9 0B
replace_bytes = 01E8, CD 2A 90 E4 01 9E 02 7B, 3C 05 F6 32 41 A5 EF E2
replace_bytes = 01F0, 99 A3 8A BD B8 9F E8 8D, 56 A8 5E B4 6A 9E A5 B4
replace_bytes = 01F8, 56 CF B3 82 B6 5B 15 DB, D3 2A 4F CF 47 76 9D 32
replace_bytes = 0200, 43 C7 A9 5B A7 2C C0 91, 00 7B 66 A0 6B D5 07 03
replace_bytes = 0208, 1D E8 3B F5 C1 C2 3B 7D, AF FF 6A 9E 5E BD 22 D1
replace_bytes = 0210, 35 CF AC 5E 9D E8 7B 20, ED 82 44 7B B7 97 00 DD
replace_bytes = 0218, D1 DD ED 0D 80 37 E8 20, 76 0D A1 BA 74 29 A1 57
replace_bytes = 0220, B4 97 AE 20 8C BA 08 AD, 47 A8 AC D5 A9 6D B5 80
replace_bytes = 0228, B5 DA B5 AD 13 D0 5E 9C, EA E2 9C CA 70 7A 83 88
replace_bytes = 0230, 5D 19 76 3B 88 CC CF 88, E4 8C B8 40 FC 46 BD 0C
replace_bytes = 0238, 73 2C 2E F4 66 80 29 23, 10 A1 98 2B CB 12 45 7C
replace_bytes = 0240, 42 5B 96 6A E2 CB 7F C7, F9 6F 79 D8 D4 41 F0 B8
replace_bytes = 0248, C3 A6 09 82 C7 4D 4D A3, 29 68 D4 F5 20 1B 6D 4A
replace_bytes = 0250, AB 07 E5 68 D3 92 61 7E, D2 4B CE 98 A3 CA 1B 80
replace_bytes = 0258, C6 9C B6 3E 00 3C 73 00, 67 0E A0 AB 77 CE A0 DB
replace_bytes = 0260, 5D B3 73 16 DD E1 C0 51, 69 5B 0A 97 26 0F A0 AB
replace_bytes = 0268, B8 31 79 00 5D A3 DF 36, F5 DB 24 EB DA CA 96 E7
replace_bytes = 0270, 59 DF 55 B6 39 7F 20 61, 0F 24 AC FB C4 20 DD 05
replace_bytes = 0278, D3 27 16 69 0F 78 E2 BD, EE F8 AC 93 60 A6 11 3F
replace_bytes = 0280, 4E 82 A5 46 F6 AA 7E C3, AA DF 10 F7 09 55 DF 55
replace_bytes = 0288, 22 A2 6C 86 C6 7E F3 AB, 6E F9 AB 21 F1 6A 71 FB
replace_bytes = 0290, 21 F7 6A FD F2 DE 59 40, EC 2C A0 DE E6 B3 18 75
replace_bytes = 0298, BD AD 66 31 1D 82 59 4C, C0 2C 8E DB 67 67 01 74
replace_bytes = 02A0, 87 07 65 01 74 BA 96 C4, BA 90 C4 00 4E 62 70 59
replace_bytes = 02A8, 18 4E 62 7C 58 12 50 D7, 12 50 D7 F3 69 8C E1 5A
replace_bytes = 02B0, AB 69 04 70 2D 02 F7 5A, 8C ED 6B 91 28 9D 67 0B
replace_bytes = 02B8, E4 4A FB D9 C2 F8 96 AC, ED 5B B2 90 83 BD 35 0D
replace_bytes = 02C0, E5 E0 6E 4D 4B 0A AE 9E, 29 D8 7A E2 1D 53 B0 34
replace_bytes = 02C8, 78 C7 14 1C 0D F1 9E 19, C4 7B 66 60 EB 06 AB 1C
replace_bytes = 02D0, B8 BA C1 29 87 FF D2 A5, FE 03 07 06 78 AF 00 00
replace_bytes = 02D8, 79 77 00 00 02 D0 23 73, 00 00 00 00 02 D0 23 73
</Patch>
`Dictionary pop-up frame size increase`
Spoiler:
Code:
<Patch>
patch_name = `Dictionary pop-up frame size increase`
patch_enable = `no`
# Multi-version patch: 4.08.11090+
#
find_base_address = `\xD0\x78\x9C\xB5\x59\xCB\x6E\xDB\x38\x14\xDD\xE7`
replace_bytes = 0000, D0 78 9C B5 59 CB 6E DB, D0 78 9C B5 59 DB 6E DB
replace_bytes = 0008, 38 14 DD E7 2B 84 7A 5B, 38 10 7D CF 57 08 F5 6B
replace_bytes = 0010, 03 7A 58 B2 E5 20 8B 00, 0D E8 62 CA 97 20 0F 01
replace_bytes = 0018, 99 19 A4 68 83 60 62 CC, B2 BB 48 D1 06 C1 C6 D8
replace_bytes = 0020, 66 30 08 68 8B B6 39 95, 97 C5 22 A0 2D 5A E6 96
replace_bytes = 0028, 44 97 A2 13 7B 8A FE FB, 12 5D 8A 4E EC 2D FA EF
replace_bytes = 0030, 48 D6 93 E2 15 49 25 6D, 2B 59 77 71 24 52 49 9B
replace_bytes = 0038, BB D2 15 EF 39 87 97 BC, 3C 69 CC 39 E7 70 86 C3
replace_bytes = 0040, 0F 2B 2B 7A DC EC BF E0, 19 D9 6B 7E DC EE BF 90
replace_bytes = 0048, F4 68 7D BF B2 AC 35 65, F8 68 7D BF B2 AC 0D 17
replace_bytes = 0050, 11 66 4B 2B A5 29 BE BE, 01 11 2B 2B E6 31 B9 BE
replace_bytes = 0058, FA 71 F5 40 36 5F 71 BC, FA 71 F5 40 B7 5F 09 5B
replace_bytes = 0060, 12 D7 A0 CD D7 1D A3 C7, B7 D7 E0 ED D7 50 F0 63
replace_bytes = 0068, 34 9A 6E 68 4C F3 D5 9C, 1C 4C B7 9C F1 74 B5 14
replace_bytes = 0070, A1 34 3B 20 86 53 7E 9D, 38 4E 0E 58 90 58 5E A7
replace_bytes = 0078, 2F 48 10 DB 91 74 69 39, 0B 22 2C 42 1A AF 2C 67
replace_bytes = 0080, B3 C3 A9 00 29 3C 57 F8, 76 38 65 20 99 E7 9A 9C
replace_bytes = 0088, C4 EF 39 4E 3E 5E 9E EE, E4 BD 24 D1 C7 CB D3 7D
replace_bytes = 0090, 13 B4 C3 C5 E3 00 E0 EB, 84 43 92 3D F6 00 BE EE
replace_bytes = 0098, 9E 70 DC 77 FD FB DB ED, A9 24 5D D7 BF BF DD 1E
replace_bytes = 00A0, E1 F0 1C E1 17 B2 C1 F7, 0E CF 01 79 A1 5B 72 9F
replace_bytes = 00A8, D9 8A 91 98 EE CE 37 9C, AC 05 65 3C 3C DF 48 71
replace_bytes = 00B0, 1D F1 3F 3D 54 C5 CA 0B, 24 FF 74 50 07 56 5E 08
replace_bytes = 00B8, 61 42 D2 E9 2B 89 F8 7E, 23 1A 4F 5F 69 20 F7 2B
replace_bytes = 00C0, 69 B9 B6 2D 8B 14 FD 1F, CB B5 6D 55 64 DB FF 71
replace_bytes = 00C8, F7 14 A7 E4 64 C0 24 AC, CF 49 4C 4F 06 4C AD 95
replace_bytes = 00D0, 94 98 5C 2D D3 1D 43 3B, 0A 93 AB 65 BA 13 38 E4
replace_bytes = 00D8, 9A 1A 10 75 17 F6 79 3C, B1 01 51 73 61 97 C7 D3
replace_bytes = 00E0, FD 8E EE D0 39 26 BB 3D, EF E8 0E 9F 19 0D F7 D2
replace_bytes = 00E8, 37 61 12 96 4A 5C A1 96, 84 A9 B5 54 E1 5A 6A B9
replace_bytes = 00F0, 0B 8E FE 1E 17 A0 4B 6B, E0 E8 EF 49 06 BA B2 66
replace_bytes = 00F8, 16 14 FE C5 95 39 F5 6C, 7E E6 9F 1D 99 53 C7 66
replace_bytes = 0100, C6 27 22 61 FA 00 A6 AF, 9C 11 05 13 01 98 48 8B
replace_bytes = 0108, C5 04 43 5A BB CF 6D 19, 09 86 B4 74 9F DB 2A E4
replace_bytes = 0110, 72 3E 32 CC 12 68 08 80, 7C 64 98 15 D0 25 00 DA
replace_bytes = 0118, 0E C7 93 64 BF D3 94 3F, 1F 4F 9A FC CE 63 F9 B4
replace_bytes = 0120, 6D 50 8C 3F E7 F9 85 4B, C5 8C 7C 4E EB 8B E4 A0
replace_bytes = 0128, D0 31 B1 F6 E7 40 5C E6, 63 62 8D E6 40 5C E6 EF
replace_bytes = 0130, EF E1 53 9F C3 B8 A0 99, E1 1B CE C3 B8 A0 99 F0
replace_bytes = 0138, F0 29 CF 68 01 6C 6F F1, 0D E6 68 01 6C 6F F1 AE
replace_bytes = 0140, AE ED 69 CE CF 71 5C 99, ED 69 F2 E7 38 AE CA 58
replace_bytes = 0148, B1 32 8A 94 D6 24 E9 3C, 18 DB 94 D6 24 6A 3C 7D
replace_bytes = 0150, 7D 46 6B 1C AB 0B 9F 65, C6 1B C2 86 2F 3E CB 2A
replace_bytes = 0158, 55 CF EB 38 5F 62 00 57, 9E 37 2C 5D 62 00 97 0B
replace_bytes = 0160, 0A 8F 69 B1 9F 07 94 E0, 67 3C DB CF 03 8E C8 CD
replace_bytes = 0168, 9B 0F FF A2 E7 4F 8F 1F, 87 7F F1 F3 A7 C7 0F B9
replace_bytes = 0170, 4A D5 DB 7C AB D3 2D 4A, EA 5D BA D5 E9 0E 47 94
replace_bytes = 0178, 48 7C 5E 5A 4F 79 AD 9E, 9D 57 D6 53 7A 57 4F 9F
replace_bytes = 0180, 3E 61 46 B6 9F 1E 3F 5A, 88 A0 BB 4F 8F 1F AD 24
replace_bytes = 0188, 59 F1 94 15 4F D7 F5 C2, 7B 4A B2 A7 EB 72 61 22
replace_bytes = 0190, 8C 9F 63 5C B4 00 96 A0, CF 8C 64 2D 40 44 98 19
replace_bytes = 0198, D8 98 7B F8 0E 96 A0 E4, 73 F7 9F C1 1C 94 FE 97
replace_bytes = 01A0, BF 1C D3 09 8D 82 A3 BB, 62 3A 4B A3 E0 E8 4E 59
replace_bytes = 01A8, 65 1D 44 D7 7B 03 A2 74, 03 D1 F5 DE 80 A8 9C A3
replace_bytes = 01B0, 8F BA 80 6F 91 78 1B 9F, 26 E0 5B 24 DE B2 73 92
replace_bytes = 01B8, B3 EC 98 C0 88 9E D9 8D, 1C 23 18 D1 33 3B 11 6D
replace_bytes = 01C0, 10 11 1F E8 0B FA 89 70, C4 07 FE 82 7F 22 1C 70
replace_bytes = 01C8, C0 55 EE 42 02 69 F2 86, 94 9B 90 40 99 BC 21 D1
replace_bytes = 01D0, 83 3E A0 28 22 E9 6E CA, 07 1C 04 34 0E A7 92 1F
replace_bytes = 01D8, E9 21 8F 63 99 1B B5 6D, D2 38 E6 B5 51 DA 36 5C
replace_bytes = 01E0, 4D 39 A7 49 65 7E F7 05, 4A 1E 15 E6 77 1F 80 16
replace_bytes = 01E8, 10 98 3C 98 E9 A7 5C 0C, 93 07 33 FD 94 83 D1 22
replace_bytes = 01F0, 81 68 06 13 01 53 CE 5B, 9A C1 44 C0 94 F3 96 7C
replace_bytes = 01F8, CE 43 A0 F2 61 2A 1F 28, B4 A8 10 4C 85 80 EB 8C
replace_bytes = 0200, 67 84 A3 98 6C B2 9B 2D, 4A CC E8 36 B9 D9 61 96
replace_bytes = 0208, 8A B3 1C 6A A0 D4 08 25, A4 50 3D 57 4D EB 0A F8
replace_bytes = 0210, E0 0F 4C F3 09 0D F5 33, 83 F0 74 42 C3 DD 8A CF
replace_bytes = 0218, BE 44 92 08 70 8A D6 31, 91 14 02 12 E3 0D 23 81
replace_bytes = 0220, 8E 34 04 55 C1 9A 84 97, 86 A0 B8 B0 26 CB CB 5F
replace_bytes = 0228, 7F 05 C8 7D 1A 93 14 DF, 06 72 1F 33 1A 93 3B BA
replace_bytes = 0230, 91 0D 27 34 45 EC FC 17, 95 94 C7 58 9C FF A2 E4
replace_bytes = 0238, C1 AF DA 7E 95 97 D2 6A, 55 DB AF D2 AB B4 98 2D
replace_bytes = 0240, B6 F0 83 BA 7F B4 F3 46, 90 5F F6 8F 7A DE A8 6D
replace_bytes = 0248, 6B EB 94 5C 77 31 6B 17, 8D 2B D7 F3 FC 7A 61 C7
replace_bytes = 0250, F6 8C 26 2A 80 2E D6 AA, 68 A2 02 E8 62 B5 0A 7F
replace_bytes = 0258, 08 C2 85 A4 A2 B5 75 54, B9 50 54 D4 B6 E6 D4 E2
replace_bytes = 0260, 78 3E A0 A2 32 9A A8 90, 02 2A 0A A3 89 0A B5 B7
replace_bytes = 0268, 7B 5B 2B C2 B1 6D 39 16, D5 22 1C DB 56 63 D1 30
replace_bytes = 0270, 1D 63 77 78 0A 03 59 46, 36 64 F8 36 20 A3 30 1A
replace_bytes = 0278, 65 34 92 01 F4 BC 8E 10, C9 00 7A 5E 43 88 07 09
replace_bytes = 0280, 0F 12 E2 41 42 82 D9 42, F1 20 21 F3 39 20 A4 30
replace_bytes = 0288, 16 52 19 7F 5C 4D A2 46, FE B8 9A 04 95 86 8A A3
replace_bytes = 0290, 43 C3 D1 04 6D 0E 6C A1, 52 EB BA C0 16 2A E3 E5
replace_bytes = 0298, 35 5E 7E 5C 54 35 C6 16, E5 A2 55 25 85 89 91 5D
replace_bytes = 02A0, 6C 31 DE 16 1D D8 96 28, D6 80 6D 85 41 9F EE 77
replace_bytes = 02A8, F4 E7 AD C1 74 75 98 C0, 42 02 B9 AB 11 1D 1B 82
replace_bytes = 02B0, E9 B5 90 1E 04 E9 69 21, 44 3A 48 28 0F 1A D0 F2
replace_bytes = 02B8, A1 93 68 41 67 2E 00 3A, 05 63 22 D3 EA FC 2D A0
replace_bytes = 02C0, AB CA EB 84 E7 F9 F9 5B, D2 A4 DA CA 00 BB EE 42
replace_bytes = 02C8, 44 B8 49 BE 35 A3 8B EF, 8D 7A 6D 6C D4 A5 83 D4
replace_bytes = 02D0, CA 71 6F 8D 9D CC 74 7C, BA AC F6 03 53 C3 25 56
replace_bytes = 02D8, 39 33 1D 5F 49 0D 27 59, D5 6A F3 50 A9 C6 46 31
replace_bytes = 02E0, C3 12 DA 00 75 77 40 AE, 22 A0 18 73 5B 2F 35 58
replace_bytes = 02E8, 53 CF 03 D2 D1 5B 28 A9, 57 55 7D 22 E0 A8 D5 C6
replace_bytes = 02F0, C1 CC 6A EA 84 0F 5C 36, 9A 79 09 5C 46 85 AD 9F
replace_bytes = 02F8, B7 FB 13 A2 62 09 3D F9, 19 2E A5 6A F4 5E 00 DC
replace_bytes = 0300, E6 87 CD 21 0E 30 C3 C9, B5 B1 51 74 2E F2 D4 A2
replace_bytes = 0308, D4 DC 69 0F BA E8 9E CC, 2B 8C 29 7B 42 A4 4C 9B
replace_bytes = 0310, ED B8 76 28 A7 5D 65 CC, 44 D2 33 52 4E 82 65 F6
replace_bytes = 0318, D9 33 CC 79 DE 26 B2 81, 5F 5D F6 40 13 68 9E AC
replace_bytes = 0320, A1 72 12 85 C5 FF A6 DC, EA 10 95 B0 BF 74 B4 EC
replace_bytes = 0328, 03 6D 40 CE 80 0E EC 2F, B0 8C 1A 22 7B 7C 8D C6
replace_bytes = 0330, 1D 2E 7B 2C A3 C6 C8 01, C5 1E 5F 93 C1 B0 C7 D5
replace_bytes = 0338, 5F A3 81 71 C0 D7 64 34, 68 04 EC F1 D5 0F 7B 7D
replace_bytes = 0340, 1C 70 35 1A 02 07 7C F5, 7A 8D C6 3A E3 20 97 E3
replace_bytes = 0348, E3 DE 90 5E A3 C1 CE 38, 46 71 47 75 46 38 51 BC
replace_bytes = 0350, C8 F5 C0 51 95 D2 DE 10, E1 0C 4B EA 1F D6 0A 54
replace_bytes = 0358, C7 AA C4 54 4B 1A 1E D7, 1F 46 F5 C7 25 A6 0D EA
replace_bytes = 0360, 2A D4 00 46 0D C6 1D 8C, C2 52 DD D1 D1 EB C0 2E
replace_bytes = 0368, 08 EA C2 52 DD D1 D1 EB, 60 D8 C5 C8 08 18 D4 97
replace_bytes = 0370, C1 2E 60 D8 C5 C8 08 18, 51 2B F1 34 BE C3 3D C3
replace_bytes = 0378, E4 D7 88 56 32 66 3F 82, 2B 0F 70 44 92 04 87 44
replace_bytes = 0380, 77 7D 81 13 9C 65 68 87, AD DF DB 97 54 B8 68 EC
replace_bytes = 0388, E5 FC BD 7D C9 85 B3 CE, 78 65 D9 6D 9F 5F 7B 19
replace_bytes = 0390, 8E 97 96 2D FA FC DA 62, F4 92 48 F1 BC FE 13 22
replace_bytes = 0398, 30 48 C2 D9 F3 EA 4F 88, A9 2E B1 AE B7 36 19 79
replace_bytes = 03A0, A4 29 62 7D 6F ED 61 54, 86 BD 76 BF 2F 12 EC 21
replace_bytes = 03A8, 7D B8 EE 65 A5 91 D5 83, 68 D7 BA 14 E5 88 C8 86
replace_bytes = 03B0, 1B B4 6B DD 11 95 88 BE, 10 11 18 47 7D E2 72 4C
replace_bytes = 03B8, 0D 21 FA 60 1C F5 07 57, 1F 54 E9 97 2A 77 9C 4B
replace_bytes = 03C0, 62 06 A0 CA A0 56 B9 A5, 22 D4 B6 8A D4 FE E2 B5
replace_bytes = 03C8, 94 63 26 35 98 19 34 0B, 7D 74 B1 FA 76 10 FC 40
replace_bytes = 03D0, 06 82 8F 2E 56 DF 0E 8C, 84 3C 5F 84 7C 29 BE D7
replace_bytes = 03D8, 1E 30 E3 E7 8B 90 2F D5, 75 ED EB D6 67 17 3D 7D
replace_bytes = 03E0, 97 5D D7 BE 16 DE 5D F4, 1F E6 AF 2E E5 A7 B6 32
replace_bytes = 03E8, 0C BD 2C 7F BC 88 6F 85, 36 03 AD 7F 66 0F 88 54
replace_bytes = 03F0, 49 11 E8 FD 81 AD 50 29, A2 DF A3 11 0D 69 44 A3
replace_bytes = 03F8, 85 7F 40 A4 AF 12 E9 2B, 34 22 40 23 1A D4 A8 E6
replace_bytes = 0400, 45 FA F0 87 39 E8 03 DE, 13 56 E9 B9 03 2A BB 1F
replace_bytes = 0408, 90 48 F9 44 61 99 9E AB, 6A 54 FA 80 CA 6A 42 61
replace_bytes = 0410, 90 D9 7F 29 CA 2C DF 0A, 38 0E 8F CA B9 33 6B B3
replace_bytes = 0418, 83 94 0B 0D 52 4D C5 89, B0 AF 59 9B 85 7D 8D DA
replace_bytes = 0420, 51 BA 3B 4A 97 CF AC D7, 2C EC 6A D6 66 61 5F 83
replace_bytes = 0428, C2 BE 66 BD 16 F6 35 EA, 36 DB A3 D7 AC CD 9A 06
replace_bytes = 0430, B5 B0 AB 59 AF 85 7D 0D, 59 3D 5B 23 A2 DC 7E 53
replace_bytes = 0438, 7A ED 80 5E B3 5E 6B 1A, 1A 17 E6 D6 57 A3 C3 C4
replace_bytes = 0440, 64 E1 3B AC FA 84 D4 D3, 9A E1 D5 B1 8B 6F 3D 26
replace_bytes = 0448, 73 A0 91 AD 9A 7F 17 6A, 7B 82 83 E2 F2 C9 7F 3C
replace_bytes = 0450, 62 CD 04 EB D8 D5 EF DB, AA BE AC 70 0E 27 2B E1
replace_bytes = 0458, C9 1E A3 A8 AA 40 E5 DF, 8C 06 56 28 F0 79 E8 2C
replace_bytes = 0460, 90 9A 6F 16 CE E1 64 65, 3B 2D AC 31 E1 9B 41 2F
replace_bytes = 0468, 34 26 91 B5 63 E8 AC BA, DD FE 00 9C 26 A0 43 35
replace_bytes = 0470, CE 8E 80 35 26 7C CA 42, 04 C1 0D 86 78 0E A0 CD
replace_bytes = 0478, 07 C1 69 02 AA AA 48 10, 07 D1 86 83 BE 04 F0 CA
replace_bytes = 0480, 9C 32 C4 CA D2 01 A2 69, 1F 0C FE 07 48 0D 90 BA
replace_bytes = 0488, 82 AE CC F1 FF 01 74 23, 00 00 00 00 00 00 00 00
replace_bytes = 0490, 92 93 00 00 01 9B 00 00, 00 00 00 00 01 9B 00 00
</Patch>
2. Download the Kobo firmware archive version 4.8.11090 for your device (See this post for links) and copy it into the 4.8.11090_source/ subdirectory that was created in step 1. (Don't unzip the firmware archive.)
The link doesn't work.
Is there a demand for the missing patches or the other patches?
I just downloaded the zip file from your link and compared it with the fw I captured from Kobo Desktop when I registered my ClaraHD. They look identical to me.
I just downloaded the zip file from your link and compared it with the fw I captured from Kobo Desktop when I registered my ClaraHD. They look identical to me.
There was another version available for a while. I think it was replaced around the time of the official release. I never installed it anywhere and don't remember what version it had inside. But, the size of the tgz file and timestamps inside where different to this one.