pgaskin / kobopatch-patches

Patches for use with kobopatch.
https://pgaskin.net/kobopatch-patches/
MIT License
212 stars 20 forks source link

Patches for 4.38.21908 #127

Closed pgaskin closed 9 months ago

pgaskin commented 9 months ago

Also see #126.

pgaskin commented 9 months ago

Resource extraction:

go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21908.qInitResources_styles.zip --recursive --verbose nickel 1 26762560 26622584 26750920
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21908.qInitResources_resources.zip --recursive --verbose nickel 1 21737592 101096 21736112
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21908.qInitResources_certificates.zip --recursive --verbose nickel 1 26923968 26765808 26919792
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21908.qInitResources_translations.zip --recursive --verbose nickel 1 26622256 21738816 26621512

Output Diff


https://krc.storage.pgaskin.net/nickel.21908.qInitResources_certificates.zip https://krc.storage.pgaskin.net/nickel.21908.qInitResources_resources.zip https://krc.storage.pgaskin.net/nickel.21908.qInitResources_styles.zip https://krc.storage.pgaskin.net/nickel.21908.qInitResources_translations.zip

pgaskin commented 9 months ago
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.38.21908/libnickel.so.1.0.0.yaml/geoffr.yaml: My 24 line spacing values: could not apply patch "My 24 line spacing values": line 54: inst 9: ReplaceBytes: could not find specified bytes at offset
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.38.21908/libnickel.so.1.0.0.yaml/jackie_w.yaml: Dictionary text font-family/font-size/line-height: could not apply patch "Dictionary text font-family/font-size/line-height": line 53: inst 3: FindReplaceString: FindBaseAddressString: FindBaseAddress: could not find bytes
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.38.21908/nickel.yaml/pgaskin.yaml: Increase size of kepub chapter progress chart: could not apply patch "Increase size of kepub chapter progress chart": line 28: inst 4: ReplaceZlib: not a zlib stream
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.38.21908/nickel.yaml/pgaskin.yaml: Remove forgot pin button from lock screen: could not apply patch "Remove forgot pin button from lock screen": line 20: inst 4: ReplaceZlib: not a zlib stream
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.38.21908/libnickel.so.1.0.0.yaml/pgaskin.yaml: Customize ComfortLight settings: could not apply patch "Customize ComfortLight settings": line 529: inst 4: ReplaceInt: could not find specified bytes at offset
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.38.21908/libnickel.so.1.0.0.yaml/pgaskin.yaml: Hide browser from beta features: could not apply patch "Hide browser from beta features": line 82: inst 3: ReplaceBytes: could not find specified bytes
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.38.21908/libnickel.so.1.0.0.yaml/pgaskin.yaml: Never show Kobo Plus, wishlist, and points SmartLinks: could not apply patch "Never show Kobo Plus, wishlist, and points SmartLinks": line 288: inst 5: ReplaceBytes: could not find specified bytes at offset
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.38.21908/libadobe.so.yaml/pgaskin.yaml: Remove PDF map widget shown during panning: could not apply patch "Remove PDF map widget shown during panning": line 9: inst 4: ReplaceBytes: could not find specified bytes

A lot more than usual, and this one will be a bit more work since I'm going to need to verify all of the SmartLinks again, update and test the libadobe offsets, and at least partially rewrite "My 24 line spacing values". I'll work on this when I have more time, probably tomorrow.

@jackiew1 "Dictionary text font-family/font-size/line-height"

jackiew1 commented 9 months ago

@pgaskin When you create the MR thread for release of these patches I'll need to add a post to remind users that they'll need to make a fresh copy if they want to customise patch Dictionary text font-family/font-size/line-height

jackiew1 commented 9 months ago

... also, forgot to say no changes required for nickel patches as far as I can tell.

pgaskin commented 9 months ago

I'll need to add a post

I'll post it around the time of your comment then, with some notice beforehand.

pgaskin commented 9 months ago

Looks like the 24 line spacing patch fix will be relatively trivial; a nop just made its way into the middle for alignment, so I'll need to recompute all the hardcoded offsets.

