| 
			
			 | 
		#1 | 
| 
			
			
			
			 Member 
			
			![]() Posts: 18 
				Karma: 10 
				Join Date: Jan 2025 
				
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
			
			 
				
				Issues patching 4.38.23429
			 
			
			
			Has anyone had any luck patching firmware 4.38.23429 with KoboPatch? 
		
	
		
		
		
		
		
		
		
		
		
		
		
			I thought the new one would be the same as the old one - just figuring out what BaseAddress and Offset changes are needed. I got one working - "Customize ComfortLight settings". Decompiled the new source and found the new base address: Code: 
	- BaseAddress: 0xE91D74 Code: 
	Error: could not apply patch "Don't uppercase header/footer text": 
line 1232: inst 4: ReplaceBytes: expand FindInstBLX=kobopatch.FlexAbsOffset{Offset:(*int32)(nil), 
Sym:(*string)(nil), SymPLT:(*string)(0x11ea5430), SymPLTTail:(*string)(nil), 
Inline:false, Rel:(*int32)(nil)}:
ResolveSymPLT("QString::toUpper() const"): 
get dynsyms: load syms (pltgot: true): 
decode plt: parse .plt: at 0x65F0AC: more than 32 bytes of junk at start of PLT, 
cur ["LDR.GT R0, [R0], -R3, LSL #2" "B.GT PC+0xd78a3c" "BLX PC+0x1c38a30" "ADD R12, PC, #0x10, 12" "ADD R12, R12, #0x35000" "LDR PC, [R12, #2664]!"]
I get a similar error whenever I enable any patch that uses 'FindInstBLX' with 'SymPLT'. The 'SymPLT' line is the one I'm always seeing the error on, at least on the ones I've checked so far. Has anyone else had any luck patching this version? Last edited by AsherMaximum; 09-02-2025 at 05:20 PM.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#2 | 
| 
			
			
			
			 Resident Curmudgeon 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 80,782 
				Karma: 150249619 
				Join Date: Nov 2006 
				Location: Roslindale, Massachusetts 
				
				
				Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			It could be just that the offset if moved. That's what happened with some of the patches in the previous firmware.
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#3 | 
| 
			
			
			
			 Guru 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 682 
				Karma: 8196132 
				Join Date: Apr 2019 
				Location: East Coast, United States 
				
				
				Device: Kobo Sage, Kobo Clara HD, Galaxy Tab S5e, Kindle 4th Gen 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Is that usually an intentional change from Kobo to defeat patching? Or is it just a side effect that whatever code they added made the compiler move some stuff around when it compiled?
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#4 | 
| 
			
			
			
			 Wizard 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,777 
				Karma: 16319690 
				Join Date: Sep 2022 
				
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			It's the latter. Every time Kobo makes a change that adds or removes code, the compiled library is going to be a different size with different offsets for many functions.
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#5 | 
| 
			
			
			
			 Member 
			
			![]() Posts: 18 
				Karma: 10 
				Join Date: Jan 2025 
				
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			This one is not an offset change, I looked up the function in both the old and the new firmware (4.38.23171 & 4.38.23429), and the offset for the changed line is the same. 
		
	
		
		
		
		
		
		
		
		
		
		
	
	In 4.38.23171, the "ReadingView::getChapterTitle()" function starts at 00f48ca8, and the line to be replaced ("QString::toUpper() const") starts at 00f48dd2, for an offset of 298 In 4.38.23429 the "ReadingView::getChapterTitle()" function starts at 00f50b98, and the line to be replaced starts at 00f50cc2, for the same offset of 298. There's no changes to the getChapterTitle() function. Something about the SymPLT is what is failing I believe - I haven't got any of the ones with that replacement method to work.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#6 | 
| 
			
			
			
			 Member 
			
			![]() Posts: 18 
				Karma: 10 
				Join Date: Jan 2025 
				
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Also, based on the error message KoboPatch is throwing, it sounds like it is having trouble parsing the PLT, and is exiting out due to that: 
		
	
		
		
		
		
		
		
		
		
		
		
	
	Code: 
	decode plt: parse .plt: at 0x65F0AC: more than 32 bytes of junk at start of PLT  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#7 | |
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,269 
				Karma: 16544702 
				Join Date: Sep 2009 
				Location: UK 
				
				
				Device: ClaraHD, Forma, Libra2, Clara2E, LibraCol, PBTouchHD3 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 I have successfully installed v4.38.23429 on both an AuraOne and a Clara2E. The only libnickel.so.1.0.0.yaml patches I use which didn't work all contain FindInstBLX/SymPLT: 
 However, here's an extra piece of information. I also successfully installed v4.43.23418 on a LibraColour. The above patches all worked OK as-is, except for My 24 line spacing values which has never worked on any of the firmware versions for the LibraColour (4.39.x, 4.4x.x). Fortunately, patch My 10 line spacing values has always worked on all of these firmwares. So it seems that whatever problem exists with the FindInstBLX/SymPLT combo it's only a problem in v4.38.23429. All my nickel.yaml patches work as-is. These 2 need new offsets, but that's always been true for every fw upgrade: 
 Last edited by jackie_w; 09-02-2025 at 08:44 PM.  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#8 | 
