返回列表 发新帖

[求助问答] hook

[复制链接]

5

主题

1693

回帖

5264

积分

硕士生

Rank: 6Rank: 6

金币
4607
好评
0
信誉
100
发表在  2026-4-22 10:39:13 来自手机  | 显示全部楼层 | 阅读模式  来自 广东
package com.simplehookr.scripts;

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class XinYuTingShuHook implements IXposedHookLoadPackage {

    private static final String PACKAGE_NAME = "com.xinyu.tingshu";

    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
        if (!PACKAGE_NAME.equals(lpparam.packageName)) {
            return;
        }

        hookVipStatus(lpparam);
        hookPayChapter(lpparam);
        hookAudioLimit(lpparam);
        hookRemoveAd(lpparam);
    }

    /**
     * 伪造VIP
     */
    private void hookVipStatus(XC_LoadPackage.LoadPackageParam lpparam) {
        // isVip
        XposedHelpers.findAndHookMethod(
                "com.xinyu.tingshu.model.UserInfo",
                lpparam.classLoader,
                "isVip",
                new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) {
                        param.setResult(true);
                    }
                }
        );

        // vip过期时间
        XposedHelpers.findAndHookMethod(
                "com.xinyu.tingshu.model.UserInfo",
                lpparam.classLoader,
                "getVipExpireTime",
                new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) {
                        param.setResult(System.currentTimeMillis() + 315360000000L);
                    }
                }
        );
    }

    /**
     * 解锁付费章节
     */
    private void hookPayChapter(XC_LoadPackage.LoadPackageParam lpparam) {
        // 书籍是否付费
        XposedHelpers.findAndHookMethod(
                "com.xinyu.tingshu.model.BookInfo",
                lpparam.classLoader,
                "isPaid",
                new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) {
                        param.setResult(true);
                    }
                }
        );

        // 章节是否可播放
        XposedHelpers.findAndHookMethod(
                "com.xinyu.tingshu.model.ChapterInfo",
                lpparam.classLoader,
                "canPlay",
                new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) {
                        param.setResult(true);
                    }
                }
        );
    }

    /**
     * 解除试听限制
     */
    private void hookAudioLimit(XC_LoadPackage.LoadPackageParam lpparam) {
        // 试听时长
        XposedHelpers.findAndHookMethod(
                "com.xinyu.tingshu.utils.AudioLimitUtil",
                lpparam.classLoader,
                "getTryListenTime",
                new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) {
                        param.setResult(999999);
                    }
                }
        );

        // 是否试听结束
        XposedHelpers.findAndHookMethod(
                "com.xinyu.tingshu.utils.AudioLimitUtil",
                lpparam.classLoader,
                "isTryListenEnd",
                new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) {
                        param.setResult(false);
                    }
                }
        );
    }

    /**
     * 禁用广告
     */
    private void hookRemoveAd(XC_LoadPackage.LoadPackageParam lpparam) {
        XposedHelpers.findAndHookMethod(
                "com.xinyu.tingshu.manager.AdManager",
                lpparam.classLoader,
                "isAdEnable",
                new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) {
                        param.setResult(false);
                    }
                }
        );
    }
}
这个用豆包写的听书hook怎么用不了
回复

使用道具 举报

54

主题

4527

回帖

1万

积分

博士生

辰夕Mod

Rank: 7Rank: 7Rank: 7

金币
7121
好评
35
信誉
169

MT论坛帅哥考神MT论坛活跃会员

QQ
发表于 2026-4-22 10:41:55 来自手机  | 显示全部楼层  来自 辽宁
hook返回值用afterMethodHook
回复

使用道具 举报

5

主题

1693

回帖

5264

积分

硕士生

Rank: 6Rank: 6

金币
4607
好评
0
信誉
100
发表于 2026-4-22 23:00:21 来自手机  | 显示全部楼层  来自 广东
看不懂,听着听着就不能听了,只能抖音听小说了
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表