Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patches for 4.38.21908 #127

Closed
10 tasks done
pgaskin opened this issue Sep 7, 2023 · 9 comments
Closed
10 tasks done

Patches for 4.38.21908 #127

pgaskin opened this issue Sep 7, 2023 · 9 comments
Assignees
Labels
firmware release Category: Updating patches for a new release.

Comments

@pgaskin
Copy link
Owner

pgaskin commented Sep 7, 2023

Also see #126.

@pgaskin pgaskin added the firmware release Category: Updating patches for a new release. label Sep 7, 2023
pgaskin added a commit to pgaskin/kobopatch-testdata that referenced this issue Sep 7, 2023
@pgaskin
Copy link
Owner Author

pgaskin commented Sep 7, 2023

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
Copy link
Owner Author

pgaskin commented Sep 7, 2023

  /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"

pgaskin added a commit that referenced this issue Sep 7, 2023
Notable changes:
- A few patches needed extra offset updates.
- Verified SmartLink information.

Missing:
- "My 24 line spacing values" needs a partial rewrite.
- "Dictionary text font-family/font-size/line-height" needs to be updated for new strings.
jackiew1 added a commit that referenced this issue Sep 7, 2023
correction for minor change to font-family CSS #127
@jackiew1
Copy link
Collaborator

jackiew1 commented Sep 7, 2023

@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
Copy link
Collaborator

jackiew1 commented Sep 7, 2023

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

@pgaskin
Copy link
Owner Author

pgaskin commented Sep 8, 2023

I'll need to add a post

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

@pgaskin
Copy link
Owner Author

pgaskin commented Sep 11, 2023

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<double>::QList(QList<double> 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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::QList(QList<double> 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<double>::~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<double>::QList(QList<double> 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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::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<double>::QList(QList<double> 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<double>::~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

pgaskin added a commit that referenced this issue Sep 11, 2023
A stray 4-byte nop made its way into the function, probably for alignment.
@jackiew1
Copy link
Collaborator

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
Copy link
Owner Author

pgaskin commented Sep 11, 2023

Released: v84, MR:thread-356106.

@pgaskin pgaskin closed this as completed Sep 11, 2023
@pgaskin
Copy link
Owner Author

pgaskin commented Sep 11, 2023

$ git diff v83:src/versions/4.37.21586 v84:src/versions/4.38.21908
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<double>::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<double>::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<double>::append(double const&)"}, ReplaceH: 00 00 00 00}
   - ReplaceBytes: {Offset:  78, FindInstBLX: {SymPLT: "QList<double>::append(double const&)"}, ReplaceH: 00 00 00 00}
   - ReplaceBytes: {Offset: 100, FindInstBLX: {SymPLT: "QList<double>::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<double>::append(double const&)
   - ReplaceBytes: {Offset: 18, FindInstBLX: {SymPLT: "QList<double>::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<double>::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<SmartLinkType>::append(SmartLinkType const&)"}, ReplaceInstNOP: true}
+  - ReplaceBytes: {Offset: 310, FindH: 02 23, CheckOnly: true} # MOVS r3, #2
+  - ReplaceBytes: {Offset: 320, FindInstBLX: {SymPLT: "QVector<SmartLinkType>::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<SmartLinkType>::append(SmartLinkType const&)"}, ReplaceInstNOP: true}
+  - ReplaceBytes: {Offset: 284, FindH: 0E 23, CheckOnly: true} # MOVS r3, #14
+  - ReplaceBytes: {Offset: 294, FindInstBLX: {SymPLT: "QVector<SmartLinkType>::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<SmartLinkType>::append(SmartLinkType const&)"}, ReplaceInstNOP: true}
+  - ReplaceBytes: {Offset: 1514, FindH: 11 23, CheckOnly: true} # MOVS r3, #17
+  - ReplaceBytes: {Offset: 1526, FindInstBLX: {SymPLT: "QVector<SmartLinkType>::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<QPair<QString, QTime>> 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
firmware release Category: Updating patches for a new release.
Projects
None yet
Development

No branches or pull requests

3 participants