| 
			
			
			
			 Resident Curmudgeon 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 80,782 
				Karma: 150249619 
				Join Date: Nov 2006 
				Location: Roslindale, Massachusetts 
				
				
				Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			These are the patches I use that don't work as is. I hope it's just a matter of needing a new offset. There could be other patches that do not work. But from my long list of patches, these are the ones that do not work. 
		
	
		
		
		
		
		
		
		
		
		
		
	
	The patches in bold are the ones I really would like to get working. Thanks to anyone who can help. ibnickel.so.1.0.0.yaml Allow rotation on all devices Don't uppercase header/footer text and change page number text FeatureSettings - BookSpecificStats FeatureSettings - ShowFacebookShare My 24 line spacing values My 10 line spacing values Replace adobe page numbers toggle with invert screen Set KePub hyphenation Unify font sizes librmsdk.so.1.0.0.yaml Increase size of kepub chapter progress chart  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#9 | 
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,269 
				Karma: 16544702 
				Join Date: Sep 2009 
				Location: UK 
				
				
				Device: ClaraHD, Forma, Libra2, Clara2E, LibraCol, PBTouchHD3 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			@JSWolf, re: fw 4.38.23429 patches 
		
	
		
		
		
		
		
		
		
		
		
		
		
			libnickel.so.1.0.0.yaml FeatureSettings - BookSpecificStats I've never used this patch but the following works if you manually edit the Kobo conf file. Code: 
	[FeatureSettings] BookSpecificStats=true I've never used Facebook, but maybe it has a similar workaround to the one above. Allow rotation on all devices Once again, a manual edit of the Kobo conf file works on my Clara2E. Code: 
	[DeveloperSettings] ForceAllowLandscape=true I can't help with the next 4 as they're also in my 'not working' list. It may be the presence of the FindInstBLX/SymPLT combo as raised earlier by @AsherMaximum 
 I don't use them but these 2 also use the FindInstBLX/SymPLT combo. 
 nickel.yaml (i.e. not librmsdk.so.1.0.0.yaml as per your post) Increase size of kepub chapter progress chart Try this hex location: Code: 
	- BaseAddress: 0x19A1644 # qss/ReadingMenuStatsView.qss Last edited by jackie_w; 09-03-2025 at 08:34 AM.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#10 | |
| 
			
			
			
			 Resident Curmudgeon 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 80,782 
				Karma: 150249619 
				Join Date: Nov 2006 
				Location: Roslindale, Massachusetts 
				
				
				Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 
 I'll try the KePub progress chart new offset and see if it works. Thank you.  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#11 | 
| 
			
			
			
			 Wizard 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,777 
				Karma: 16319690 
				Join Date: Sep 2022 
				
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			IIRC pgaskin said somewhere on the kobopatch GitHub that "My 24 line spacing values" would need to be rewritten, since it's a complex assembly mod that replaces the entire line spacing function, and the old patch doesn't work with current firmware. "My 10 line spacing values" would probably be easier to port, since it disables most of the code and uses a static table of 10 floats, instead.
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#12 | |
| 
			
			
			
			 Resident Curmudgeon 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 80,782 
				Karma: 150249619 
				Join Date: Nov 2006 
				Location: Roslindale, Massachusetts 
				
				
				Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#13 | 
| 
			
			
			
			 Addict 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 237 
				Karma: 944808 
				Join Date: Apr 2009 
				
				
				
				Device: Kobo Libra 2, Forma and Aura One; Kindle Voyage; OnePlus 12 Pro 
				
				
				 | 
	
	
	
		
		
			
			 
				
				Both Page Turns go Next Fix Desperately Sought!
			 
			
			
			My experience so far in trying to patch 4.38.23429 on my Libra 2. The following patches do not work. I've listed them in my own personal desire/need for fixes. Hopefully most only require new offsets (which I am not capable of figuring out). Here's hoping that the generous contributors here can eventually help out. 
		
	
		
		
		
		
		
		
		
		
		
		
	
	1. Both page turn buttons go next 2. Both page turn sides go next. 3. Auto USB gadget 4. Always show confirm dialog before upgrading 5. 24 line spacing; and 10 line spacing 6. Don't uppercase header/footer text 7. Power settings -- unlock enabled As much as I am happy to get Instapaper on my Kobo, losing items 1 and 2 above (if not fixable) for me may outweigh the benefit!  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#14 | 
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,269 
				Karma: 16544702 
				Join Date: Sep 2009 
				Location: UK 
				
				
				Device: ClaraHD, Forma, Libra2, Clara2E, LibraCol, PBTouchHD3 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			You can probably achieve this without kobopatch by manually editing the .kobo/Kobo/Kobo eReader.conf config file in a decent text editor (e.g. Notepad++ on Windows). In the [DeveloperSettings] section: 
		
	
		
		
		
		
		
		
		
		
		
		
	
	Code: 
	[DeveloperSettings] AutoUsbGadget=true EnableDebugServices=true Similarly, try editing the config file's [PowerOptions] section: Code: 
	[PowerOptions] UnlockEnabled=true  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#15 | 
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,269 
				Karma: 16544702 
				Join Date: Sep 2009 
				Location: UK 
				
				
				Device: ClaraHD, Forma, Libra2, Clara2E, LibraCol, PBTouchHD3 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			I'm not sure whether or not @geek1011 is already aware of this thread. I've just created a new issue on his GitHub site, just in case he hasn't seen it. 
		
	
		
		
		
		
		
		
		
		
		
		
	
	This is a link to it if you want to monitor any responses.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
            
        
            
            
  | 
    
			 
			Similar Threads
		 | 
	||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| New F/W: 4.43.23418 + 4.38.23429 | PeterT | Kobo Reader | 118 | Yesterday 06:40 PM | 
| Instructions for patching firmware 3.18.0 | GeoffR | Kobo Developer's Corner | 151 | 10-21-2016 07:15 AM | 
| Patching H2O | Maillemom | Kobo Developer's Corner | 8 | 10-19-2016 10:58 AM | 
| Patching firmware 4.0.7523 | JSWolf | Kobo Developer's Corner | 97 | 09-30-2016 02:09 PM | 
| Instructions for patching firmware 3.2.0 | DNSB | Kobo Developer's Corner | 66 | 12-05-2014 08:28 AM |