View Single Post
Old 05-06-2015, 06:11 PM   #56
GeoffR
Wizard
GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.
 
GeoffR's Avatar
 
Posts: 3,821
Karma: 19162882
Join Date: Nov 2012
Location: Te Riu-a-Māui
Device: Kobo Glo
Quote:
Originally Posted by Rnway View Post
I'd like to replicate the dicthtml->micthtml replacement from the 3.12.1 patcher for 3.15 (This prevents the Kobo from overwriting custom dictionaries in the micthtml files.)
Here is that patch updated for firmware 3.15.0. Some said that this patch doesn't work, and I don't use custom dictionaries myself so I've just updated the locations, it hasn't been tested.

Spoiler:
Code:
<Patch>
patch_name = `Change dicthtml strings to micthtml`
patch_enable = `yes`
# `%1/dicthtml%2.zip` --> `%1/micthtml%2.zip`
#replace_string = B7EF88, `%1/dicthtml%2.zip`, `%1/micthtml%2.zip`
# `%1/dicthtml%2` --> `%1/micthtml%2`
replace_string = B8423C, `%\01\0/\0d\0i\0c\0t\0h\0t\0m\0l\0%\02\0`, `%\01\0/\0m\0i\0c\0t\0h\0t\0m\0l\0%\02\0`
# `dicthtml` --> `micthtml`
replace_string = B84284, `d\0i\0c\0t\0h\0t\0m\0l\0`, `m\0i\0c\0t\0h\0t\0m\0l\0`
# `dicthtml*` --> `micthtml*`
#replace_string = B843A8, `d\0i\0c\0t\0h\0t\0m\0l\0*\0`, `m\0i\0c\0t\0h\0t\0m\0l\0*\0`
# `%1/dicthtml%2` --> `%1/micthtml%2`
replace_string = B84624, `%\01\0/\0d\0i\0c\0t\0h\0t\0m\0l\0%\02\0`, `%\01\0/\0m\0i\0c\0t\0h\0t\0m\0l\0%\02\0`
# `%1/dicthtml%2` --> `%1/micthtml%2`
replace_string = B84688, `%\01\0/\0d\0i\0c\0t\0h\0t\0m\0l\0%\02\0`, `%\01\0/\0m\0i\0c\0t\0h\0t\0m\0l\0%\02\0`
# `%1/dicthtml%2` --> `%1/micthtml%2`
replace_string = B846EC, `%\01\0/\0d\0i\0c\0t\0h\0t\0m\0l\0%\02\0`, `%\01\0/\0m\0i\0c\0t\0h\0t\0m\0l\0%\02\0`
# `%1/%2/dict/dicthtml%3` --> `%1/%2/dict/micthtml%3`
replace_string = B84750, `%\01\0/\0%\02\0/\0d\0i\0c\0t\0/\0d\0i\0c\0t\0h\0t\0m\0l\0%\03\0`, `%\01\0/\0%\02\0/\0d\0i\0c\0t\0/\0m\0i\0c\0t\0h\0t\0m\0l\0%\03\0`
# `dicthtml*` --> `micthtml*`
#replace_string = B8A654, `d\0i\0c\0t\0h\0t\0m\0l\0*\0`, `m\0i\0c\0t\0h\0t\0m\0l\0*\0`
# `dicthtml%1` --> `micthtml%1`
#replace_string = B8C6D8, `d\0i\0c\0t\0h\0t\0m\0l\0%\01\0`, `m\0i\0c\0t\0h\0t\0m\0l\0%\01\0`
</Patch>


Quote:
What tools do you use to find the right places to patch?
For patches like this one where it is just text strings I just use a hex editor (Emacs in hexl-mode, but any hex editor would do.) If you have GNU binutils you could also use the 'strings' command.

For patches which alter the code itself I use a disassembler ('objdump' from GNU binutils.)
GeoffR is offline   Reply With Quote