我曾经亲自说过:电子书比纸质书有一点好,看不到进度,我更喜欢这样读,Kindle比微信读书也有这一点好。

根据我对客服的了解,尤其是腾讯客服,这条路很可能不通。

所以只能自己动手。

进度显示在右下角,格式是”当前页/总页数”,排版决定了后者,排版+百分比进度决定前者,关键词有了: “/” page total。

用page关键词在smali里找嫌疑变量,排除了几个错误答案之后,找到一个用进度计算出的estimatePageString,最终被onAfterDrawPage用到。简单把进度设置成空字符串:

diff --git a/smali_classes2/com/tencent/weread/reader/container/pageview/PageView.smali b/smali_classes2/com/tencent/weread/reader/container/pageview/PageView.smali
index ca615e6b..a5ef3a34 100644
--- a/smali_classes2/com/tencent/weread/reader/container/pageview/PageView.smali
+++ b/smali_classes2/com/tencent/weread/reader/container/pageview/PageView.smali
@@ -4028,6 +4028,8 @@
 
     move-result-object p1
 
+    const-string p1, " "
+
     iput-object p1, p0, Lcom/tencent/weread/reader/container/pageview/PageView;->estimatePageString:Ljava/lang/String;
 
     .line 1004

好了,adb exec-out screencap -p > no-progress.png

打包小记

打包过程遇到了一个疑似是apktool的问题,登陆入口处layout丢失,扫不到二维码。

smali/baksmali绕过资源文件打包zip:

mkdir smalii
cd smalii
cp ../weread_android_1.1.1_10140948_900.apk .
unzip weread_android_1.1.1_10140948_900.apk
rm weread_android_1.1.1_10140948_900.apk
cd ..

# 这个是重点
java -jar baksmali-2.4.0.jar d smalii/classes2.dex -o classes2
emacs classes2/com/tencent/weread/reader/container/pageview/PageView.smali
java -jar smali-2.4.0.jar a classes2 -o smalii/classes2.dex

cd smalii
zip -r ../weread_no_progress.apk *
cd ..

apksigner sign --ks ~/somewhere/key.jks weread_no_progress.apk

最终APK下载:https://files.catbox.moe/t5dhs1.apk

微信读书 1.5.4

小米阅读器系统从1.1.8升级到1.1.12之后,上面的1.1.1版本被覆盖(其实是卸载+重新安装)成了系统自带的微信读书,设备不带root,也就没法装回来……

1.5.4的破解和老版本大同小异:

  • 工具链升级:smali/baksmali 2.5.2
  • 没装android-platform-tools时的签名工具uber apk signer: java -jar uber-apk-signer-1.2.1.jar --ks release-key.jks --ksAlias key0 --apks ./weread_no_progress_1.5.4.apk
  • 还是叫estimatePageString,只是到classes3去了:java -jar baksmali-2.5.2.jar d smalii/classes3.dex -o classes3com/tencent/weread/reader/container/pageview/PageView.smali

diff:

diff --git a/com/tencent/weread/reader/container/pageview/PageView.smali b/com/tencent/weread/reader/container/pageview/PageView.smali
index 0ad651b..9025648 100644
--- a/com/tencent/weread/reader/container/pageview/PageView.smali
+++ b/com/tencent/weread/reader/container/pageview/PageView.smali
@@ -4056,6 +4056,8 @@

     move-result-object p1

+    const-string p1, " "
+
     iput-object p1, p0, Lcom/tencent/weread/reader/container/pageview/PageView;->estimatePageString:Ljava/lang/String;

     .line 13

最终APK下载(没有测过显示效果但是觉得patch对了):https://files.catbox.moe/f1hjuy.apk (SHA1 c827cdcacc71c24fc9cb20dd883b24df813de879)