View Single Post
Old 04-27-2018, 01:39 PM   #1
geek1011
Wizard
geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.
 
Posts: 2,804
Karma: 7025947
Join Date: May 2016
Location: Ontario, Canada
Device: Kobo Mini, Aura Edition 2 v1, Clara HD
kobopatch - A new (WIP) patching system

Continued from https://www.mobileread.com/forums/sh...77#post3686505

---

I'm working on a new patching system written in Go as a replacement for patch32lsb. The code is on GitHub here. It will have many more advantages for example:
  • zlib support
  • No need for external dependencies (like 7-zip)
  • More flexibility (both in patch format and the actual patching)
  • More consistent and readable patch format
    • New instructions like FindReplaceString (combines FindBaseAddress and ReplaceString)
    • Patch group checking
    • More
  • All-in-one version
    • Will not need temporary files
    • Will be able to work with basically any OS
    • Can be embedded in other applications
    • Will preserve all file metadata (instead of just setting the permission to executable)
    • Possible web interface
    • Faster
  • Unit tests (to be able to check for breakages)
I do not expect it to be ready and stable enough for general use until about a month. You can still try if you are ready for the possibility to need to wipe your sd card.


So far, I've finished a drop-in replacement for patch32lsb (with the old format) here which can be downloaded here. Please use this to test my patching system to make sure it produces the exact same results as the original patch32lsb. On Linux, this can be automated with the testallnickel and testalllibnickel scripts in the root of the repository. As far as I have tested, it seems to work well. The reason why it can be tested this way is because my patching system is modular, and the format is separated from the patching system itself.


I've also almost finished a working POC for the new all-in-one patcher. Here (minus README.md and oldpatches) is a sample of the layout, and here is a sample (which is subject to change) of the features of the new patch format.

This thread is old. See https://www.mobileread.com/forums/sh....php?p=3697837

Last edited by geek1011; 05-27-2018 at 03:08 PM.
geek1011 is offline   Reply With Quote