דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. אנדרואיד - כללי
  3. אפליקציות להורדה
  4. להורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!

להורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!

מתוזמן נעוץ נעול הועבר אפליקציות להורדה
41 פוסטים 13 כותבים 1.2k צפיות 14 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • L lilo159

    icon (1).png
    metrolist זו אפליקציית "לקוח" של יוטיוב מיוזיק. ניתן להתחבר עם החשבון גוגל שלכם.
    זה נראה לי fork של innertune, שבעבר מישהו כאן העלה ללא תמונות, אך כיום האפליקציה לא עובדת.
    יש מספר אתרים שמבצעים העברת פלייליסטים מספוטיפיי ליוטיוב, אולי בהמשך אעלה.
    עודכן לגרסה 12.4.0
    להורדה

    להורדת גרסה 12.3.0

    כנסו לספויילר כדי לראות את השינויים שעשיתי.

    לחסימת תמונות:
    בנתיב: com/metrolist/innertube/models/Thumbnail
    להוסיף בתוך:

    .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
        .registers 7
    
        .line 1
        and-int/lit8 v0, p1, 0x7
    
        .line 3
        const/4 v1, 0x7
    
        .line 4
        if-ne v1, v0, :cond_f
    
        .line 6
        invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    
        .line 9
        iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
    
        .line 11
        iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
    
        .line 13
        iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
    
        .line 15
        return-void
    
        .line 16
        :cond_f
        sget-object p2, Lo9/d0;->a:Lo9/d0;
    
        .line 18
        invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
    
        .line 21
        move-result-object p2
    
        .line 22
        invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
    
        .line 25
        const/4 p1, 0x0
    
        .line 26
        throw p1
    .end method
    

    את השורה הזו:

    .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
        .registers 7
    
        .line 1
        and-int/lit8 v0, p1, 0x7
    
        .line 3
        const/4 v1, 0x7
    
        .line 4
        if-ne v1, v0, :cond_f
    
        .line 6
        invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    
        const-string p2, "" #:להוסיף את זה
    
        .line 9
        iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
    
        .line 11
        iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
    
        .line 13
        iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
    
        .line 15
        return-void
    
        .line 16
        :cond_f
        sget-object p2, Lo9/d0;->a:Lo9/d0;
    
        .line 18
        invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
    
        .line 21
        move-result-object p2
    
        .line 22
        invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
    
        .line 25
        const/4 p1, 0x0
    
        .line 26
        throw p1
    .end method
    

    לעריכת הWebview של הכניסה:
    לחפש בsmali (כי השם של הclass דינמי ובעתיד יכול להשתנות):
    const-string p1, "https://music.youtube.com"

    .class public final Lla/g2;
    .super Landroid/webkit/WebViewClient;
    .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
    
    
    # instance fields
    .field public final synthetic a:Landroid/webkit/WebView;
    
    .field public final synthetic b:Lge/x;
    
    .field public final synthetic c:Ly0/w0;
    
    .field public final synthetic d:Ly0/w0;
    
    .field public final synthetic e:Ly0/w0;
    
    .field public final synthetic f:Ly0/w0;
    
    
    # direct methods
    .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
        .registers 7
    
        .line 1
        iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
    
        .line 3
        iput-object p2, p0, Lla/g2;->b:Lge/x;
    
        .line 5
        iput-object p3, p0, Lla/g2;->c:Ly0/w0;
    
        .line 7
        iput-object p4, p0, Lla/g2;->d:Ly0/w0;
    
        .line 9
        iput-object p5, p0, Lla/g2;->e:Ly0/w0;
    
        .line 11
        iput-object p6, p0, Lla/g2;->f:Ly0/w0;
    
        .line 13
        invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
    
        .line 16
        return-void
    .end method
    
    
    # virtual methods
    .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
        .registers 9
    
        .line 1
        const-string v0, "view"
    
        .line 3
        invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
    
        .line 6
        const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
    
        .line 8
        iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
    
        .line 10
        invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
    
        .line 13
        const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
    
        .line 15
        invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
    
        .line 18
        if-eqz p2, :cond_42
    
        .line 20
        const-string p1, "https://music.youtube.com"
    
        .line 22
        const/4 v0, 0x0
    
        .line 23
        invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
    
        .line 26
        move-result p1
    
        .line 27
        const/4 v0, 0x1
    
        .line 28
        if-ne p1, v0, :cond_42
    
        .line 30
        invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
    
        .line 33
        move-result-object p1
    
        .line 34
        invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
    
        .line 37
        move-result-object p1
    
        .line 38
        const-string p2, "getCookie(...)"
    
        .line 40
        invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
    
        .line 43
        iget-object p2, p0, Lla/g2;->c:Ly0/w0;
    
        .line 45
        invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
    
        .line 48
        new-instance v0, Lla/v1;
    
        .line 50
        iget-object v3, p0, Lla/g2;->f:Ly0/w0;
    
        .line 52
        const/4 v5, 0x1
    
        .line 53
        iget-object v1, p0, Lla/g2;->d:Ly0/w0;
    
        .line 55
        iget-object v2, p0, Lla/g2;->e:Ly0/w0;
    
        .line 57
        const/4 v4, 0x0
    
        .line 58
        invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
    
        .line 61
        const/4 p1, 0x3
    
        .line 62
        iget-object p2, p0, Lla/g2;->b:Lge/x;
    
        .line 64
        invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
    
        .line 67
        :cond_42
        return-void
    .end method
    
    

    השינויים:

    .class public final Lla/g2;
    .super Landroid/webkit/WebViewClient;
    .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
    
    
    # instance fields
    .field public final synthetic a:Landroid/webkit/WebView;
    
    .field public final synthetic b:Lge/x;
    
    .field public final synthetic c:Ly0/w0;
    
    .field public final synthetic d:Ly0/w0;
    
    .field public final synthetic e:Ly0/w0;
    
    .field public final synthetic f:Ly0/w0;
    
    
    # direct methods
    .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
        .registers 9 # לשנות ל9
    
        # להוסיף לפני שורה 1
        invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
        # עד כאן
       
         .line 1
        iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
    
        .line 3
        iput-object p2, p0, Lla/g2;->b:Lge/x;
    
        .line 5
        iput-object p3, p0, Lla/g2;->c:Ly0/w0;
    
        .line 7
        iput-object p4, p0, Lla/g2;->d:Ly0/w0;
    
        .line 9
        iput-object p5, p0, Lla/g2;->e:Ly0/w0;
    
        .line 11
        iput-object p6, p0, Lla/g2;->f:Ly0/w0;
    
        .line 13 # להחליף את השורה שהיתה מתחת לשורה 13
        # מכאן
        invoke-virtual {p1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
        move-result-object v0
        const/4 v1, 0x0
        invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
        # עד כאן
        .line 16
        return-void
    .end method
    
    
    # virtual methods
    .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
        .registers 9
    
        .line 1
        const-string v0, "view"
    
        .line 3
        invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
    
        # (!javascriptשימו לב לשורה שאחרי ה) להוסיף את זה 
        const-string v1, "javascript:(function(){function cleanPage(){const footer=document.querySelector('footer');if(footer)footer.remove();const langSelector=document.querySelector('[jscontroller=\"xiZRqc\"]');if(langSelector)langSelector.remove();const guestModeDiv=document.querySelector('.RDsYTb');if(guestModeDiv)guestModeDiv.remove();document.querySelectorAll('ytmusic-player-page, ytmusic-player-bar[slot=\"player-bar\"], #mini-guide, #guide, ytmusic-nav-bar .left-content, ytmusic-nav-bar .center-content').forEach(element=>{element.style.setProperty('display','none','important')});const navBarRight=document.querySelector('ytmusic-nav-bar .right-content');if(navBarRight){navBarRight.style.setProperty('margin-left','auto','important')}const popup=document.querySelector('tp-yt-iron-dropdown');if(popup&&popup.style.display!=='none'){const header=popup.querySelector('ytd-active-account-header-renderer');if(header)header.style.setProperty('display','none','important');popup.querySelectorAll('yt-multi-page-menu-section-renderer').forEach(section=>{if(!section.querySelector('a[href=\"/logout\"]')){section.style.setProperty('display','none','important')}else{section.querySelectorAll('ytd-compact-link-renderer').forEach(item=>{if(!item.contains(section.querySelector('a[href=\"/logout\"]'))){item.style.setProperty('display','none','important')}})}})}const immersiveBackground=document.querySelector('#background.immersive-background');if(immersiveBackground){immersiveBackground.style.setProperty('display','none','important')}const chipContainer=document.querySelector('ytmusic-chip-cloud-renderer');if(chipContainer){chipContainer.style.setProperty('display','none','important')}const allShelves=document.querySelectorAll('ytmusic-carousel-shelf-renderer');allShelves.forEach((shelf,index)=>{if(index===0){const carousel=shelf.querySelector('#ytmusic-carousel');if(carousel)carousel.style.setProperty('display','none','important');const header=shelf.querySelector('ytmusic-carousel-shelf-basic-header-renderer');if(header){const strapline=header.querySelector('.strapline');if(strapline)strapline.style.setProperty('display','none','important');const buttonGroup=header.querySelector('#button-group');if(buttonGroup)buttonGroup.style.setProperty('display','none','important')}const navButtons=shelf.querySelector('.button-group.style-scope.ytmusic-carousel-shelf-renderer');if(navButtons)navButtons.style.setProperty('display','none','important')}else{shelf.style.setProperty('display','none','important')}});const tastebuilder=document.querySelector('ytmusic-tastebuilder-shelf-renderer');if(tastebuilder){tastebuilder.style.setProperty('display','none','important')}const titleElement=document.querySelector('ytmusic-carousel-shelf-renderer yt-formatted-string.title');if(titleElement){const newText='אם זאת פעם ראשונה שאתם נכנסים, אתם יכולים לחזור כעת לאפליקציה (מומלץ לסגור לגמרי את האפליקציה ולפתוח מחדש, כדי שהיא תקלוט שנכנסתם), אם כבר הייתם מחוברים ואתם רוצים להחליף חשבון, צאו מהחשבון (לחיצה על העיגול) והתחילו מחדש את התהליך.';if(titleElement.textContent!==newText){titleElement.textContent=newText;titleElement.style.setProperty('direction','rtl','important');titleElement.style.setProperty('white-space','normal','important');titleElement.style.setProperty('text-overflow','clip','important');titleElement.style.setProperty('overflow','visible','important');titleElement.style.setProperty('height','auto','important');titleElement.style.setProperty('font-size','16px','important');titleElement.style.setProperty('font-weight','normal','important');titleElement.style.setProperty('line-height','1.5','important');titleElement.style.setProperty('color','white','important')}}}cleanPage();const observer=new MutationObserver(()=>{cleanPage()});observer.observe(document.body,{childList:true,subtree:true})})();"
       
        # עם הנתיב הנכון la/g2 שימו לב שכאן צריך להחליף את
        # (שבעוד כמה שורות .line 8 כמו נגיד אחרי) אפשר למצוא דוגמאות ברחבי הקוד
        iget-object v2, p0, Lla/g2;->a:Landroid/webkit/WebView;
        
        invoke-virtual {v2, v1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
    	
        # עד כאן
    	
        .line 6
        const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
    	
        .line 8
        iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
    
        .line 10
        invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
    
        .line 13
        const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
    
        .line 15
        invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
    
        .line 18
        if-eqz p2, :cond_42
    
        .line 20
        const-string p1, "https://music.youtube.com"
    
        .line 22
        const/4 v0, 0x0
    
        .line 23
        invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
    
        .line 26
        move-result p1
    
        .line 27
        const/4 v0, 0x1
    
        .line 28
        if-ne p1, v0, :cond_42
    
        .line 30
        invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
    
        .line 33
        move-result-object p1
    
        .line 34
        invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
    
        .line 37
        move-result-object p1
    
        .line 38
        const-string p2, "getCookie(...)"
    
        .line 40
        invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
    
        .line 43
        iget-object p2, p0, Lla/g2;->c:Ly0/w0;
    
        .line 45
        invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
    	
        .line 48
        new-instance v0, Lla/v1;
    
        .line 50
        iget-object v3, p0, Lla/g2;->f:Ly0/w0;
    
        .line 52
        const/4 v5, 0x1
    
        .line 53
        iget-object v1, p0, Lla/g2;->d:Ly0/w0;
    
        .line 55
        iget-object v2, p0, Lla/g2;->e:Ly0/w0;
    
        .line 57
        const/4 v4, 0x0
    
        .line 58
        invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
    
        .line 61
        const/4 p1, 0x3
    
        .line 62
        iget-object p2, p0, Lla/g2;->b:Lge/x;
    
        .line 64
        invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
    
        .line 67
        :cond_42
        return-void
    .end method
    
    

    צ מנותק
    צ מנותק
    צול גאה
    כתב נערך לאחרונה על ידי צול גאה
    #7

    @lilo159
    א}מן הסתם לא עובד בנטפרי
    אני צודק??
    ב}יש לווינדוס??

    L 2 תגובות תגובה אחרונה
    0
    • ה הרב של השכונה

      @lilo159 אפשר להוריד שירים ישירות ולא רק לשימוש אופליין?

      L מנותק
      L מנותק
      lilo159
      כתב נערך לאחרונה על ידי
      #8

      @הרב-של-השכונה בעיקרון לא, אבל אפשר לחלץ שירים שהורדו עם סייר רוט.

      תגובה 1 תגובה אחרונה
      0
      • צ צול גאה

        @lilo159
        א}מן הסתם לא עובד בנטפרי
        אני צודק??
        ב}יש לווינדוס??

        L מנותק
        L מנותק
        lilo159
        כתב נערך לאחרונה על ידי
        #9

        @צול-גאה א. אני יכול להניח, אבל אני לא יודע...
        ב. זו אפליקציה לטלפון...

        צ תגובה 1 תגובה אחרונה
        0
        • L lilo159

          @צול-גאה א. אני יכול להניח, אבל אני לא יודע...
          ב. זו אפליקציה לטלפון...

          צ מנותק
          צ מנותק
          צול גאה
          כתב נערך לאחרונה על ידי
          #10

          @lilo159
          תודה רבה 👍 👍 👍 👍 👍 👍

          👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 e4976da7-c569-46a9-b1ec-d3e68dad59ca-image.png

          תגובה 1 תגובה אחרונה
          1
          • ש מנותק
            ש מנותק
            שלום053
            כתב נערך לאחרונה על ידי
            #11

            יש אפליקציה כזו גם למחשב?

            צ תגובה 1 תגובה אחרונה
            0
            • L lilo159

              icon (1).png
              metrolist זו אפליקציית "לקוח" של יוטיוב מיוזיק. ניתן להתחבר עם החשבון גוגל שלכם.
              זה נראה לי fork של innertune, שבעבר מישהו כאן העלה ללא תמונות, אך כיום האפליקציה לא עובדת.
              יש מספר אתרים שמבצעים העברת פלייליסטים מספוטיפיי ליוטיוב, אולי בהמשך אעלה.
              עודכן לגרסה 12.4.0
              להורדה

              להורדת גרסה 12.3.0

              כנסו לספויילר כדי לראות את השינויים שעשיתי.

              לחסימת תמונות:
              בנתיב: com/metrolist/innertube/models/Thumbnail
              להוסיף בתוך:

              .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                  .registers 7
              
                  .line 1
                  and-int/lit8 v0, p1, 0x7
              
                  .line 3
                  const/4 v1, 0x7
              
                  .line 4
                  if-ne v1, v0, :cond_f
              
                  .line 6
                  invoke-direct {p0}, Ljava/lang/Object;-><init>()V
              
                  .line 9
                  iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
              
                  .line 11
                  iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
              
                  .line 13
                  iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
              
                  .line 15
                  return-void
              
                  .line 16
                  :cond_f
                  sget-object p2, Lo9/d0;->a:Lo9/d0;
              
                  .line 18
                  invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
              
                  .line 21
                  move-result-object p2
              
                  .line 22
                  invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
              
                  .line 25
                  const/4 p1, 0x0
              
                  .line 26
                  throw p1
              .end method
              

              את השורה הזו:

              .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                  .registers 7
              
                  .line 1
                  and-int/lit8 v0, p1, 0x7
              
                  .line 3
                  const/4 v1, 0x7
              
                  .line 4
                  if-ne v1, v0, :cond_f
              
                  .line 6
                  invoke-direct {p0}, Ljava/lang/Object;-><init>()V
              
                  const-string p2, "" #:להוסיף את זה
              
                  .line 9
                  iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
              
                  .line 11
                  iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
              
                  .line 13
                  iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
              
                  .line 15
                  return-void
              
                  .line 16
                  :cond_f
                  sget-object p2, Lo9/d0;->a:Lo9/d0;
              
                  .line 18
                  invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
              
                  .line 21
                  move-result-object p2
              
                  .line 22
                  invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
              
                  .line 25
                  const/4 p1, 0x0
              
                  .line 26
                  throw p1
              .end method
              

              לעריכת הWebview של הכניסה:
              לחפש בsmali (כי השם של הclass דינמי ובעתיד יכול להשתנות):
              const-string p1, "https://music.youtube.com"

              .class public final Lla/g2;
              .super Landroid/webkit/WebViewClient;
              .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
              
              
              # instance fields
              .field public final synthetic a:Landroid/webkit/WebView;
              
              .field public final synthetic b:Lge/x;
              
              .field public final synthetic c:Ly0/w0;
              
              .field public final synthetic d:Ly0/w0;
              
              .field public final synthetic e:Ly0/w0;
              
              .field public final synthetic f:Ly0/w0;
              
              
              # direct methods
              .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                  .registers 7
              
                  .line 1
                  iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
              
                  .line 3
                  iput-object p2, p0, Lla/g2;->b:Lge/x;
              
                  .line 5
                  iput-object p3, p0, Lla/g2;->c:Ly0/w0;
              
                  .line 7
                  iput-object p4, p0, Lla/g2;->d:Ly0/w0;
              
                  .line 9
                  iput-object p5, p0, Lla/g2;->e:Ly0/w0;
              
                  .line 11
                  iput-object p6, p0, Lla/g2;->f:Ly0/w0;
              
                  .line 13
                  invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
              
                  .line 16
                  return-void
              .end method
              
              
              # virtual methods
              .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                  .registers 9
              
                  .line 1
                  const-string v0, "view"
              
                  .line 3
                  invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
              
                  .line 6
                  const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
              
                  .line 8
                  iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
              
                  .line 10
                  invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
              
                  .line 13
                  const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
              
                  .line 15
                  invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
              
                  .line 18
                  if-eqz p2, :cond_42
              
                  .line 20
                  const-string p1, "https://music.youtube.com"
              
                  .line 22
                  const/4 v0, 0x0
              
                  .line 23
                  invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
              
                  .line 26
                  move-result p1
              
                  .line 27
                  const/4 v0, 0x1
              
                  .line 28
                  if-ne p1, v0, :cond_42
              
                  .line 30
                  invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
              
                  .line 33
                  move-result-object p1
              
                  .line 34
                  invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
              
                  .line 37
                  move-result-object p1
              
                  .line 38
                  const-string p2, "getCookie(...)"
              
                  .line 40
                  invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
              
                  .line 43
                  iget-object p2, p0, Lla/g2;->c:Ly0/w0;
              
                  .line 45
                  invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
              
                  .line 48
                  new-instance v0, Lla/v1;
              
                  .line 50
                  iget-object v3, p0, Lla/g2;->f:Ly0/w0;
              
                  .line 52
                  const/4 v5, 0x1
              
                  .line 53
                  iget-object v1, p0, Lla/g2;->d:Ly0/w0;
              
                  .line 55
                  iget-object v2, p0, Lla/g2;->e:Ly0/w0;
              
                  .line 57
                  const/4 v4, 0x0
              
                  .line 58
                  invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
              
                  .line 61
                  const/4 p1, 0x3
              
                  .line 62
                  iget-object p2, p0, Lla/g2;->b:Lge/x;
              
                  .line 64
                  invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
              
                  .line 67
                  :cond_42
                  return-void
              .end method
              
              

              השינויים:

              .class public final Lla/g2;
              .super Landroid/webkit/WebViewClient;
              .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
              
              
              # instance fields
              .field public final synthetic a:Landroid/webkit/WebView;
              
              .field public final synthetic b:Lge/x;
              
              .field public final synthetic c:Ly0/w0;
              
              .field public final synthetic d:Ly0/w0;
              
              .field public final synthetic e:Ly0/w0;
              
              .field public final synthetic f:Ly0/w0;
              
              
              # direct methods
              .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                  .registers 9 # לשנות ל9
              
                  # להוסיף לפני שורה 1
                  invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                  # עד כאן
                 
                   .line 1
                  iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
              
                  .line 3
                  iput-object p2, p0, Lla/g2;->b:Lge/x;
              
                  .line 5
                  iput-object p3, p0, Lla/g2;->c:Ly0/w0;
              
                  .line 7
                  iput-object p4, p0, Lla/g2;->d:Ly0/w0;
              
                  .line 9
                  iput-object p5, p0, Lla/g2;->e:Ly0/w0;
              
                  .line 11
                  iput-object p6, p0, Lla/g2;->f:Ly0/w0;
              
                  .line 13 # להחליף את השורה שהיתה מתחת לשורה 13
                  # מכאן
                  invoke-virtual {p1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
                  move-result-object v0
                  const/4 v1, 0x0
                  invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
                  # עד כאן
                  .line 16
                  return-void
              .end method
              
              
              # virtual methods
              .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                  .registers 9
              
                  .line 1
                  const-string v0, "view"
              
                  .line 3
                  invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
              
                  # (!javascriptשימו לב לשורה שאחרי ה) להוסיף את זה 
                  const-string v1, "javascript:(function(){function cleanPage(){const footer=document.querySelector('footer');if(footer)footer.remove();const langSelector=document.querySelector('[jscontroller=\"xiZRqc\"]');if(langSelector)langSelector.remove();const guestModeDiv=document.querySelector('.RDsYTb');if(guestModeDiv)guestModeDiv.remove();document.querySelectorAll('ytmusic-player-page, ytmusic-player-bar[slot=\"player-bar\"], #mini-guide, #guide, ytmusic-nav-bar .left-content, ytmusic-nav-bar .center-content').forEach(element=>{element.style.setProperty('display','none','important')});const navBarRight=document.querySelector('ytmusic-nav-bar .right-content');if(navBarRight){navBarRight.style.setProperty('margin-left','auto','important')}const popup=document.querySelector('tp-yt-iron-dropdown');if(popup&&popup.style.display!=='none'){const header=popup.querySelector('ytd-active-account-header-renderer');if(header)header.style.setProperty('display','none','important');popup.querySelectorAll('yt-multi-page-menu-section-renderer').forEach(section=>{if(!section.querySelector('a[href=\"/logout\"]')){section.style.setProperty('display','none','important')}else{section.querySelectorAll('ytd-compact-link-renderer').forEach(item=>{if(!item.contains(section.querySelector('a[href=\"/logout\"]'))){item.style.setProperty('display','none','important')}})}})}const immersiveBackground=document.querySelector('#background.immersive-background');if(immersiveBackground){immersiveBackground.style.setProperty('display','none','important')}const chipContainer=document.querySelector('ytmusic-chip-cloud-renderer');if(chipContainer){chipContainer.style.setProperty('display','none','important')}const allShelves=document.querySelectorAll('ytmusic-carousel-shelf-renderer');allShelves.forEach((shelf,index)=>{if(index===0){const carousel=shelf.querySelector('#ytmusic-carousel');if(carousel)carousel.style.setProperty('display','none','important');const header=shelf.querySelector('ytmusic-carousel-shelf-basic-header-renderer');if(header){const strapline=header.querySelector('.strapline');if(strapline)strapline.style.setProperty('display','none','important');const buttonGroup=header.querySelector('#button-group');if(buttonGroup)buttonGroup.style.setProperty('display','none','important')}const navButtons=shelf.querySelector('.button-group.style-scope.ytmusic-carousel-shelf-renderer');if(navButtons)navButtons.style.setProperty('display','none','important')}else{shelf.style.setProperty('display','none','important')}});const tastebuilder=document.querySelector('ytmusic-tastebuilder-shelf-renderer');if(tastebuilder){tastebuilder.style.setProperty('display','none','important')}const titleElement=document.querySelector('ytmusic-carousel-shelf-renderer yt-formatted-string.title');if(titleElement){const newText='אם זאת פעם ראשונה שאתם נכנסים, אתם יכולים לחזור כעת לאפליקציה (מומלץ לסגור לגמרי את האפליקציה ולפתוח מחדש, כדי שהיא תקלוט שנכנסתם), אם כבר הייתם מחוברים ואתם רוצים להחליף חשבון, צאו מהחשבון (לחיצה על העיגול) והתחילו מחדש את התהליך.';if(titleElement.textContent!==newText){titleElement.textContent=newText;titleElement.style.setProperty('direction','rtl','important');titleElement.style.setProperty('white-space','normal','important');titleElement.style.setProperty('text-overflow','clip','important');titleElement.style.setProperty('overflow','visible','important');titleElement.style.setProperty('height','auto','important');titleElement.style.setProperty('font-size','16px','important');titleElement.style.setProperty('font-weight','normal','important');titleElement.style.setProperty('line-height','1.5','important');titleElement.style.setProperty('color','white','important')}}}cleanPage();const observer=new MutationObserver(()=>{cleanPage()});observer.observe(document.body,{childList:true,subtree:true})})();"
                 
                  # עם הנתיב הנכון la/g2 שימו לב שכאן צריך להחליף את
                  # (שבעוד כמה שורות .line 8 כמו נגיד אחרי) אפשר למצוא דוגמאות ברחבי הקוד
                  iget-object v2, p0, Lla/g2;->a:Landroid/webkit/WebView;
                  
                  invoke-virtual {v2, v1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
              	
                  # עד כאן
              	
                  .line 6
                  const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
              	
                  .line 8
                  iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
              
                  .line 10
                  invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
              
                  .line 13
                  const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
              
                  .line 15
                  invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
              
                  .line 18
                  if-eqz p2, :cond_42
              
                  .line 20
                  const-string p1, "https://music.youtube.com"
              
                  .line 22
                  const/4 v0, 0x0
              
                  .line 23
                  invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
              
                  .line 26
                  move-result p1
              
                  .line 27
                  const/4 v0, 0x1
              
                  .line 28
                  if-ne p1, v0, :cond_42
              
                  .line 30
                  invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
              
                  .line 33
                  move-result-object p1
              
                  .line 34
                  invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
              
                  .line 37
                  move-result-object p1
              
                  .line 38
                  const-string p2, "getCookie(...)"
              
                  .line 40
                  invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
              
                  .line 43
                  iget-object p2, p0, Lla/g2;->c:Ly0/w0;
              
                  .line 45
                  invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
              	
                  .line 48
                  new-instance v0, Lla/v1;
              
                  .line 50
                  iget-object v3, p0, Lla/g2;->f:Ly0/w0;
              
                  .line 52
                  const/4 v5, 0x1
              
                  .line 53
                  iget-object v1, p0, Lla/g2;->d:Ly0/w0;
              
                  .line 55
                  iget-object v2, p0, Lla/g2;->e:Ly0/w0;
              
                  .line 57
                  const/4 v4, 0x0
              
                  .line 58
                  invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
              
                  .line 61
                  const/4 p1, 0x3
              
                  .line 62
                  iget-object p2, p0, Lla/g2;->b:Lge/x;
              
                  .line 64
                  invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
              
                  .line 67
                  :cond_42
                  return-void
              .end method
              
              

              אלוף תימןא מנותק
              אלוף תימןא מנותק
              אלוף תימן
              כתב נערך לאחרונה על ידי
              #12

              @lilo159 מי שרוצה מתורגם Metrolistkosher.zip

              L תגובה 1 תגובה אחרונה
              2
              • ש שלום053

                יש אפליקציה כזו גם למחשב?

                צ מנותק
                צ מנותק
                צול גאה
                כתב נערך לאחרונה על ידי
                #13

                @שלום053 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                יש אפליקציה כזו גם למחשב?

                למה לא לבדוק פוסט אחד אחורה לפני שמעלים שאלה??

                @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                ב}יש לווינדוס??

                ו

                @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                ב. זו אפליקציה לטלפון...

                ש תגובה 1 תגובה אחרונה
                1
                • L lilo159

                  icon (1).png
                  metrolist זו אפליקציית "לקוח" של יוטיוב מיוזיק. ניתן להתחבר עם החשבון גוגל שלכם.
                  זה נראה לי fork של innertune, שבעבר מישהו כאן העלה ללא תמונות, אך כיום האפליקציה לא עובדת.
                  יש מספר אתרים שמבצעים העברת פלייליסטים מספוטיפיי ליוטיוב, אולי בהמשך אעלה.
                  עודכן לגרסה 12.4.0
                  להורדה

                  להורדת גרסה 12.3.0

                  כנסו לספויילר כדי לראות את השינויים שעשיתי.

                  לחסימת תמונות:
                  בנתיב: com/metrolist/innertube/models/Thumbnail
                  להוסיף בתוך:

                  .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                      .registers 7
                  
                      .line 1
                      and-int/lit8 v0, p1, 0x7
                  
                      .line 3
                      const/4 v1, 0x7
                  
                      .line 4
                      if-ne v1, v0, :cond_f
                  
                      .line 6
                      invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                  
                      .line 9
                      iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
                  
                      .line 11
                      iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
                  
                      .line 13
                      iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
                  
                      .line 15
                      return-void
                  
                      .line 16
                      :cond_f
                      sget-object p2, Lo9/d0;->a:Lo9/d0;
                  
                      .line 18
                      invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
                  
                      .line 21
                      move-result-object p2
                  
                      .line 22
                      invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
                  
                      .line 25
                      const/4 p1, 0x0
                  
                      .line 26
                      throw p1
                  .end method
                  

                  את השורה הזו:

                  .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                      .registers 7
                  
                      .line 1
                      and-int/lit8 v0, p1, 0x7
                  
                      .line 3
                      const/4 v1, 0x7
                  
                      .line 4
                      if-ne v1, v0, :cond_f
                  
                      .line 6
                      invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                  
                      const-string p2, "" #:להוסיף את זה
                  
                      .line 9
                      iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
                  
                      .line 11
                      iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
                  
                      .line 13
                      iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
                  
                      .line 15
                      return-void
                  
                      .line 16
                      :cond_f
                      sget-object p2, Lo9/d0;->a:Lo9/d0;
                  
                      .line 18
                      invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
                  
                      .line 21
                      move-result-object p2
                  
                      .line 22
                      invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
                  
                      .line 25
                      const/4 p1, 0x0
                  
                      .line 26
                      throw p1
                  .end method
                  

                  לעריכת הWebview של הכניסה:
                  לחפש בsmali (כי השם של הclass דינמי ובעתיד יכול להשתנות):
                  const-string p1, "https://music.youtube.com"

                  .class public final Lla/g2;
                  .super Landroid/webkit/WebViewClient;
                  .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
                  
                  
                  # instance fields
                  .field public final synthetic a:Landroid/webkit/WebView;
                  
                  .field public final synthetic b:Lge/x;
                  
                  .field public final synthetic c:Ly0/w0;
                  
                  .field public final synthetic d:Ly0/w0;
                  
                  .field public final synthetic e:Ly0/w0;
                  
                  .field public final synthetic f:Ly0/w0;
                  
                  
                  # direct methods
                  .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                      .registers 7
                  
                      .line 1
                      iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
                  
                      .line 3
                      iput-object p2, p0, Lla/g2;->b:Lge/x;
                  
                      .line 5
                      iput-object p3, p0, Lla/g2;->c:Ly0/w0;
                  
                      .line 7
                      iput-object p4, p0, Lla/g2;->d:Ly0/w0;
                  
                      .line 9
                      iput-object p5, p0, Lla/g2;->e:Ly0/w0;
                  
                      .line 11
                      iput-object p6, p0, Lla/g2;->f:Ly0/w0;
                  
                      .line 13
                      invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                  
                      .line 16
                      return-void
                  .end method
                  
                  
                  # virtual methods
                  .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                      .registers 9
                  
                      .line 1
                      const-string v0, "view"
                  
                      .line 3
                      invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
                  
                      .line 6
                      const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
                  
                      .line 8
                      iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
                  
                      .line 10
                      invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                  
                      .line 13
                      const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
                  
                      .line 15
                      invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                  
                      .line 18
                      if-eqz p2, :cond_42
                  
                      .line 20
                      const-string p1, "https://music.youtube.com"
                  
                      .line 22
                      const/4 v0, 0x0
                  
                      .line 23
                      invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
                  
                      .line 26
                      move-result p1
                  
                      .line 27
                      const/4 v0, 0x1
                  
                      .line 28
                      if-ne p1, v0, :cond_42
                  
                      .line 30
                      invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
                  
                      .line 33
                      move-result-object p1
                  
                      .line 34
                      invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
                  
                      .line 37
                      move-result-object p1
                  
                      .line 38
                      const-string p2, "getCookie(...)"
                  
                      .line 40
                      invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
                  
                      .line 43
                      iget-object p2, p0, Lla/g2;->c:Ly0/w0;
                  
                      .line 45
                      invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
                  
                      .line 48
                      new-instance v0, Lla/v1;
                  
                      .line 50
                      iget-object v3, p0, Lla/g2;->f:Ly0/w0;
                  
                      .line 52
                      const/4 v5, 0x1
                  
                      .line 53
                      iget-object v1, p0, Lla/g2;->d:Ly0/w0;
                  
                      .line 55
                      iget-object v2, p0, Lla/g2;->e:Ly0/w0;
                  
                      .line 57
                      const/4 v4, 0x0
                  
                      .line 58
                      invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
                  
                      .line 61
                      const/4 p1, 0x3
                  
                      .line 62
                      iget-object p2, p0, Lla/g2;->b:Lge/x;
                  
                      .line 64
                      invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
                  
                      .line 67
                      :cond_42
                      return-void
                  .end method
                  
                  

                  השינויים:

                  .class public final Lla/g2;
                  .super Landroid/webkit/WebViewClient;
                  .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
                  
                  
                  # instance fields
                  .field public final synthetic a:Landroid/webkit/WebView;
                  
                  .field public final synthetic b:Lge/x;
                  
                  .field public final synthetic c:Ly0/w0;
                  
                  .field public final synthetic d:Ly0/w0;
                  
                  .field public final synthetic e:Ly0/w0;
                  
                  .field public final synthetic f:Ly0/w0;
                  
                  
                  # direct methods
                  .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                      .registers 9 # לשנות ל9
                  
                      # להוסיף לפני שורה 1
                      invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                      # עד כאן
                     
                       .line 1
                      iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
                  
                      .line 3
                      iput-object p2, p0, Lla/g2;->b:Lge/x;
                  
                      .line 5
                      iput-object p3, p0, Lla/g2;->c:Ly0/w0;
                  
                      .line 7
                      iput-object p4, p0, Lla/g2;->d:Ly0/w0;
                  
                      .line 9
                      iput-object p5, p0, Lla/g2;->e:Ly0/w0;
                  
                      .line 11
                      iput-object p6, p0, Lla/g2;->f:Ly0/w0;
                  
                      .line 13 # להחליף את השורה שהיתה מתחת לשורה 13
                      # מכאן
                      invoke-virtual {p1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
                      move-result-object v0
                      const/4 v1, 0x0
                      invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
                      # עד כאן
                      .line 16
                      return-void
                  .end method
                  
                  
                  # virtual methods
                  .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                      .registers 9
                  
                      .line 1
                      const-string v0, "view"
                  
                      .line 3
                      invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
                  
                      # (!javascriptשימו לב לשורה שאחרי ה) להוסיף את זה 
                      const-string v1, "javascript:(function(){function cleanPage(){const footer=document.querySelector('footer');if(footer)footer.remove();const langSelector=document.querySelector('[jscontroller=\"xiZRqc\"]');if(langSelector)langSelector.remove();const guestModeDiv=document.querySelector('.RDsYTb');if(guestModeDiv)guestModeDiv.remove();document.querySelectorAll('ytmusic-player-page, ytmusic-player-bar[slot=\"player-bar\"], #mini-guide, #guide, ytmusic-nav-bar .left-content, ytmusic-nav-bar .center-content').forEach(element=>{element.style.setProperty('display','none','important')});const navBarRight=document.querySelector('ytmusic-nav-bar .right-content');if(navBarRight){navBarRight.style.setProperty('margin-left','auto','important')}const popup=document.querySelector('tp-yt-iron-dropdown');if(popup&&popup.style.display!=='none'){const header=popup.querySelector('ytd-active-account-header-renderer');if(header)header.style.setProperty('display','none','important');popup.querySelectorAll('yt-multi-page-menu-section-renderer').forEach(section=>{if(!section.querySelector('a[href=\"/logout\"]')){section.style.setProperty('display','none','important')}else{section.querySelectorAll('ytd-compact-link-renderer').forEach(item=>{if(!item.contains(section.querySelector('a[href=\"/logout\"]'))){item.style.setProperty('display','none','important')}})}})}const immersiveBackground=document.querySelector('#background.immersive-background');if(immersiveBackground){immersiveBackground.style.setProperty('display','none','important')}const chipContainer=document.querySelector('ytmusic-chip-cloud-renderer');if(chipContainer){chipContainer.style.setProperty('display','none','important')}const allShelves=document.querySelectorAll('ytmusic-carousel-shelf-renderer');allShelves.forEach((shelf,index)=>{if(index===0){const carousel=shelf.querySelector('#ytmusic-carousel');if(carousel)carousel.style.setProperty('display','none','important');const header=shelf.querySelector('ytmusic-carousel-shelf-basic-header-renderer');if(header){const strapline=header.querySelector('.strapline');if(strapline)strapline.style.setProperty('display','none','important');const buttonGroup=header.querySelector('#button-group');if(buttonGroup)buttonGroup.style.setProperty('display','none','important')}const navButtons=shelf.querySelector('.button-group.style-scope.ytmusic-carousel-shelf-renderer');if(navButtons)navButtons.style.setProperty('display','none','important')}else{shelf.style.setProperty('display','none','important')}});const tastebuilder=document.querySelector('ytmusic-tastebuilder-shelf-renderer');if(tastebuilder){tastebuilder.style.setProperty('display','none','important')}const titleElement=document.querySelector('ytmusic-carousel-shelf-renderer yt-formatted-string.title');if(titleElement){const newText='אם זאת פעם ראשונה שאתם נכנסים, אתם יכולים לחזור כעת לאפליקציה (מומלץ לסגור לגמרי את האפליקציה ולפתוח מחדש, כדי שהיא תקלוט שנכנסתם), אם כבר הייתם מחוברים ואתם רוצים להחליף חשבון, צאו מהחשבון (לחיצה על העיגול) והתחילו מחדש את התהליך.';if(titleElement.textContent!==newText){titleElement.textContent=newText;titleElement.style.setProperty('direction','rtl','important');titleElement.style.setProperty('white-space','normal','important');titleElement.style.setProperty('text-overflow','clip','important');titleElement.style.setProperty('overflow','visible','important');titleElement.style.setProperty('height','auto','important');titleElement.style.setProperty('font-size','16px','important');titleElement.style.setProperty('font-weight','normal','important');titleElement.style.setProperty('line-height','1.5','important');titleElement.style.setProperty('color','white','important')}}}cleanPage();const observer=new MutationObserver(()=>{cleanPage()});observer.observe(document.body,{childList:true,subtree:true})})();"
                     
                      # עם הנתיב הנכון la/g2 שימו לב שכאן צריך להחליף את
                      # (שבעוד כמה שורות .line 8 כמו נגיד אחרי) אפשר למצוא דוגמאות ברחבי הקוד
                      iget-object v2, p0, Lla/g2;->a:Landroid/webkit/WebView;
                      
                      invoke-virtual {v2, v1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                  	
                      # עד כאן
                  	
                      .line 6
                      const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
                  	
                      .line 8
                      iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
                  
                      .line 10
                      invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                  
                      .line 13
                      const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
                  
                      .line 15
                      invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                  
                      .line 18
                      if-eqz p2, :cond_42
                  
                      .line 20
                      const-string p1, "https://music.youtube.com"
                  
                      .line 22
                      const/4 v0, 0x0
                  
                      .line 23
                      invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
                  
                      .line 26
                      move-result p1
                  
                      .line 27
                      const/4 v0, 0x1
                  
                      .line 28
                      if-ne p1, v0, :cond_42
                  
                      .line 30
                      invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
                  
                      .line 33
                      move-result-object p1
                  
                      .line 34
                      invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
                  
                      .line 37
                      move-result-object p1
                  
                      .line 38
                      const-string p2, "getCookie(...)"
                  
                      .line 40
                      invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
                  
                      .line 43
                      iget-object p2, p0, Lla/g2;->c:Ly0/w0;
                  
                      .line 45
                      invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
                  	
                      .line 48
                      new-instance v0, Lla/v1;
                  
                      .line 50
                      iget-object v3, p0, Lla/g2;->f:Ly0/w0;
                  
                      .line 52
                      const/4 v5, 0x1
                  
                      .line 53
                      iget-object v1, p0, Lla/g2;->d:Ly0/w0;
                  
                      .line 55
                      iget-object v2, p0, Lla/g2;->e:Ly0/w0;
                  
                      .line 57
                      const/4 v4, 0x0
                  
                      .line 58
                      invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
                  
                      .line 61
                      const/4 p1, 0x3
                  
                      .line 62
                      iget-object p2, p0, Lla/g2;->b:Lge/x;
                  
                      .line 64
                      invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
                  
                      .line 67
                      :cond_42
                      return-void
                  .end method
                  
                  

                  I מנותק
                  I מנותק
                  ikrh7891
                  כתב נערך לאחרונה על ידי
                  #14

                  @lilo159 יש כזו לאייפון ?

                  שניאור שמחש תגובה 1 תגובה אחרונה
                  0
                  • 7 מנותק
                    7 מנותק
                    7678545
                    כתב נערך לאחרונה על ידי 7678545
                    #15

                    מישהו יודע למה המערכת מולטימדיה ברכב לא מצליחה להתקין את זה זה כותב לי אין מערכת קשורה ליישום הקובץ

                    תגובה 1 תגובה אחרונה
                    0
                    • I ikrh7891

                      @lilo159 יש כזו לאייפון ?

                      שניאור שמחש מנותק
                      שניאור שמחש מנותק
                      שניאור שמח
                      מדריכים עימוד
                      כתב נערך לאחרונה על ידי
                      #16

                      @ikrh7891 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                      @lilo159 יש כזו לאייפון ?

                      יש לך את preTub
                      ללא פרסומות ואפשר לצאת מהאפליקציה

                      "אם לא תנסה, איך תדע?"

                      תגובה 1 תגובה אחרונה
                      1
                      • צ צול גאה

                        @שלום053 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        יש אפליקציה כזו גם למחשב?

                        למה לא לבדוק פוסט אחד אחורה לפני שמעלים שאלה??

                        @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        ב}יש לווינדוס??

                        ו

                        @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        ב. זו אפליקציה לטלפון...

                        ש מנותק
                        ש מנותק
                        שלום053
                        כתב נערך לאחרונה על ידי
                        #17

                        @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        @שלום053 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        יש אפליקציה כזו גם למחשב?

                        למה לא לבדוק פוסט אחד אחורה לפני שמעלים שאלה??

                        @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        ב}יש לווינדוס??

                        ו

                        @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                        ב. זו אפליקציה לטלפון...

                        אני שאלתי אם יש אפליקציה כזו גם למחשב.
                        ואתה אומר לי שכתוב שהאפליקציה הזו היא לטלפון.
                        צריך עוד הסבר?

                        L תגובה 1 תגובה אחרונה
                        1
                        • ש שלום053

                          @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                          @שלום053 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                          יש אפליקציה כזו גם למחשב?

                          למה לא לבדוק פוסט אחד אחורה לפני שמעלים שאלה??

                          @צול-גאה כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                          ב}יש לווינדוס??

                          ו

                          @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                          ב. זו אפליקציה לטלפון...

                          אני שאלתי אם יש אפליקציה כזו גם למחשב.
                          ואתה אומר לי שכתוב שהאפליקציה הזו היא לטלפון.
                          צריך עוד הסבר?

                          L מנותק
                          L מנותק
                          lilo159
                          כתב נערך לאחרונה על ידי
                          #18

                          @שלום053 היא לא למחשב. בעזרת ד' אעלה היום יוטיוב מיוזיק ללא תמונות למחשב.

                          תגובה 1 תגובה אחרונה
                          0
                          • צ צול גאה

                            @lilo159
                            א}מן הסתם לא עובד בנטפרי
                            אני צודק??
                            ב}יש לווינדוס??

                            L מנותק
                            L מנותק
                            lilo159
                            כתב נערך לאחרונה על ידי
                            #19

                            @צול-גאה @שלום053 בינתיים עד שאפתח נושא:
                            זה קישור ליוטיוב מיוזיק ללא תמונות למחשב

                            ש תגובה 1 תגובה אחרונה
                            0
                            • ה הרב של השכונה

                              @lilo159 אפשר להוריד שירים ישירות ולא רק לשימוש אופליין?

                              אלוף תימןא מנותק
                              אלוף תימןא מנותק
                              אלוף תימן
                              כתב נערך לאחרונה על ידי
                              #20

                              @הרב-של-השכונה אם יש לך רוט אתה נכנס ל
                              data/data/com.metrolist.music/files/download
                              אתה משנה סיומת מexo לmp3

                              תגובה 1 תגובה אחרונה
                              0
                              • L lilo159

                                @צול-גאה @שלום053 בינתיים עד שאפתח נושא:
                                זה קישור ליוטיוב מיוזיק ללא תמונות למחשב

                                ש מנותק
                                ש מנותק
                                שלום053
                                כתב נערך לאחרונה על ידי
                                #21

                                @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                @צול-גאה @שלום053 בינתיים עד שאפתח נושא:
                                זה קישור ליוטיוב מיוזיק ללא תמונות למחשב

                                מסתבר שזה חסום לי.

                                L תגובה 1 תגובה אחרונה
                                0
                                • ש שלום053

                                  @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                  @צול-גאה @שלום053 בינתיים עד שאפתח נושא:
                                  זה קישור ליוטיוב מיוזיק ללא תמונות למחשב

                                  מסתבר שזה חסום לי.

                                  L מנותק
                                  L מנותק
                                  lilo159
                                  כתב נערך לאחרונה על ידי
                                  #22

                                  @שלום053 התוכנה או הקישור?

                                  ש תגובה 1 תגובה אחרונה
                                  0
                                  • L lilo159

                                    @שלום053 התוכנה או הקישור?

                                    ש מנותק
                                    ש מנותק
                                    שלום053
                                    כתב נערך לאחרונה על ידי
                                    #23

                                    @lilo159 כתב בלהורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!:

                                    @שלום053 התוכנה או הקישור?

                                    התוכנה.

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • L lilo159

                                      icon (1).png
                                      metrolist זו אפליקציית "לקוח" של יוטיוב מיוזיק. ניתן להתחבר עם החשבון גוגל שלכם.
                                      זה נראה לי fork של innertune, שבעבר מישהו כאן העלה ללא תמונות, אך כיום האפליקציה לא עובדת.
                                      יש מספר אתרים שמבצעים העברת פלייליסטים מספוטיפיי ליוטיוב, אולי בהמשך אעלה.
                                      עודכן לגרסה 12.4.0
                                      להורדה

                                      להורדת גרסה 12.3.0

                                      כנסו לספויילר כדי לראות את השינויים שעשיתי.

                                      לחסימת תמונות:
                                      בנתיב: com/metrolist/innertube/models/Thumbnail
                                      להוסיף בתוך:

                                      .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                                          .registers 7
                                      
                                          .line 1
                                          and-int/lit8 v0, p1, 0x7
                                      
                                          .line 3
                                          const/4 v1, 0x7
                                      
                                          .line 4
                                          if-ne v1, v0, :cond_f
                                      
                                          .line 6
                                          invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                                      
                                          .line 9
                                          iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
                                      
                                          .line 11
                                          iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
                                      
                                          .line 13
                                          iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
                                      
                                          .line 15
                                          return-void
                                      
                                          .line 16
                                          :cond_f
                                          sget-object p2, Lo9/d0;->a:Lo9/d0;
                                      
                                          .line 18
                                          invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
                                      
                                          .line 21
                                          move-result-object p2
                                      
                                          .line 22
                                          invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
                                      
                                          .line 25
                                          const/4 p1, 0x0
                                      
                                          .line 26
                                          throw p1
                                      .end method
                                      

                                      את השורה הזו:

                                      .method public synthetic constructor <init>(ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
                                          .registers 7
                                      
                                          .line 1
                                          and-int/lit8 v0, p1, 0x7
                                      
                                          .line 3
                                          const/4 v1, 0x7
                                      
                                          .line 4
                                          if-ne v1, v0, :cond_f
                                      
                                          .line 6
                                          invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                                      
                                          const-string p2, "" #:להוסיף את זה
                                      
                                          .line 9
                                          iput-object p2, p0, Lcom/metrolist/innertube/models/Thumbnail;->a:Ljava/lang/String;
                                      
                                          .line 11
                                          iput-object p3, p0, Lcom/metrolist/innertube/models/Thumbnail;->b:Ljava/lang/Integer;
                                      
                                          .line 13
                                          iput-object p4, p0, Lcom/metrolist/innertube/models/Thumbnail;->c:Ljava/lang/Integer;
                                      
                                          .line 15
                                          return-void
                                      
                                          .line 16
                                          :cond_f
                                          sget-object p2, Lo9/d0;->a:Lo9/d0;
                                      
                                          .line 18
                                          invoke-virtual {p2}, Lo9/d0;->d()Lwe/g;
                                      
                                          .line 21
                                          move-result-object p2
                                      
                                          .line 22
                                          invoke-static {p1, v1, p2}, Lye/a1;->j(IILwe/g;)V
                                      
                                          .line 25
                                          const/4 p1, 0x0
                                      
                                          .line 26
                                          throw p1
                                      .end method
                                      

                                      לעריכת הWebview של הכניסה:
                                      לחפש בsmali (כי השם של הclass דינמי ובעתיד יכול להשתנות):
                                      const-string p1, "https://music.youtube.com"

                                      .class public final Lla/g2;
                                      .super Landroid/webkit/WebViewClient;
                                      .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
                                      
                                      
                                      # instance fields
                                      .field public final synthetic a:Landroid/webkit/WebView;
                                      
                                      .field public final synthetic b:Lge/x;
                                      
                                      .field public final synthetic c:Ly0/w0;
                                      
                                      .field public final synthetic d:Ly0/w0;
                                      
                                      .field public final synthetic e:Ly0/w0;
                                      
                                      .field public final synthetic f:Ly0/w0;
                                      
                                      
                                      # direct methods
                                      .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                                          .registers 7
                                      
                                          .line 1
                                          iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
                                      
                                          .line 3
                                          iput-object p2, p0, Lla/g2;->b:Lge/x;
                                      
                                          .line 5
                                          iput-object p3, p0, Lla/g2;->c:Ly0/w0;
                                      
                                          .line 7
                                          iput-object p4, p0, Lla/g2;->d:Ly0/w0;
                                      
                                          .line 9
                                          iput-object p5, p0, Lla/g2;->e:Ly0/w0;
                                      
                                          .line 11
                                          iput-object p6, p0, Lla/g2;->f:Ly0/w0;
                                      
                                          .line 13
                                          invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                                      
                                          .line 16
                                          return-void
                                      .end method
                                      
                                      
                                      # virtual methods
                                      .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                                          .registers 9
                                      
                                          .line 1
                                          const-string v0, "view"
                                      
                                          .line 3
                                          invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
                                      
                                          .line 6
                                          const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
                                      
                                          .line 8
                                          iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
                                      
                                          .line 10
                                          invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                                      
                                          .line 13
                                          const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
                                      
                                          .line 15
                                          invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                                      
                                          .line 18
                                          if-eqz p2, :cond_42
                                      
                                          .line 20
                                          const-string p1, "https://music.youtube.com"
                                      
                                          .line 22
                                          const/4 v0, 0x0
                                      
                                          .line 23
                                          invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
                                      
                                          .line 26
                                          move-result p1
                                      
                                          .line 27
                                          const/4 v0, 0x1
                                      
                                          .line 28
                                          if-ne p1, v0, :cond_42
                                      
                                          .line 30
                                          invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
                                      
                                          .line 33
                                          move-result-object p1
                                      
                                          .line 34
                                          invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
                                      
                                          .line 37
                                          move-result-object p1
                                      
                                          .line 38
                                          const-string p2, "getCookie(...)"
                                      
                                          .line 40
                                          invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
                                      
                                          .line 43
                                          iget-object p2, p0, Lla/g2;->c:Ly0/w0;
                                      
                                          .line 45
                                          invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
                                      
                                          .line 48
                                          new-instance v0, Lla/v1;
                                      
                                          .line 50
                                          iget-object v3, p0, Lla/g2;->f:Ly0/w0;
                                      
                                          .line 52
                                          const/4 v5, 0x1
                                      
                                          .line 53
                                          iget-object v1, p0, Lla/g2;->d:Ly0/w0;
                                      
                                          .line 55
                                          iget-object v2, p0, Lla/g2;->e:Ly0/w0;
                                      
                                          .line 57
                                          const/4 v4, 0x0
                                      
                                          .line 58
                                          invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
                                      
                                          .line 61
                                          const/4 p1, 0x3
                                      
                                          .line 62
                                          iget-object p2, p0, Lla/g2;->b:Lge/x;
                                      
                                          .line 64
                                          invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
                                      
                                          .line 67
                                          :cond_42
                                          return-void
                                      .end method
                                      
                                      

                                      השינויים:

                                      .class public final Lla/g2;
                                      .super Landroid/webkit/WebViewClient;
                                      .source "r8-map-id-2a6a6c923824ab40ba6eb9af44cd87caf231110913720ddc8f6974f07061f26e"
                                      
                                      
                                      # instance fields
                                      .field public final synthetic a:Landroid/webkit/WebView;
                                      
                                      .field public final synthetic b:Lge/x;
                                      
                                      .field public final synthetic c:Ly0/w0;
                                      
                                      .field public final synthetic d:Ly0/w0;
                                      
                                      .field public final synthetic e:Ly0/w0;
                                      
                                      .field public final synthetic f:Ly0/w0;
                                      
                                      
                                      # direct methods
                                      .method public constructor <init>(Landroid/webkit/WebView;Lge/x;Ly0/w0;Ly0/w0;Ly0/w0;Ly0/w0;)V
                                          .registers 9 # לשנות ל9
                                      
                                          # להוסיף לפני שורה 1
                                          invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
                                          # עד כאן
                                         
                                           .line 1
                                          iput-object p1, p0, Lla/g2;->a:Landroid/webkit/WebView;
                                      
                                          .line 3
                                          iput-object p2, p0, Lla/g2;->b:Lge/x;
                                      
                                          .line 5
                                          iput-object p3, p0, Lla/g2;->c:Ly0/w0;
                                      
                                          .line 7
                                          iput-object p4, p0, Lla/g2;->d:Ly0/w0;
                                      
                                          .line 9
                                          iput-object p5, p0, Lla/g2;->e:Ly0/w0;
                                      
                                          .line 11
                                          iput-object p6, p0, Lla/g2;->f:Ly0/w0;
                                      
                                          .line 13 # להחליף את השורה שהיתה מתחת לשורה 13
                                          # מכאן
                                          invoke-virtual {p1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
                                          move-result-object v0
                                          const/4 v1, 0x0
                                          invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
                                          # עד כאן
                                          .line 16
                                          return-void
                                      .end method
                                      
                                      
                                      # virtual methods
                                      .method public final onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
                                          .registers 9
                                      
                                          .line 1
                                          const-string v0, "view"
                                      
                                          .line 3
                                          invoke-static {p1, v0}, Lud/j;->f(Ljava/lang/Object;Ljava/lang/String;)V
                                      
                                          # (!javascriptשימו לב לשורה שאחרי ה) להוסיף את זה 
                                          const-string v1, "javascript:(function(){function cleanPage(){const footer=document.querySelector('footer');if(footer)footer.remove();const langSelector=document.querySelector('[jscontroller=\"xiZRqc\"]');if(langSelector)langSelector.remove();const guestModeDiv=document.querySelector('.RDsYTb');if(guestModeDiv)guestModeDiv.remove();document.querySelectorAll('ytmusic-player-page, ytmusic-player-bar[slot=\"player-bar\"], #mini-guide, #guide, ytmusic-nav-bar .left-content, ytmusic-nav-bar .center-content').forEach(element=>{element.style.setProperty('display','none','important')});const navBarRight=document.querySelector('ytmusic-nav-bar .right-content');if(navBarRight){navBarRight.style.setProperty('margin-left','auto','important')}const popup=document.querySelector('tp-yt-iron-dropdown');if(popup&&popup.style.display!=='none'){const header=popup.querySelector('ytd-active-account-header-renderer');if(header)header.style.setProperty('display','none','important');popup.querySelectorAll('yt-multi-page-menu-section-renderer').forEach(section=>{if(!section.querySelector('a[href=\"/logout\"]')){section.style.setProperty('display','none','important')}else{section.querySelectorAll('ytd-compact-link-renderer').forEach(item=>{if(!item.contains(section.querySelector('a[href=\"/logout\"]'))){item.style.setProperty('display','none','important')}})}})}const immersiveBackground=document.querySelector('#background.immersive-background');if(immersiveBackground){immersiveBackground.style.setProperty('display','none','important')}const chipContainer=document.querySelector('ytmusic-chip-cloud-renderer');if(chipContainer){chipContainer.style.setProperty('display','none','important')}const allShelves=document.querySelectorAll('ytmusic-carousel-shelf-renderer');allShelves.forEach((shelf,index)=>{if(index===0){const carousel=shelf.querySelector('#ytmusic-carousel');if(carousel)carousel.style.setProperty('display','none','important');const header=shelf.querySelector('ytmusic-carousel-shelf-basic-header-renderer');if(header){const strapline=header.querySelector('.strapline');if(strapline)strapline.style.setProperty('display','none','important');const buttonGroup=header.querySelector('#button-group');if(buttonGroup)buttonGroup.style.setProperty('display','none','important')}const navButtons=shelf.querySelector('.button-group.style-scope.ytmusic-carousel-shelf-renderer');if(navButtons)navButtons.style.setProperty('display','none','important')}else{shelf.style.setProperty('display','none','important')}});const tastebuilder=document.querySelector('ytmusic-tastebuilder-shelf-renderer');if(tastebuilder){tastebuilder.style.setProperty('display','none','important')}const titleElement=document.querySelector('ytmusic-carousel-shelf-renderer yt-formatted-string.title');if(titleElement){const newText='אם זאת פעם ראשונה שאתם נכנסים, אתם יכולים לחזור כעת לאפליקציה (מומלץ לסגור לגמרי את האפליקציה ולפתוח מחדש, כדי שהיא תקלוט שנכנסתם), אם כבר הייתם מחוברים ואתם רוצים להחליף חשבון, צאו מהחשבון (לחיצה על העיגול) והתחילו מחדש את התהליך.';if(titleElement.textContent!==newText){titleElement.textContent=newText;titleElement.style.setProperty('direction','rtl','important');titleElement.style.setProperty('white-space','normal','important');titleElement.style.setProperty('text-overflow','clip','important');titleElement.style.setProperty('overflow','visible','important');titleElement.style.setProperty('height','auto','important');titleElement.style.setProperty('font-size','16px','important');titleElement.style.setProperty('font-weight','normal','important');titleElement.style.setProperty('line-height','1.5','important');titleElement.style.setProperty('color','white','important')}}}cleanPage();const observer=new MutationObserver(()=>{cleanPage()});observer.observe(document.body,{childList:true,subtree:true})})();"
                                         
                                          # עם הנתיב הנכון la/g2 שימו לב שכאן צריך להחליף את
                                          # (שבעוד כמה שורות .line 8 כמו נגיד אחרי) אפשר למצוא דוגמאות ברחבי הקוד
                                          iget-object v2, p0, Lla/g2;->a:Landroid/webkit/WebView;
                                          
                                          invoke-virtual {v2, v1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                                      	
                                          # עד כאן
                                      	
                                          .line 6
                                          const-string p1, "javascript:Android.onRetrieveVisitorData(window.yt.config_.VISITOR_DATA)"
                                      	
                                          .line 8
                                          iget-object v0, p0, Lla/g2;->a:Landroid/webkit/WebView;
                                      
                                          .line 10
                                          invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                                      
                                          .line 13
                                          const-string p1, "javascript:Android.onRetrieveDataSyncId(window.yt.config_.DATASYNC_ID)"
                                      
                                          .line 15
                                          invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
                                      
                                          .line 18
                                          if-eqz p2, :cond_42
                                      
                                          .line 20
                                          const-string p1, "https://music.youtube.com"
                                      
                                          .line 22
                                          const/4 v0, 0x0
                                      
                                          .line 23
                                          invoke-static {p2, p1, v0}, Lde/t;->b0(Ljava/lang/String;Ljava/lang/String;Z)Z
                                      
                                          .line 26
                                          move-result p1
                                      
                                          .line 27
                                          const/4 v0, 0x1
                                      
                                          .line 28
                                          if-ne p1, v0, :cond_42
                                      
                                          .line 30
                                          invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
                                      
                                          .line 33
                                          move-result-object p1
                                      
                                          .line 34
                                          invoke-virtual {p1, p2}, Landroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
                                      
                                          .line 37
                                          move-result-object p1
                                      
                                          .line 38
                                          const-string p2, "getCookie(...)"
                                      
                                          .line 40
                                          invoke-static {p1, p2}, Lud/j;->e(Ljava/lang/Object;Ljava/lang/String;)V
                                      
                                          .line 43
                                          iget-object p2, p0, Lla/g2;->c:Ly0/w0;
                                      
                                          .line 45
                                          invoke-interface {p2, p1}, Ly0/w0;->setValue(Ljava/lang/Object;)V
                                      	
                                          .line 48
                                          new-instance v0, Lla/v1;
                                      
                                          .line 50
                                          iget-object v3, p0, Lla/g2;->f:Ly0/w0;
                                      
                                          .line 52
                                          const/4 v5, 0x1
                                      
                                          .line 53
                                          iget-object v1, p0, Lla/g2;->d:Ly0/w0;
                                      
                                          .line 55
                                          iget-object v2, p0, Lla/g2;->e:Ly0/w0;
                                      
                                          .line 57
                                          const/4 v4, 0x0
                                      
                                          .line 58
                                          invoke-direct/range {v0 .. v5}, Lla/v1;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lid/c;I)V
                                      
                                          .line 61
                                          const/4 p1, 0x3
                                      
                                          .line 62
                                          iget-object p2, p0, Lla/g2;->b:Lge/x;
                                      
                                          .line 64
                                          invoke-static {p2, v4, v4, v0, p1}, Lge/a0;->z(Lge/x;Lid/h;Lge/y;Ltd/e;I)Lge/s1;
                                      
                                          .line 67
                                          :cond_42
                                          return-void
                                      .end method
                                      
                                      

                                      M מנותק
                                      M מנותק
                                      MNU 0
                                      כתב נערך לאחרונה על ידי
                                      #24

                                      @lilo159 יש לכם בלי דפדפן פנימי?
                                      תודה רבה

                                      L תגובה 1 תגובה אחרונה
                                      0
                                      • אלוף תימןא אלוף תימן

                                        @lilo159 מי שרוצה מתורגם Metrolistkosher.zip

                                        L מנותק
                                        L מנותק
                                        lilo159
                                        כתב נערך לאחרונה על ידי
                                        #25

                                        @אלוף-תימן אני יכול להגיש לציבור את האפליקיצה שתרגמת בפוסט הראשון?

                                        אלוף תימןא תגובה 1 תגובה אחרונה
                                        0
                                        • L lilo159

                                          @אלוף-תימן אני יכול להגיש לציבור את האפליקיצה שתרגמת בפוסט הראשון?

                                          אלוף תימןא מנותק
                                          אלוף תימןא מנותק
                                          אלוף תימן
                                          כתב נערך לאחרונה על ידי
                                          #26

                                          @lilo159 בשמחה

                                          תגובה 1 תגובה אחרונה
                                          2

                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • חוקי הפורום
                                          • פופולרי
                                          • לא נפתר
                                          • משתמשים
                                          • חיפוש גוגל בפורום
                                          • צור קשר