20400 21908
``` _ZNK15ReadingSettings17lineHeightScalarsEv: // ReadingSettings::lineHeightScalars() const 008b9ee4 964B ldr r3, =0xb136ea ; dword_8ba140,0xb136ea 008b9ee6 2DE9F043 push.w {r4, r5, r6, r7, r8, sb, lr} 008b9eea A1B0 sub sp, #0x84 008b9eec 954E ldr r6, =0xad1cfe ; dword_8ba144,0xad1cfe 008b9eee 7B44 add r3, pc ; dword_13cd5dc 008b9ef0 00AF add r7, sp, #0x0 008b9ef2 1A68 ldr r2, [r3] ; dword_13cd5dc 008b9ef4 0546 mov r5, r0 008b9ef6 7E44 add r6, pc ; dword_138bbf8 008b9ef8 D207 lsls r2, r2, #0x1f 008b9efa 03D4 bmi loc_8b9f04 008b9efc 1846 mov r0, r3 008b9efe EDF4F6EA blx __cxa_guard_acquire@PLT ; __cxa_guard_acquire 008b9f02 50B9 cbnz r0, loc_8b9f1a loc_8b9f04: 008b9f04 9049 ldr r1, =0xb136d0 ; dword_8ba148,0xb136d0, CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+22, _ZNK15ReadingSettings17lineHeightScalarsEv+466, _ZNK15ReadingSettings17lineHeightScalarsEv+470, _ZNK15ReadingSettings17lineHeightScalarsEv+494 008b9f06 2846 mov r0, r5 008b9f08 7944 add r1, pc ; dword_13cd5dc 008b9f0a 0431 adds r1, #0x4 ; 0x13cd5e0 008b9f0c D8F4ECEE blx _ZN5QListIdEC1ERKS0_@PLT ; QList::QList(QList const&) 008b9f10 2846 mov r0, r5 008b9f12 8437 adds r7, #0x84 008b9f14 BD46 mov sp, r7 008b9f16 BDE8F083 pop.w {r4, r5, r6, r7, r8, sb, pc} ; endp loc_8b9f1a: 008b9f1a 8C4B ldr r3, =0x15844 ; 0x15844,dword_8ba14c, CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+30 008b9f1c 4FF00009 mov.w sb, #0x0 008b9f20 07F18001 add.w r1, r7, #0x80 008b9f24 4FF00008 mov.w r8, #0x0 008b9f28 C3F6F079 movt sb, #0x3ff0 008b9f2c 3C1D adds r4, r7, #0x4 008b9f2e F358 ldr r3, [r6, r3] 008b9f30 2046 mov r0, r4 008b9f32 61E91E89 strd r8, sb, [r1, #-0x78]! 008b9f36 7B60 str r3, [r7, #0x4] 008b9f38 E6F4C4E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9f3c 6CA3 adr r3, #0x8ba0f0 008b9f3e D3E90023 ldrd r2, r3, [r3] 008b9f42 07F18001 add.w r1, r7, #0x80 008b9f46 2046 mov r0, r4 008b9f48 61E91C23 strd r2, r3, [r1, #-0x70]! 008b9f4c E6F4BAE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9f50 69A3 adr r3, #0x8ba0f8 008b9f52 D3E90023 ldrd r2, r3, [r3] 008b9f56 07F18001 add.w r1, r7, #0x80 008b9f5a 2046 mov r0, r4 008b9f5c 61E91A23 strd r2, r3, [r1, #-0x68]! 008b9f60 E6F4B0E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9f64 66A3 adr r3, #0x8ba100 008b9f66 D3E90023 ldrd r2, r3, [r3] 008b9f6a 07F18001 add.w r1, r7, #0x80 008b9f6e 2046 mov r0, r4 008b9f70 61E91823 strd r2, r3, [r1, #-0x60]! 008b9f74 E6F4A6E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9f78 43F23333 movw r3, #0x3333 008b9f7c 4FF03332 mov.w r2, #0x33333333 008b9f80 C3F6F373 movt r3, #0x3ff3 008b9f84 07F18001 add.w r1, r7, #0x80 008b9f88 2046 mov r0, r4 008b9f8a 61E91623 strd r2, r3, [r1, #-0x58]! 008b9f8e E6F49AE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9f92 5DA3 adr r3, #0x8ba108 008b9f94 D3E90023 ldrd r2, r3, [r3] 008b9f98 07F18001 add.w r1, r7, #0x80 008b9f9c 2046 mov r0, r4 008b9f9e 61E91423 strd r2, r3, [r1, #-0x50]! 008b9fa2 E6F490E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9fa6 0023 movs r3, #0x0 008b9fa8 0022 movs r2, #0x0 008b9faa C3F6F873 movt r3, #0x3ff8 008b9fae 07F18001 add.w r1, r7, #0x80 008b9fb2 2046 mov r0, r4 008b9fb4 61E91223 strd r2, r3, [r1, #-0x48]! 008b9fb8 E6F484E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9fbc 54A3 adr r3, #0x8ba110 008b9fbe D3E90023 ldrd r2, r3, [r3] 008b9fc2 07F18001 add.w r1, r7, #0x80 008b9fc6 2046 mov r0, r4 008b9fc8 61E91023 strd r2, r3, [r1, #-0x40]! 008b9fcc E6F47AE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9fd0 51A3 adr r3, #0x8ba118 008b9fd2 D3E90023 ldrd r2, r3, [r3] 008b9fd6 07F18001 add.w r1, r7, #0x80 008b9fda 2046 mov r0, r4 008b9fdc 61E90E23 strd r2, r3, [r1, #-0x38]! 008b9fe0 E6F470E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9fe4 0022 movs r2, #0x0 008b9fe6 4FF08043 mov.w r3, #0x40000000 008b9fea 07F18001 add.w r1, r7, #0x80 008b9fee 2046 mov r0, r4 008b9ff0 61E90C23 strd r2, r3, [r1, #-0x30]! 008b9ff4 E6F466E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008b9ff8 49A3 adr r3, #0x8ba120 008b9ffa D3E90023 ldrd r2, r3, [r3] 008b9ffe 07F18001 add.w r1, r7, #0x80 008ba002 2046 mov r0, r4 008ba004 61E90A23 strd r2, r3, [r1, #-0x28]! 008ba008 E6F45CE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008ba00c 46A3 adr r3, #0x8ba128 008ba00e D3E90023 ldrd r2, r3, [r3] 008ba012 07F18001 add.w r1, r7, #0x80 008ba016 2046 mov r0, r4 008ba018 61E90823 strd r2, r3, [r1, #-0x20]! 008ba01c E6F452E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008ba020 43A3 adr r3, #0x8ba130 008ba022 D3E90023 ldrd r2, r3, [r3] 008ba026 07F18001 add.w r1, r7, #0x80 008ba02a 2046 mov r0, r4 008ba02c 61E90623 strd r2, r3, [r1, #-0x18]! 008ba030 E6F448E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008ba034 40A3 adr r3, #0x8ba138 008ba036 D3E90023 ldrd r2, r3, [r3] ; DATA XREF=_ZNK28SubmitAnalyticsEventsRequest4typeEv+34, dword_7bdd4c 008ba03a 07F18001 add.w r1, r7, #0x80 008ba03e 2046 mov r0, r4 008ba040 61E90423 strd r2, r3, [r1, #-0x10]! 008ba044 E6F43EE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008ba048 0023 movs r3, #0x0 008ba04a 0022 movs r2, #0x0 008ba04c C4F20803 movt r3, #0x4008 008ba050 07F18001 add.w r1, r7, #0x80 008ba054 2046 mov r0, r4 008ba056 61E90223 strd r2, r3, [r1, #-0x8]! 008ba05a E6F434E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 008ba05e 3C48 ldr r0, =0xb13576 ; dword_8ba150,0xb13576 008ba060 2146 mov r1, r4 008ba062 7844 add r0, pc ; dword_13cd5dc 008ba064 0430 adds r0, #0x4 ; 0x13cd5e0 008ba066 D8F440EE blx _ZN5QListIdEC1ERKS0_@PLT ; QList::QList(QList const&) 008ba06a 3A4C ldr r4, =0xb1356c ; dword_8ba154,0xb1356c 008ba06c 7C44 add r4, pc ; dword_13cd5dc 008ba06e 2046 mov r0, r4 ; DATA XREF=_ZNK28SubmitAnalyticsEventsRequest7versionEv+4, dword_7bdc78 008ba070 F3F42CEB blx __cxa_guard_release@PLT ; __cxa_guard_release 008ba074 384B ldr r3, =0x22354 ; 0x22354,dword_8ba158 008ba076 201D adds r0, r4, #0x4 ; 0x13cd5e0 008ba078 384A ldr r2, =0xaf3f80 ; dword_8ba15c,0xaf3f80 008ba07a F158 ldr r1, [r6, r3] 008ba07c 7A44 add r2, pc ; dword_13ae000 008ba07e F9F46CEE blx __aeabi_atexit@PLT ; __aeabi_atexit 008ba082 D7F80480 ldr.w r8, [r7, #0x4] 008ba086 D8F80030 ldr.w r3, [r8] 008ba08a ABB9 cbnz r3, loc_8ba0b8 loc_8ba08c: 008ba08c D8F80860 ldr.w r6, [r8, #0x8] ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+502 008ba090 D8F80C40 ldr.w r4, [r8, #0xc] 008ba094 0436 adds r6, #0x4 008ba096 0434 adds r4, #0x4 008ba098 08EB8606 add.w r6, r8, r6, lsl #2 008ba09c 08EB8404 add.w r4, r8, r4, lsl #2 008ba0a0 A642 cmp r6, r4 008ba0a2 05D0 beq loc_8ba0b0 loc_8ba0a4: 008ba0a4 54F8040D ldr r0, [r4, #-0x4]! ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+458 008ba0a8 D0F448EA blx _ZdlPv@PLT ; operator delete(void*) 008ba0ac A642 cmp r6, r4 008ba0ae F9D1 bne loc_8ba0a4 loc_8ba0b0: 008ba0b0 4046 mov r0, r8 ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+446 008ba0b2 DAF42EEB blx _ZN9QListData7disposeEPNS_4DataE@PLT ; QListData::dispose(QListData::Data*) 008ba0b6 25E7 b loc_8b9f04 loc_8ba0b8: 008ba0b8 0133 adds r3, #0x1 ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+422, DATA XREF=_ZN6Device22calculateDeviceClassesEv+888, dword_828924 008ba0ba 3FF423AF beq.w loc_8b9f04 loc_8ba0be: 008ba0be 58E8003F ldrex r3, [r8] ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+490 008ba0c2 A3F10103 sub.w r3, r3, #0x1 008ba0c6 48E80032 strex r2, r3, [r8] 008ba0ca 92F0000F teq.w r2, #0x0 008ba0ce F6D1 bne loc_8ba0be 008ba0d0 002B cmp r3, #0x0 008ba0d2 7FF417AF bne.w loc_8b9f04 008ba0d6 D7F80480 ldr.w r8, [r7, #0x4] 008ba0da D7E7 b loc_8ba08c 008ba0dc 2046 mov r0, r4 008ba0de 06F596EE blx _ZN5QListIdED1Ev@PLT ; QList::~QList() 008ba0e2 1F48 ldr r0, =0xb134f4 ; dword_8ba160 008ba0e4 7844 add r0, pc 008ba0e6 CDF450EA blx __cxa_guard_abort@PLT ; __cxa_guard_abort 008ba0ea DDF414EF blx __cxa_end_cleanup@PLT ; __cxa_end_cleanup 008ba0ee 00BF nop 008ba0f0 CDCC ldm r4!, {r0, r2, r3, r6, r7} ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+88 008ba0f2 CCCC ldm r4!, {r2, r3, r6, r7} 008ba0f4 CCCC ldm r4!, {r2, r3, r6, r7} 008ba0f6 F03F subs r7, #0xf0 008ba0f8 1F85 strh r7, [r3, #0x28] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+108 008ba0fa EB51 str r3, [r5, r7] 008ba0fc B81E subs r0, r7, #0x2 008ba0fe F13F subs r7, #0xf1 008ba100 9A99 ldr r1, [sp, #0x268] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+128 008ba102 9999 ldr r1, [sp, #0x264] 008ba104 9999 ldr r1, [sp, #0x264] 008ba106 F13F subs r7, #0xf1 008ba108 9A99 ldr r1, [sp, #0x268] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+174 008ba10a 9999 ldr r1, [sp, #0x264] 008ba10c 9999 ldr r1, [sp, #0x264] 008ba10e F53F subs r7, #0xf5 008ba110 3333 adds r3, #0x33 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+216 008ba112 3333 adds r3, #0x33 008ba114 3333 adds r3, #0x33 008ba116 FB3F subs r7, #0xfb 008ba118 CDCC ldm r4!, {r0, r2, r3, r6, r7} ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+236 008ba11a CCCC ldm r4!, {r2, r3, r6, r7} 008ba11c CCCC ldm r4!, {r2, r3, r6, r7} 008ba11e FC3F subs r7, #0xfc 008ba120 9A99 ldr r1, [sp, #0x268] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+276 008ba122 9999 ldr r1, [sp, #0x264] 008ba124 9999 ldr r1, [sp, #0x264] 008ba126 0140 ands r1, r0 008ba128 3333 adds r3, #0x33 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+296 008ba12a 3333 adds r3, #0x33 008ba12c 3333 adds r3, #0x33 008ba12e 0340 ands r3, r0 008ba130 CDCC ldm r4!, {r0, r2, r3, r6, r7} ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+316 008ba132 CCCC ldm r4!, {r2, r3, r6, r7} 008ba134 CCCC ldm r4!, {r2, r3, r6, r7} 008ba136 0440 ands r4, r0 008ba138 6666 str r6, [r4, #0x64] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+336 008ba13a 6666 str r6, [r4, #0x64] 008ba13c 6666 str r6, [r4, #0x64] 008ba13e 0640 ands r6, r0 dword_8ba140: 008ba140 dd 0x00b136ea ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv dword_8ba144: 008ba144 dd 0x00ad1cfe ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+8 dword_8ba148: 008ba148 dd 0x00b136d0 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+32 dword_8ba14c: 008ba14c dd 0x00015844 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+54 dword_8ba150: 008ba150 dd 0x00b13576 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+378 dword_8ba154: 008ba154 dd 0x00b1356c ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+390 dword_8ba158: 008ba158 dd 0x00022354 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+400 dword_8ba15c: 008ba15c dd 0x00af3f80 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+404 dword_8ba160: 008ba160 dd 0x00b134f4 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+510 ``` ``` _ZNK15ReadingSettings17lineHeightScalarsEv: // ReadingSettings::lineHeightScalars() const 009ffc90 974B ldr r3, =0xcc5aae ; dword_9ffef0,0xcc5aae 009ffc92 2DE9F043 push.w {r4, r5, r6, r7, r8, sb, lr} 009ffc96 A1B0 sub sp, #0x84 009ffc98 964E ldr r6, =0xc8007a ; dword_9ffef4,0xc8007a 009ffc9a 7B44 add r3, pc ; dword_16c574c 009ffc9c 00AF add r7, sp, #0x0 009ffc9e 1A68 ldr r2, [r3] ; dword_16c574c 009ffca0 0546 mov r5, r0 009ffca2 7E44 add r6, pc ; dword_167fd20 009ffca4 D207 lsls r2, r2, #0x1f 009ffca6 03D4 bmi loc_9ffcb0 009ffca8 1846 mov r0, r3 009ffcaa 89F4A2E9 blx __cxa_guard_acquire@PLT ; __cxa_guard_acquire 009ffcae 50B9 cbnz r0, loc_9ffcc6 loc_9ffcb0: 009ffcb0 9149 ldr r1, =0xcc5a94 ; dword_9ffef8,0xcc5a94, CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+22, _ZNK15ReadingSettings17lineHeightScalarsEv+466, _ZNK15ReadingSettings17lineHeightScalarsEv+470, _ZNK15ReadingSettings17lineHeightScalarsEv+494 009ffcb2 2846 mov r0, r5 009ffcb4 7944 add r1, pc ; dword_16c574c 009ffcb6 0431 adds r1, #0x4 ; 0x16c5750 009ffcb8 72F45AEB blx _ZN5QListIdEC1ERKS0_@PLT ; QList::QList(QList const&) 009ffcbc 2846 mov r0, r5 009ffcbe 8437 adds r7, #0x84 009ffcc0 BD46 mov sp, r7 009ffcc2 BDE8F083 pop.w {r4, r5, r6, r7, r8, sb, pc} ; endp loc_9ffcc6: 009ffcc6 8D4B ldr r3, =0x17d70 ; 0x17d70,dword_9ffefc, CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+30 009ffcc8 4FF00009 mov.w sb, #0x0 009ffccc 07F18001 add.w r1, r7, #0x80 009ffcd0 4FF00008 mov.w r8, #0x0 009ffcd4 C3F6F079 movt sb, #0x3ff0 009ffcd8 3C1D adds r4, r7, #0x4 009ffcda F358 ldr r3, [r6, r3] 009ffcdc 2046 mov r0, r4 009ffcde 61E91E89 strd r8, sb, [r1, #-0x78]! 009ffce2 7B60 str r3, [r7, #0x4] 009ffce4 81F420E9 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffce8 6DA3 adr r3, #0x9ffea0 009ffcea D3E90023 ldrd r2, r3, [r3] 009ffcee 07F18001 add.w r1, r7, #0x80 009ffcf2 2046 mov r0, r4 009ffcf4 61E91C23 strd r2, r3, [r1, #-0x70]! 009ffcf8 81F416E9 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffcfc 6AA3 adr r3, #0x9ffea8 009ffcfe D3E90023 ldrd r2, r3, [r3] 009ffd02 07F18001 add.w r1, r7, #0x80 009ffd06 2046 mov r0, r4 009ffd08 61E91A23 strd r2, r3, [r1, #-0x68]! 009ffd0c 81F40CE9 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffd10 67A3 adr r3, #0x9ffeb0 009ffd12 D3E90023 ldrd r2, r3, [r3] 009ffd16 07F18001 add.w r1, r7, #0x80 009ffd1a 2046 mov r0, r4 009ffd1c 61E91823 strd r2, r3, [r1, #-0x60]! 009ffd20 81F402E9 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffd24 43F23333 movw r3, #0x3333 009ffd28 4FF03332 mov.w r2, #0x33333333 009ffd2c C3F6F373 movt r3, #0x3ff3 009ffd30 07F18001 add.w r1, r7, #0x80 009ffd34 2046 mov r0, r4 009ffd36 61E91623 strd r2, r3, [r1, #-0x58]! 009ffd3a 81F4F6E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffd3e 5EA3 adr r3, #0x9ffeb8 009ffd40 D3E90023 ldrd r2, r3, [r3] 009ffd44 07F18001 add.w r1, r7, #0x80 009ffd48 2046 mov r0, r4 009ffd4a 61E91423 strd r2, r3, [r1, #-0x50]! 009ffd4e 81F4ECE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffd52 0023 movs r3, #0x0 009ffd54 0022 movs r2, #0x0 009ffd56 C3F6F873 movt r3, #0x3ff8 009ffd5a 07F18001 add.w r1, r7, #0x80 009ffd5e 2046 mov r0, r4 009ffd60 61E91223 strd r2, r3, [r1, #-0x48]! 009ffd64 81F4E0E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffd68 55A3 adr r3, #0x9ffec0 009ffd6a D3E90023 ldrd r2, r3, [r3] 009ffd6e 07F18001 add.w r1, r7, #0x80 009ffd72 2046 mov r0, r4 009ffd74 61E91023 strd r2, r3, [r1, #-0x40]! 009ffd78 81F4D6E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffd7c 52A3 adr r3, #0x9ffec8 009ffd7e D3E90023 ldrd r2, r3, [r3] 009ffd82 07F18001 add.w r1, r7, #0x80 009ffd86 2046 mov r0, r4 009ffd88 61E90E23 strd r2, r3, [r1, #-0x38]! 009ffd8c 81F4CCE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffd90 0022 movs r2, #0x0 009ffd92 4FF08043 mov.w r3, #0x40000000 009ffd96 07F18001 add.w r1, r7, #0x80 009ffd9a 2046 mov r0, r4 009ffd9c 61E90C23 strd r2, r3, [r1, #-0x30]! 009ffda0 81F4C2E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffda4 4AA3 adr r3, #0x9ffed0 009ffda6 D3E90023 ldrd r2, r3, [r3] 009ffdaa 07F18001 add.w r1, r7, #0x80 009ffdae 2046 mov r0, r4 009ffdb0 61E90A23 strd r2, r3, [r1, #-0x28]! 009ffdb4 81F4B8E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffdb8 47A3 adr r3, #0x9ffed8 009ffdba D3E90023 ldrd r2, r3, [r3] 009ffdbe 07F18001 add.w r1, r7, #0x80 009ffdc2 2046 mov r0, r4 009ffdc4 61E90823 strd r2, r3, [r1, #-0x20]! 009ffdc8 81F4AEE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffdcc 44A3 adr r3, #0x9ffee0 009ffdce D3E90023 ldrd r2, r3, [r3] 009ffdd2 07F18001 add.w r1, r7, #0x80 009ffdd6 2046 mov r0, r4 009ffdd8 61E90623 strd r2, r3, [r1, #-0x18]! 009ffddc 81F4A4E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffde0 41A3 adr r3, #0x9ffee8 009ffde2 D3E90023 ldrd r2, r3, [r3] 009ffde6 07F18001 add.w r1, r7, #0x80 009ffdea 2046 mov r0, r4 009ffdec 61E90423 strd r2, r3, [r1, #-0x10]! 009ffdf0 81F49AE8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffdf4 0023 movs r3, #0x0 009ffdf6 0022 movs r2, #0x0 009ffdf8 C4F20803 movt r3, #0x4008 009ffdfc 07F18001 add.w r1, r7, #0x80 009ffe00 2046 mov r0, r4 009ffe02 61E90223 strd r2, r3, [r1, #-0x8]! 009ffe06 81F490E8 blx _ZN5QListIdE6appendERKd@PLT ; QList::append(double const&) 009ffe0a 3D48 ldr r0, =0xcc593a ; dword_9fff00,0xcc593a 009ffe0c 2146 mov r1, r4 009ffe0e 7844 add r0, pc ; dword_16c574c 009ffe10 0430 adds r0, #0x4 ; 0x16c5750 009ffe12 72F4AEEA blx _ZN5QListIdEC1ERKS0_@PLT ; QList::QList(QList const&) 009ffe16 3B4C ldr r4, =0xcc5930 ; dword_9fff04,0xcc5930 009ffe18 7C44 add r4, pc ; dword_16c574c 009ffe1a 2046 mov r0, r4 ; DATA XREF=_ZN15WirelessManager16onAboutToSuspendEP17PermissionRequest+108 009ffe1c 8FF4E4EE blx __cxa_guard_release@PLT ; __cxa_guard_release 009ffe20 394B ldr r3, =0x26218 ; 0x26218,dword_9fff08 009ffe22 201D adds r0, r4, #0x4 ; 0x16c5750 009ffe24 394A ldr r2, =0xca61d4 ; dword_9fff0c,0xca61d4 009ffe26 F158 ldr r1, [r6, r3] 009ffe28 7A44 add r2, pc ; dword_16a6000 009ffe2a 96F4F0EF blx __aeabi_atexit@PLT ; __aeabi_atexit 009ffe2e D7F80480 ldr.w r8, [r7, #0x4] 009ffe32 D8F80030 ldr.w r3, [r8] 009ffe36 ABB9 cbnz r3, loc_9ffe64 loc_9ffe38: 009ffe38 D8F80860 ldr.w r6, [r8, #0x8] ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+502 009ffe3c D8F80C40 ldr.w r4, [r8, #0xc] 009ffe40 0436 adds r6, #0x4 009ffe42 0434 adds r4, #0x4 009ffe44 08EB8606 add.w r6, r8, r6, lsl #2 009ffe48 08EB8404 add.w r4, r8, r4, lsl #2 009ffe4c A642 cmp r6, r4 009ffe4e 05D0 beq loc_9ffe5c loc_9ffe50: 009ffe50 54F8040D ldr r0, [r4, #-0x4]! ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+458 009ffe54 68F4BAEF blx _ZdlPv@PLT ; operator delete(void*) 009ffe58 A642 cmp r6, r4 009ffe5a F9D1 bne loc_9ffe50 loc_9ffe5c: 009ffe5c 4046 mov r0, r8 ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+446 009ffe5e 74F4E0E8 blx _ZN9QListData7disposeEPNS_4DataE@PLT ; QListData::dispose(QListData::Data*) 009ffe62 25E7 b loc_9ffcb0 loc_9ffe64: 009ffe64 0133 adds r3, #0x1 ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+422 009ffe66 3FF423AF beq.w loc_9ffcb0 loc_9ffe6a: 009ffe6a 58E8003F ldrex r3, [r8] ; CODE XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+490 009ffe6e A3F10103 sub.w r3, r3, #0x1 009ffe72 48E80032 strex r2, r3, [r8] 009ffe76 92F0000F teq.w r2, #0x0 009ffe7a F6D1 bne loc_9ffe6a 009ffe7c 002B cmp r3, #0x0 009ffe7e 7FF417AF bne.w loc_9ffcb0 009ffe82 D7F80480 ldr.w r8, [r7, #0x4] 009ffe86 D7E7 b loc_9ffe38 009ffe88 2046 mov r0, r4 009ffe8a A5F4DAE9 blx _ZN5QListIdED1Ev@PLT ; QList::~QList() 009ffe8e 2048 ldr r0, =0xcc58b8 ; dword_9fff10 009ffe90 7844 add r0, pc 009ffe92 65F4EEEC blx __cxa_guard_abort@PLT ; __cxa_guard_abort 009ffe96 77F4F6EF blx __cxa_end_cleanup@PLT ; __cxa_end_cleanup 009ffe9a 00BF nop 009ffe9c AFF30080 nop.w 009ffea0 CDCC ldm r4!, {r0, r2, r3, r6, r7} ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+88 009ffea2 CCCC ldm r4!, {r2, r3, r6, r7} 009ffea4 CCCC ldm r4!, {r2, r3, r6, r7} 009ffea6 F03F subs r7, #0xf0 009ffea8 1F85 strh r7, [r3, #0x28] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+108 009ffeaa EB51 str r3, [r5, r7] ; DATA XREF=_ZN20BookSearchControllerC1E14QSharedPointerI17LibraryDataSourceI8BookmarkEERK7QStringRK6Volume+12, dword_c80120 009ffeac B81E subs r0, r7, #0x2 009ffeae F13F subs r7, #0xf1 009ffeb0 9A99 ldr r1, [sp, #0x268] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+128 009ffeb2 9999 ldr r1, [sp, #0x264] 009ffeb4 9999 ldr r1, [sp, #0x264] 009ffeb6 F13F subs r7, #0xf1 009ffeb8 9A99 ldr r1, [sp, #0x268] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+174 009ffeba 9999 ldr r1, [sp, #0x264] 009ffebc 9999 ldr r1, [sp, #0x264] 009ffebe F53F subs r7, #0xf5 009ffec0 3333 adds r3, #0x33 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+216 009ffec2 3333 adds r3, #0x33 009ffec4 3333 adds r3, #0x33 009ffec6 FB3F subs r7, #0xfb 009ffec8 CDCC ldm r4!, {r0, r2, r3, r6, r7} ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+236 009ffeca CCCC ldm r4!, {r2, r3, r6, r7} 009ffecc CCCC ldm r4!, {r2, r3, r6, r7} 009ffece FC3F subs r7, #0xfc 009ffed0 9A99 ldr r1, [sp, #0x268] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+276 009ffed2 9999 ldr r1, [sp, #0x264] 009ffed4 9999 ldr r1, [sp, #0x264] 009ffed6 0140 ands r1, r0 009ffed8 3333 adds r3, #0x33 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+296 009ffeda 3333 adds r3, #0x33 009ffedc 3333 adds r3, #0x33 009ffede 0340 ands r3, r0 009ffee0 CDCC ldm r4!, {r0, r2, r3, r6, r7} ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+316 009ffee2 CCCC ldm r4!, {r2, r3, r6, r7} 009ffee4 CCCC ldm r4!, {r2, r3, r6, r7} 009ffee6 0440 ands r4, r0 009ffee8 6666 str r6, [r4, #0x64] ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+336 009ffeea 6666 str r6, [r4, #0x64] 009ffeec 6666 str r6, [r4, #0x64] 009ffeee 0640 ands r6, r0 dword_9ffef0: 009ffef0 dd 0x00cc5aae ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv dword_9ffef4: 009ffef4 dd 0x00c8007a ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+8 dword_9ffef8: 009ffef8 dd 0x00cc5a94 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+32 dword_9ffefc: 009ffefc dd 0x00017d70 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+54 dword_9fff00: 009fff00 dd 0x00cc593a ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+378 dword_9fff04: 009fff04 dd 0x00cc5930 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+390 dword_9fff08: 009fff08 dd 0x00026218 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+400 dword_9fff0c: 009fff0c dd 0x00ca61d4 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+404 dword_9fff10: 009fff10 dd 0x00cc58b8 ; DATA XREF=_ZNK15ReadingSettings17lineHeightScalarsEv+510 ```
jackiew1 commented 9 months ago

