wanam / YouTubeAdAway

Xposed module to block YouTube ads on the official YouTube Android App
GNU General Public License v3.0
672 stars 54 forks source link

Youtube Music 5.0.6 #136

Open Homeye opened 1 year ago

Homeye commented 1 year ago

Background playback isn't working with the latest module. At least it's not force closing like on 5.0.4 & 5.0.5

wanam commented 1 year ago

Actually I never tested it with YouTube music, and I'm not willing to extend my support list for now. Could you post your logs please? I will see if it's easy to fix, otherwise I won't unfortunately go further if there is a divergence from the main YouTube implementation.

Homeye commented 1 year ago

Actually, i thought it supposed to work with yt music too :D Here are some logs when i tried to put the app background, i'm not sure that's what you need:

[ 2023-02-12T09:29:13.382 10429: 25328: 25328 I/LSPosed-Bridge ] Loading module ma.wanam.youtubeadaway from /data/app/~~gogMPSKxk_vXN-EJBS3M2Q==/ma.wanam.youtubeadaway-8or1lJYiH0lbhX-VyRUJTA==/base.apk [ 2023-02-12T09:29:13.411 10429: 25328: 25328 I/LSPosed-Bridge ] Loading class ma.wanam.youtubeadaway.Xposed [ 2023-02-12T09:29:13.488 10429: 25328: 25328 I/LSPosed-Bridge ] Hooking YouTube version: com.google.android.apps.youtube.music 54250240 [ 2023-02-12T09:29:13.550 1000: 25355: 25355 I/LSPosed-Bridge ] Loading module com.lt2333.simplicitytools from /data/app/~~bGxAEANstwLSKdjddAM3og==/com.lt2333.simplicitytools-a3ZtxY8fiQ5iqPasx1cR3w==/base.apk [ 2023-02-12T09:29:13.559 1000: 25355: 25355 I/LSPosed-Bridge ] Loading class com.lt2333.simplicitytools.hooks.MainHook [ 2023-02-12T09:29:13.808 1000: 25355: 25355 I/LSPosed-Bridge ] WooBox: Try to Hook [com.miui.securitycenter] [ 2023-02-12T09:29:14.813 10429: 25328: 25358 I/LSPosed-Bridge ] Found ad class: ailf.d [ 2023-02-12T09:29:14.813 10429: 25328: 25358 I/LSPosed-Bridge ] In-Video ads hooks applied in 1 seconds! [ 2023-02-12T09:29:14.848 10429: 25328: 25358 I/LSPosed-Bridge ] Found bg class: aisb.n [ 2023-02-12T09:29:14.848 10429: 25328: 25358 I/LSPosed-Bridge ] Video BG playback hooks applied in 1 seconds! [ 2023-02-12T09:29:23.802 10117: 25743: 25743 I/LSPosed-Bridge ] Loading module com.lt2333.simplicitytools from /data/app/~~bGxAEANstwLSKdjddAM3og==/com.lt2333.simplicitytools-a3ZtxY8fiQ5iqPasx1cR3w==/base.apk [ 2023-02-12T09:29:23.806 10117: 25743: 25743 I/LSPosed-Bridge ] Loading class com.lt2333.simplicitytools.hooks.MainHook [ 2023-02-12T09:29:23.938 10117: 25743: 25743 I/LSPosed-Bridge ] WooBox: Try to Hook [com.milink.service]

