kairi003 / NarouReaderMod

MIT License
10 stars 0 forks source link

NarouReaderMod

なろうリーダで100話以降の目次を取得するための改造パッチ (ref: NarouReaderMod-source)

開発手順: Wiki, 質問/意見 Discussions, 不具合報告/機能提案: Issues

注意

バイナリパッチ

必要なもの

適用方法

ブラウザでの適用

  1. https://kairi003.github.io/bsdiff-wasm/ にアクセス
  2. bspatchOldFile になろうリーダのapkを、PatchFilenarou-mod.bsdiff を選択
  3. run ボタンを押す

コマンドでの適用

  1. なろうリーダのapkをoriginal.apkという名前でnarou-mod.bsdiffと同じディレクトリに配置
    • windowsの場合はbspatch.exeも同じディレクトリに配置
  2. コマンドラインやターミナルを開き以下のコマンドでnarou-mod.bsdiffを適用
    bspatch original.apk narou-mod.apk narou-mod.bsdiff
  3. 署名ハッシュはリリースページに記載されています。改竄されていないことを確認してください。
    keytool -printcert -jarfile narou-mod.apk

ソースパッチ

パッチ適用動作環境

必要なツール

使い方

署名やビルドが面倒な場合はバイナリパッチを利用してください。

  1. なろうリーダのapkを入手
    • デバイス中のapkはsplit apksになっているため、APKPureなどのサイトからダウンロード推奨
    • セキュリティ的に不安な場合はbase.apkと同じディレクトリの全てのapkファイルをadbやSAIで抽出し、単一apkの代わりにbase.apkにパッチを当てる
      • この場合 adb install-multiple でインストール可能だが全てのapkに同一の署名が必要
  2. なろうリーダのapkをoriginal.apkという名前でrun.shと同じディレクトリに配置
  3. 後述のコマンドでキーストアを作成
  4. run.sh を実行
    • apktoolによるデコード、パッチの適用、ビルド、zipalign、署名を行う
  5. narou-mod.apk が生成されるので、これを端末にインストール
    • 自己署名のため、インストール時にセキュリティ警告が表示される

キーストアの作成

以下のコマンドでキーストアを作成する。 所在地などはデフォルト(Unkown)で問題ない。 パスワードは署名時に必要。

keytool -genkeypair -v -keystore .keystore -alias narou-mod -keyalg RSA -keysize 2048 -validity 100000

パッチによる変更内容

rename.sh

com.tscsoft.naroureader_mod_mod.utils.Modding.smali

fix-update-100.diff

min-index-update.diff

org.jsoup

okhttp3

fix-html-change.diff

"<div id=\"novel_a\" class=\"novel_view\">\n([\s\S]+?)

" -> "<div class=\"js-novel-text p-noveltext p-noveltext--afterword\">\n([\s\S]+?)
" "<div id=\"novel_p\" class=\"novel_view\">\n([\s\S]+?)" -> "<div class=\"js-novel-text p-noveltext p-noveltext--preface\">\n([\s\S]+?)" "<p class=\"novel_subtitle\">(.+?)

" -> "<h1 class=\"p-noveltitle p-noveltitle--rensai\">(.+?)" "<div id=\"novel_honbun\" class=\"novel_view\">\n([\s\S]+?)" -> "<div class=\"js-novel-text p-novel__text\">\n([\s\S]+?)"