![]() |
#1 |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10
Karma: 222224
Join Date: Feb 2025
Device: Kindle 11th Gen 2022 (KT5)
|
Kindle Browser Patch
I have developed a patch for the built-in web browser on armhf Kindle devices (firmware >= 5.16.3). It provides the following features:
- Remove the restriction on what kind of filetypes you can download - Remove the restriction on what protocols you can browse, enabling the use of file:// Check it out here. |
![]() |
![]() |
![]() |
#2 |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10
Karma: 222224
Join Date: Feb 2025
Device: Kindle 11th Gen 2022 (KT5)
|
Typo, it's actually only for >= 5.16.4
|
![]() |
![]() |
![]() |
#3 |
Fanatic
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 509
Karma: 5555555
Join Date: Aug 2016
Location: Czech Republic
Device: Voyage, Oasis, Scribe, Colorsoft, Libra Colour
|
This is awesome! Just tested on my Oasis 3 and it works great
![]() Makes it possible to download KFX and AZW3 files from something like Calibre-Web or COPS. This makes the browser much more useful! |
![]() |
![]() |
![]() |
#4 |
Member
![]() Posts: 13
Karma: 10
Join Date: Dec 2024
Device: Kindle Scribe
|
Nice work. Is there any way to enable landscape mode? Would be useful on the Scribe's big screen.
|
![]() |
![]() |
![]() |
#5 |
Member
![]() Posts: 13
Karma: 10
Join Date: Dec 2024
Device: Kindle Scribe
|
|
![]() |
![]() |
![]() |
#6 | |
Junior Member
![]() Posts: 1
Karma: 10
Join Date: Feb 2025
Device: Kindle Scribe 2022; PW 2021
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 | |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10
Karma: 222224
Join Date: Feb 2025
Device: Kindle 11th Gen 2022 (KT5)
|
Quote:
Code:
FUN_00036b7e(auStack_6c,".azw1"); FUN_00036b7e(auStack_60,".azw2"); FUN_00036b7e(auStack_54,".azw3"); FUN_00036b7e(auStack_48,&DAT_000323a4); FUN_00036b7e(auStack_3c,".mobi"); FUN_00036b7e(auStack_30,&DAT_0002f676); iVar10 = 0; do { if (iVar10 == 0x54) { bVar1 = false; goto LAB_0004d7d0; } base::BasicStringPiece<>::BasicStringPiece((char *)&uStack_90); iVar7 = base::FilePath::MatchesExtension((GURL *)aFStack_84,uStack_90,uStack_8c); iVar10 = iVar10 + 0xc; } while (iVar7 == 0); bVar1 = true; LAB_0004d7d0: I patched it to: Code:
FUN_00036b7e(auStack_6c,".azw1"); FUN_00036b7e(auStack_60,".azw2"); FUN_00036b7e(auStack_54,".azw3"); FUN_00036b7e(auStack_48,&DAT_000323a4); FUN_00036b7e(auStack_3c,".mobi"); FUN_00036b7e(auStack_30,&DAT_0002f676); iVar10 = 0; do { if (iVar10 == 0x54) { bVar1 = true; <-- PATCH goto LAB_0004d7d0; } base::BasicStringPiece<>::BasicStringPiece((char *)&uStack_90); iVar7 = base::FilePath::MatchesExtension((GURL *)aFStack_84,uStack_90,uStack_8c); iVar10 = iVar10 + 0xc; } while (iVar7 == 0); bVar1 = true; LAB_0004d7d0: old: Code:
0004d7ce 00 25 movs r5,#0x0 Code:
0004d7ce 01 25 movs r5,#0x1 Code:
/* GURL::SchemeIsHTTPOrHTTPS() const */ undefined4 __thiscall GURL::SchemeIsHTTPOrHTTPS(GURL *this) { size_t sVar1; int iVar2; undefined4 uVar3; sVar1 = strlen("http"); iVar2 = FUN_018d3db8(this,&DAT_00840f1b,sVar1); if (iVar2 != 0) { return 1; } sVar1 = strlen("https"); uVar3 = FUN_018d3db8(this,"https",sVar1); return uVar3; } Code:
/* GURL::SchemeIsHTTPOrHTTPS() const */ undefined4 __thiscall GURL::SchemeIsHTTPOrHTTPS(GURL *this) { size_t sVar1; int iVar2; undefined4 uVar3; sVar1 = strlen("http"); iVar2 = FUN_018d3db8(this,&DAT_00840f1b,sVar1); return 1; <-- PATCH sVar1 = strlen("https"); uVar3 = FUN_018d3db8(this,"https",sVar1); return uVar3; } old: Code:
018d3e04 08 b1 cbz this,LAB_018d3e0a Code:
018d3e04 00 bf nop - Copies the browser binaries from system directories to a new directory in /mnt/us - Patches them - Updates /var/local/appreg.db so that the browser launch command executed when you open the browser from the GUI points to the new, patched browser instead. |
|
![]() |
![]() |
![]() |
#8 |
Fanatic
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 509
Karma: 5555555
Join Date: Aug 2016
Location: Czech Republic
Device: Voyage, Oasis, Scribe, Colorsoft, Libra Colour
|
Thanks for this detailed overview and for sharing your thought process, this was very informative.
|
![]() |
![]() |
![]() |
#9 |
Member
![]() Posts: 13
Karma: 10
Join Date: Dec 2024
Device: Kindle Scribe
|
Do you think you could similarly patch the Bluetooth manager to allow any device (a keyboard) instead of only audio devices? Obviously more work would be required after that, but it would be a great start.
|
![]() |
![]() |
![]() |
#10 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 70
Karma: 1000
Join Date: May 2017
Device: none
|
What would file:// allow you to do? Thank you!
|
![]() |
![]() |
![]() |
#11 |
Bibliophagist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 46,190
Karma: 168983734
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
File:// lets you open a local file in a web browser. Firefox has Open file in it's file menu to allow browsing to a file or you can type ctrl-O and browse that way. For Chrome and Edge, you need to type ctrl-O, browse to the file and then open it. I find it useful when looking a downloaded HTML file or testing a file before uploading it. File:// requires you to know the path to the file so you would have to type file://d:/downloads/abenigy.html to open the file.
At one point when Edge supported displaying ePub files, I used ctrl-O to browse to and open the ePub but gave on using Edge since the renderer was not anything to write home about. |
![]() |
![]() |
![]() |
Tags |
browser |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Forma plans for a old web browser patch? | Scaledish | Kobo Developer's Corner | 1 | 08-15-2020 07:35 AM |
DX(G) Develop patch for missing certificate Kindle DX | DeKuns | Kindle Developer's Corner | 34 | 05-22-2019 01:42 PM |
Free (Kindle/Nook/Sony) Pumpkin Cookbook by Gooseberry Patch | arcadata | Deals and Resources (No Self-Promotion or Affiliate Links) | 7 | 09-30-2011 02:42 AM |
Free (Kindle) Tailgating Cookbook by Gooseberry Patch | arcadata | Deals and Resources (No Self-Promotion or Affiliate Links) | 2 | 09-12-2011 03:08 AM |
kindlepid.py patch for Kindle 2 International | bloovis | Kindle Developer's Corner | 2 | 11-07-2009 07:14 AM |