[ 2023-02-12T09:29:01.027 0: 864: 1444 I/LSPosedLogcat ] New log file: /data/adb/lspd/log/verbose_2023-02-12T09:29:01.027.log [ 2023-02-12T09:29:13.380 10429: 25328: 25328 I/LSPosed ] Loading xposed for com.google.android.apps.youtube.music/10429 [ 2023-02-12T09:29:13.382 10429: 25328: 25328 I/LSPosed-Bridge ] Loading module ma.wanam.youtubeadaway from /data/app/~~gogMPSKxk_vXN-EJBS3M2Q==/ma.wanam.youtubeadaway-8or1lJYiH0lbhX-VyRUJTA==/base.apk [ 2023-02-12T09:29:13.411 10429: 25328: 25328 I/LSPosed-Bridge ] Loading class ma.wanam.youtubeadaway.Xposed [ 2023-02-12T09:29:13.488 10429: 25328: 25328 I/LSPosed-Bridge ] Hooking YouTube version: com.google.android.apps.youtube.music 54250240 [ 2023-02-12T09:29:13.544 1000: 25355: 25355 I/LSPosed ] Loading xposed for com.miui.securitycenter:ui/1000 [ 2023-02-12T09:29:13.550 1000: 25355: 25355 I/LSPosed-Bridge ] Loading module com.lt2333.simplicitytools from /data/app/~~bGxAEANstwLSKdjddAM3og==/com.lt2333.simplicitytools-a3ZtxY8fiQ5iqPasx1cR3w==/base.apk [ 2023-02-12T09:29:13.559 1000: 25355: 25355 I/LSPosed-Bridge ] Loading class com.lt2333.simplicitytools.hooks.MainHook [ 2023-02-12T09:29:13.808 1000: 25355: 25355 I/LSPosed-Bridge ] WooBox: Try to Hook [com.miui.securitycenter] [ 2023-02-12T09:29:14.813 10429: 25328: 25358 I/LSPosed-Bridge ] Found ad class: ailf.d [ 2023-02-12T09:29:14.813 10429: 25328: 25358 I/LSPosed-Bridge ] In-Video ads hooks applied in 1 seconds! [ 2023-02-12T09:29:14.848 10429: 25328: 25358 I/LSPosed-Bridge ] Found bg class: aisb.n [ 2023-02-12T09:29:14.848 10429: 25328: 25358 I/LSPosed-Bridge ] Video BG playback hooks applied in 1 seconds! [ 2023-02-12T09:29:15.784 0: 25636: 25636 I/Magisk ] zygisk64: [com.google.process.gapps] is on the denylist [ 2023-02-12T09:29:23.798 10117: 25743: 25743 I/LSPosed ] Loading xposed for com.milink.service/10117 [ 2023-02-12T09:29:23.802 10117: 25743: 25743 I/LSPosed-Bridge ] Loading module com.lt2333.simplicitytools from /data/app/~~bGxAEANstwLSKdjddAM3og==/com.lt2333.simplicitytools-a3ZtxY8fiQ5iqPasx1cR3w==/base.apk [ 2023-02-12T09:29:23.806 10117: 25743: 25743 I/LSPosed-Bridge ] Loading class com.lt2333.simplicitytools.hooks.MainHook [ 2023-02-12T09:29:23.938 10117: 25743: 25743 I/LSPosed-Bridge ] WooBox: Try to Hook [com.milink.service]

wanam commented 1 year ago

Hmm it seems the hook was found: I/LSPosed-Bridge ] Found bg class: aisb.n What YouTube Music version are you using?

Homeye commented 1 year ago

5.42.50 the latest from the play store.

wanam commented 1 year ago

Unfortunately, there is a divergence from what's implemented on YouTube app, the module is hooking the wrong method on the correct class of YouTube Music, and it's not easy to pinpoint the method by fingerprint, it is hooking aisb.n while it should be hooking aisb.v:

    public static boolean n(bcfl bcflVar) {
        return bcflVar.e(45371791L);
    }

    public static boolean o(bcfl bcflVar) {
        return bcflVar.e(45387914L);
    }

    public static boolean p(bcfl bcflVar) {
        return bcflVar.e(45385642L);
    }

    public static boolean q(bcfl bcflVar) {
        return bcflVar.e(45385101L);
    }

    public static boolean r(bcfl bcflVar) {
        return bcflVar.e(45382168L);
    }

    public static boolean s(bcfl bcflVar) {
        return bcflVar.e(45388395L);
    }

    public static boolean t(bcfl bcflVar) {
        return bcflVar.e(45387500L);
    }

    public static boolean u(bcfl bcflVar) {
        return bcflVar.e(45364712L);
    }

    public static boolean v(aiwv aiwvVar) {
        return aiwvVar.s();
    }

    public static boolean w(aiwv aiwvVar) {
        return aiwvVar.u();
    }

    public static boolean x(aiwv aiwvVar) {
        return aiwvVar.x();
    }

    public static boolean y(bcfl bcflVar) {
        return bcflVar.e(45363849L);
    }

    public static boolean z(aiwv aiwvVar) {
        return aiwvVar.n();
    }
Lovefish commented 1 year ago

btw, which ytm version is working?