Looks like the 24 line spacing patch fix will be relatively trivial; a nop just made its way into the middle for alignment, so I'll need to recompute all the hardcoded offsets.

Tested, seems fine. Sent you a MR PM.

pgaskin commented 9 months ago

Released: v84, MR:thread-356106.

pgaskin commented 9 months ago
$ git diff v83:src/versions/4.37.21586 v84:src/versions/4.38.21908 ```diff diff --git a/libadobe.so.yaml/pgaskin.yaml b/libadobe.so.yaml/pgaskin.yaml index f892ff8..14ee20e 100644 --- a/libadobe.so.yaml/pgaskin.yaml +++ b/libadobe.so.yaml/pgaskin.yaml @@ -6,5 +6,5 @@ Remove PDF map widget shown during panning: - BaseAddress: {Sym: "N3AdobeReader::showMapWidget()"} # tail: N3AdobeReader::updatePanningMap() -> N3AdobeReader::hideMapWidget() # TODO: figure out what broke the plt parsing in kobopatch for libadobe in 18730+ - - ReplaceBytes: {Offset: 80, FindInstBW: 0x1C1DC, ReplaceInstBW: 0x1B4D4} - - ReplaceBytes: {Offset: 192, FindInstBW: 0x1C1DC, ReplaceInstBW: 0x1B4D4} + - ReplaceBytes: {Offset: 80, FindInstBW: 0x1C224, ReplaceInstBW: 0x1B51C} + - ReplaceBytes: {Offset: 192, FindInstBW: 0x1C224, ReplaceInstBW: 0x1B51C} diff --git a/libnickel.so.1.0.0.yaml/geoffr.yaml b/libnickel.so.1.0.0.yaml/geoffr.yaml index d14f644..4ea5a07 100644 --- a/libnickel.so.1.0.0.yaml/geoffr.yaml +++ b/libnickel.so.1.0.0.yaml/geoffr.yaml @@ -51,7 +51,7 @@ My 24 line spacing values: - ReplaceBytes: {Offset: 20, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # clear out the BLX - ReplaceBytes: {Offset: 0, FindH: 00 00, ReplaceH: A9 46} # mov sb, r5 - ReplaceBytes: {Offset: 2, FindH: 00 00, ReplaceH: 00 25} # mov r5, #0 - - ReplaceBytes: {Offset: 4, FindH: 6C A3, ReplaceH: ED 00} # lsls r5, r5, #3 + - ReplaceBytes: {Offset: 4, FindH: 6D A3, ReplaceH: ED 00} # lsls r5, r5, #3 # loop to load 14 vals from new table - ReplaceBytes: {Offset: 6, FindH: D3 E9, ReplaceH: 20 46} # mov r0, r4 - ReplaceBytes: {Offset: 8, FindH: 00 23, ReplaceH: 04 A1} # adr r1, #0x10 @@ -62,7 +62,7 @@ My 24 line spacing values: - ReplaceBytes: {Offset: 20, FindH: 00 00, ReplaceH: F7 D1} # bne #-10 # jump to the rest of the new code - ReplaceBytes: {Offset: 22, FindH: 00 00, ReplaceH: 7B E0} # b #250 (356 − (84 + 22)) - - ReplaceBytes: {Offset: 24, FindH: 69 A3 D3 E9, ReplaceInstNOP: true} # unused + - ReplaceBytes: {Offset: 24, FindH: 6A A3 D3 E9, ReplaceInstNOP: true} # unused # new table: 14 8-aligned doubles - BaseAddress: {Sym: "ReadingSettings::lineHeightScalars() const", Rel: 112} # right after previous instruction (84 + 24 + 4) - ReplaceBytes: {Offset: 12, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # first, clear out the BLXs in the way @@ -70,20 +70,20 @@ My 24 line spacing values: - ReplaceBytes: {Offset: 58, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} - ReplaceBytes: {Offset: 78, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} - ReplaceBytes: {Offset: 100, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} - - ReplaceBytes: {Offset: 0, FindH: 00 23 07 F1 80 01 20 46, ReplaceH: 00 00 00 00 00 00 F0 3F} # table of 1.0f values, to be replaced later + - ReplaceBytes: {Offset: 0, FindH: 00 23 07 f1 80 01 20 46, ReplaceH: 00 00 00 00 00 00 F0 3F} # table of 1.0f values, to be replaced later - ReplaceBytes: {Offset: 8, FindH: 61 E9 1A 23 00 00 00 00, ReplaceH: 00 00 00 00 00 00 F0 3F} - - ReplaceBytes: {Offset: 16, FindH: 66 A3 D3 E9 00 23 07 F1, ReplaceH: 00 00 00 00 00 00 F0 3F} + - ReplaceBytes: {Offset: 16, FindH: 67 A3 D3 E9 00 23 07 F1, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 24, FindH: 80 01 20 46 61 E9 18 23, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 32, FindH: 00 00 00 00 43 F2 33 33, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 40, FindH: 4F F0 33 32 C3 F6 F3 73, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 48, FindH: 07 F1 80 01 20 46 61 E9, ReplaceH: 00 00 00 00 00 00 F0 3F} - - ReplaceBytes: {Offset: 56, FindH: 16 23 00 00 00 00 5D A3, ReplaceH: 00 00 00 00 00 00 F0 3F} + - ReplaceBytes: {Offset: 56, FindH: 16 23 00 00 00 00 5E A3, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 64, FindH: D3 E9 00 23 07 F1 80 01, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 72, FindH: 20 46 61 E9 14 23 00 00, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 80, FindH: 00 00 00 23 00 22 C3 F6, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 88, FindH: F8 73 07 F1 80 01 20 46, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 96, FindH: 61 E9 12 23 00 00 00 00, ReplaceH: 00 00 00 00 00 00 F0 3F} - - ReplaceBytes: {Offset: 104, FindH: 54 A3 D3 E9 00 23 07 F1, ReplaceH: 00 00 00 00 00 00 F0 3F} + - ReplaceBytes: {Offset: 104, FindH: 55 A3 D3 E9 00 23 07 F1, ReplaceH: 00 00 00 00 00 00 F0 3F} # jump target after table - BaseAddress: {Sym: "ReadingSettings::lineHeightScalars() const", Rel: 356} # starting right after the second-last QList::append(double const&) - ReplaceBytes: {Offset: 18, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # clear the BLX in the way of the last two replacements @@ -91,7 +91,7 @@ My 24 line spacing values: - ReplaceBytes: {Offset: 0, FindH: 00 23, ReplaceH: 00 25} # movs r5, #0 # loop to load 10 vals from old table (CDCC CCCC CCCC F03F 1F85) - ReplaceBytes: {Offset: 2, FindH: 00 22, ReplaceH: 20 46} # mov r0, r4 - - ReplaceBytes: {Offset: 4, FindH: C4 F2 08 03, ReplaceH: 0F F2 A0 01} # adr.w r1, #164 (old_table_start - (356 + 4) = 524 - 360) + - ReplaceBytes: {Offset: 4, FindH: C4 F2 08 03, ReplaceH: 0F F2 A4 01} # adr.w r1, #168 (old_table_start - (356 + 4) = 524 - 360) - ReplaceBytes: {Offset: 8, FindH: 07 F1, ReplaceH: 29 44} # add r1, r5 - ReplaceBytes: {Offset: 10, FindH: 80 01 20 46, ReplaceInstBLX: {SymPLT: "QList::append(double const&)"}} - ReplaceBytes: {Offset: 14, FindH: 61 E9, ReplaceH: 08 35} # adds r5, #8 (sizeof(double)) diff --git a/libnickel.so.1.0.0.yaml/jackie_w.yaml b/libnickel.so.1.0.0.yaml/jackie_w.yaml index c417904..3a3e8f3 100644 --- a/libnickel.so.1.0.0.yaml/jackie_w.yaml +++ b/libnickel.so.1.0.0.yaml/jackie_w.yaml @@ -24,10 +24,10 @@ Dictionary text font-family/font-size/line-height: GloHD - serif (Georgia) 32px 1.4em AuraONE - serif (Georgia) 42px 1.4em - # Stage 1: Change DictionaryView to remove %variables + # Stage 1: Change DictionaryView to remove some %variables # from: # body { padding-left: %3px; } - # body { font: %1px serif; line-height: 1.4em; } + # body { font: %1px %4, serif; line-height: 1.4em; } # span.word { font-weight: bold; font-size: 130%; margin-left: -%3px; } # div.descriptionFont { font-family: serif; } # ol { font-size: %1px; margin-left: %2em; margin-top: 0px; } @@ -37,7 +37,7 @@ Dictionary text font-family/font-size/line-height: # .sc, .sc * { font-variant: small-caps; } # .block, .border { border-radius: 3px; padding: 0em .2em; font-size: 90%; } # to: - # body {font-size:%1px; line-height:1.40em; font-family:serif ;} + # body {font-size:%1px; line-height:1.40em; font-family:%4, serif ;} # body {padding-left:0.5em} # span.word {font-weight:bold; font-size:130%; margin-left:-0.3em} # ol {margin-left:1em; margin-top:0} @@ -50,8 +50,8 @@ Dictionary text font-family/font-size/line-height: # ##### N.B. Do not change the next 4 lines ##### - FindReplaceString: - Find: "body { padding-left: %3px; }\nbody { font: %1px serif; line-height: 1.4em; }\nspan.word { font-weight: bold; font-size: 130%; margin-left: -%3px; }\ndiv.descriptionFont { font-family: serif; }\nol { font-size: %1px; margin-left: %2em; margin-top: 0px; }\nol p { font-size: %1px; }\ni, i * { font-style: italic; }\nb, b * { font-weight: bold; }\n.sc, .sc * { font-variant: small-caps; }\n.block, .border { border-radius: 3px; padding: 0em .2em; font-size: 90%; }\n" - Replace: "body {font-size:%1px; line-height:1.40em; font-family:serif ;}\nbody {padding-left:0.5em}\nspan.word {font-weight:bold; font-size:130%; margin-left:-0.3em}\nol {margin-left:1em; margin-top:0}\nblockquote {margin:.3em 0 .3em 1em}\nblockquote>blockquote {margin:-.3em 0 0 2em}\ni, i * {font-style:italic}\nb, b * {font-weight:bold}\n.sc, .sc * {font-variant:small-caps}\n.block, .border {border-radius:3px; padding:0 .2em; font-size:90%}\n" + Find: "body { padding-left: %3px; }\nbody { font: %1px %4, serif; line-height: 1.4em; }\nspan.word { font-weight: bold; font-size: 130%; margin-left: -%3px; }\ndiv.descriptionFont { font-family: serif; }\nol { font-size: %1px; margin-left: %2em; margin-top: 0px; }\nol p { font-size: %1px; }\ni, i * { font-style: italic; }\nb, b * { font-weight: bold; }\n.sc, .sc * { font-variant: small-caps; }\n.block, .border { border-radius: 3px; padding: 0em .2em; font-size: 90%; }\n" + Replace: "body {font-size:%1px; line-height:1.40em; font-family:%4, serif ;}\nbody {padding-left:0.5em}\nspan.word {font-weight:bold; font-size:130%; margin-left:-0.3em}\nol {margin-left:1em; margin-top:0}\nblockquote {margin:.3em 0 .3em 1em}\nblockquote>blockquote {margin:-.3em 0 0 2em}\ni, i * {font-style:italic}\nb, b * {font-weight:bold}\n.sc, .sc * {font-variant:small-caps}\n.block, .border {border-radius:3px; padding:0 .2em; font-size:90%}\n" MustMatchLength: yes # ##### N.B. Do not change anything above this line ##### @@ -61,10 +61,10 @@ Dictionary text font-family/font-size/line-height: # The first example will use the default sans-serif font, i.e. Avenir for most non-CJK GUI language locales # Un-comment ONE ONLY of the following 4 ReplaceString examples - #- ReplaceString: {Offset: 54, Find: "serif ", Replace: "sans-serif", MustMatchLength: yes} - #- ReplaceString: {Offset: 54, Find: "serif ", Replace: "'KBJ-TsukuMin Pr6N RB'", MustMatchLength: yes} - #- ReplaceString: {Offset: 54, Find: "serif ", Replace: "'KBJ-UDKakugo Pr6N M'", MustMatchLength: yes} - #- ReplaceString: {Offset: 54, Find: "serif ", Replace: "'AR UDJingxihei'", MustMatchLength: yes} + #- ReplaceString: {Offset: 54, Find: "%4, serif ", Replace: "sans-serif", MustMatchLength: yes} + #- ReplaceString: {Offset: 54, Find: "%4, serif ", Replace: "'KBJ-TsukuMin Pr6N RB'", MustMatchLength: yes} + #- ReplaceString: {Offset: 54, Find: "%4, serif ", Replace: "'KBJ-UDKakugo Pr6N M'", MustMatchLength: yes} + #- ReplaceString: {Offset: 54, Find: "%4, serif ", Replace: "'AR UDJingxihei'", MustMatchLength: yes} # Un-comment and edit next line to change font-size #- ReplaceString: {Offset: 16, Find: "%1px", Replace: "32px", MustMatchLength: yes} diff --git a/libnickel.so.1.0.0.yaml/pgaskin.yaml b/libnickel.so.1.0.0.yaml/pgaskin.yaml index 8ac9e41..849549f 100644 --- a/libnickel.so.1.0.0.yaml/pgaskin.yaml +++ b/libnickel.so.1.0.0.yaml/pgaskin.yaml @@ -80,7 +80,7 @@ Hide browser from beta features: - Description: Hides the built-in browser from beta features. - ReplaceBytes: Base: "N3SettingsExtrasView::N3SettingsExtrasView(QWidget*)" - Offset: 1516 + Offset: 1524 FindInstBLX: {SymPLT: "Device::isParentalControlEnabled() const"} ReplaceH: 4F F0 01 00 - ReplaceBytes: @@ -285,14 +285,14 @@ Never show Kobo Plus, wishlist, and points SmartLinks: - Description: Removes Kobo Plus, wishlist, and points SmartLinks from the rotation. - BaseAddress: "ActivityManager::smartLinkGeneralMessage(Device const&)" # NOP Kobo Plus (2): - - ReplaceBytes: {Offset: 634, FindH: 02 23, CheckOnly: true} # MOVS r3, #2 - - ReplaceBytes: {Offset: 644, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} + - ReplaceBytes: {Offset: 310, FindH: 02 23, CheckOnly: true} # MOVS r3, #2 + - ReplaceBytes: {Offset: 320, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} # NOP wishlist (14): - - ReplaceBytes: {Offset: 608, FindH: 0E 23, CheckOnly: true} # MOVS r3, #14 - - ReplaceBytes: {Offset: 618, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} + - ReplaceBytes: {Offset: 284, FindH: 0E 23, CheckOnly: true} # MOVS r3, #14 + - ReplaceBytes: {Offset: 294, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} # NOP super points (17): - - ReplaceBytes: {Offset: 1492, FindH: 11 23, CheckOnly: true} # MOVS r3, #17 - - ReplaceBytes: {Offset: 1504, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} + - ReplaceBytes: {Offset: 1514, FindH: 11 23, CheckOnly: true} # MOVS r3, #17 + - ReplaceBytes: {Offset: 1526, FindInstBLX: {SymPLT: "QVector::append(SmartLinkType const&)"}, ReplaceInstNOP: true} ### @@ -522,7 +522,7 @@ Customize ComfortLight settings: # In an unnamed subroutine two layers into FrontLightPopupController::loadView # (find it by going back from QTime::addSecs), the times for the dropdown are # generated into a QVector> with a simple loop. - - BaseAddress: 0xE7D464 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii + - BaseAddress: 0xE82E2C # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii # # Change the initial hour / first bedtime dropdown item passed to the QTime # constructor (mov r1, #21): diff --git a/nickel.yaml/pgaskin.yaml b/nickel.yaml/pgaskin.yaml index a6fda61..1dc4c77 100644 --- a/nickel.yaml/pgaskin.yaml +++ b/nickel.yaml/pgaskin.yaml @@ -15,7 +15,7 @@ Remove forgot pin button from lock screen: Removes the Forgot PIN -> Sign Out button from the lock screen. If this is enabled and you forget your pin, you will need to hard reset your Kobo. - - BaseAddress: 0x19460E3 # qss/PinCodeInputDialog.qss + - BaseAddress: 0x1972E04 # qss/PinCodeInputDialog.qss - ReplaceZlib: Find: "#lblForgotPin[qApp_deviceIsDragon=true],\n#lblSignOut[qApp_deviceIsDragon=true] {\n font-size: 26px;\n}" Replace: "#lblForgotPin,#lblSignOut{qproperty-visible:false;}" @@ -23,7 +23,7 @@ Remove forgot pin button from lock screen: Increase size of kepub chapter progress chart: - Enabled: no - Description: Originally by oren64, rewritten for 4.16.13337 by pgaskin (geek1011). - - BaseAddress: 0x194EE6F # qss/ReadingMenuStatsView.qss + - BaseAddress: 0x196E0F6 # qss/ReadingMenuStatsView.qss - ReplaceZlibGroup: Replacements: # Top padding is already set to 15px, 25px, 33px, vertical aligned to middle. ```