pretty code

2022年4月3日 星期日

如何使用 kobopatch-patches

前情提要:
kobopatch 是工具原始碼,kobopatch-patches 是高手針對各系統版本包好的執行檔,可以直接用此工具來依設定檔做 patches 並產生 patched 好的 KoboRoot.tgz 系統更新檔。

01. 去 https://github.com/pgaskin/kobopatch-patches/releases/ 下載最新的 kobopatch release,目前最新版本是 v74,並在 v74 裡面下載對應的系統版本,假設是 4.30.18838,便下載 kobopatch_4.30.18838.zip,裡面會有設定檔及產生 KoboZoot.tgz 系統更新檔的工具。

02. 解壓縮 zip 檔後,src 資料夾裡面會有一個 download_firmware_here.txt 的檔案,去檔案裡面的網址下載對應硬體及系統版本的系統 zip 檔案,並把它放在步驟 01 解壓縮資料夾 src 的資料夾內。

03. 針對要 patch 的項目修改,有兩種方式:一種是用 overide 的方式,直接修改步驟 01 解壓縮資料夾的 kobopatch.yaml 檔案,記得要 patch 的項目前要用 4 個空格,不要用 tab 鍵。另外一種則是直接修改步驟 01 解壓縮資料夾內 src 裡對應要修改的系統檔案的 yaml 檔。

04. 如果電腦是 Windows 系統,直接執行步驟 01 解壓縮資料夾的 kobopatch.bat,假設沒有錯誤,便會在步驟 01 解壓縮資料夾 out 資料夾裡看到 KoboRoot.tgz 及 log.txt,可以從 log.txt 看到是否有正常 patch。

以你的例子要直接修改 src\libnickel.so.1.0.0.yaml,在最後面貼上你找到的解決方式

Enable markup for sideloaded kepubs:
  - Enabled: yes
  - ReplaceBytes:
      Base: "KepubMarkupDelegate::isMarkupSupported(Volume const&)"
      Offset: 390
      FindInstBLX: {SymPLT: "Content::isSideLoaded() const"}
      ReplaceH: 4F F0 00 00

05. 將閱讀器插上電腦,把 KoboZoot.tgz 放到閱讀器內的 .kobo 資料夾內,在電腦退出閱讀器後,閱讀器便會重開機安裝 patch。

沒有留言: