דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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. להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!

להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!

מתוזמן נעוץ נעול הועבר אפליקציות להורדה
47 פוסטים 14 כותבים 328 צפיות 12 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • L מנותק
    L מנותק
    lilo159
    כתב נערך לאחרונה על ידי lilo159
    #1

    303ace4b-2f91-4fe0-8806-4334becb11ae-image.png
    קודם כל תודה לד' יתברך, זה פרוייקט שחשבתי שיקח לי שבוע, וסיימתי ביום..
    זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

    היתרונות כאן נראה לי ברורים, לא צריך להוריד APK, להעלות לשרת וכו', האפלקציות תמיד מעודכנות וכו'.

    את האפליקציה ערכתי עם AI Studio, והצלחתי להגיע למגבלה היומית..
    בעזרת ד' בלנ"ד מאוחר יותר אציג את השינויים בקוד.

    ישנו קובץ JSON שמאוחסן ברשת (את שלי שמתי בGITHUB, שמכיל את רשימת האפליקיצות המותרות, בעזרת ד' אני עובד על הממשק לעריכה נוחה.
    עוד דבר, את האפליקציה תרגמתי עם AI סטודיו גם כן, אז מחילה אם יש מילים לא מובנות או משהו, דווחו ואתקן בלנ"ד.
    אני מביא כאן את ה"דוגמית", יש שם ארבעה אפליקציות.
    להורדת האפליקציה
    קובץ הJSON אמור להראות כך:

    [
      "com.whatsapp",
      "com.tranzmate",
      "com.waze",
      "tfilon.tfilon"
    ]
    

    אפשר ליצור קובץ כזה בגיטהאב, ללחוץ על RAW, ואז להתעיק את הקישור.

    חפשו בMT מנג'ר את השורה הזאת:

    https://raw.githubusercontent.com/lilor159357/aurora-whitelist/refs/heads/main/whitelist.json
    

    ותחליפו אותה עם הקישור לJSON שלכם, ויש לכם חנות אפליקציות שאתם מחליטים איזה אפליקציות יהיו בה!

    השינויים בספויילר:


    להוסיף בנתיב com/aurora/store
    את הclass:
    AuroraApp$2
    (ליד הקלאס AuroraApp)

    # classes.dex
    
    .class Lcom/aurora/store/AuroraApp$2;
    .super Ljava/lang/Object;
    
    # interfaces
    .implements Ljava/lang/Runnable;
    
    
    # annotations
    .annotation system Ldalvik/annotation/EnclosingMethod;
        value = Lcom/aurora/store/AuroraApp;->onCreate()V
    .end annotation
    
    .annotation system Ldalvik/annotation/InnerClass;
        accessFlags = 0x0
        name = null
    .end annotation
    
    
    # instance fields
    .field final synthetic this$0:Lcom/aurora/store/AuroraApp;
    
    
    # direct methods
    .method constructor <init>(Lcom/aurora/store/AuroraApp;)V
        .registers 2
    
        iput-object p1, p0, Lcom/aurora/store/AuroraApp$2;->this$0:Lcom/aurora/store/AuroraApp;
    
        invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    
        return-void
    .end method
    
    
    # virtual methods
    .method public run()V
        .registers 6
    
        :try_start_0
        new-instance v0, Ljava/net/URL;
    
        const-string v1, "https://raw.githubusercontent.com/lilor159357/aurora-whitelist/refs/heads/main/whitelist.json"
    
        invoke-direct {v0, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
    
        invoke-virtual {v0}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
    
        move-result-object v0
    
        check-cast v0, Ljava/net/HttpURLConnection;
    
        new-instance v1, Ljava/io/BufferedReader;
    
        new-instance v2, Ljava/io/InputStreamReader;
    
        invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
    
        move-result-object v0
    
        invoke-direct {v2, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
    
        invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    
        new-instance v0, Ljava/lang/StringBuilder;
    
        invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
    
        :goto_20
        invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
    
        move-result-object v2
    
        if-eqz v2, :cond_2a
    
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        goto :goto_20
    
        :cond_2a
        new-instance v1, Lorg/json/JSONArray;
    
        invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    
        move-result-object v0
    
        invoke-direct {v1, v0}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
    
        sget-object v0, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
    
        invoke-interface {v0}, Ljava/util/List;->clear()V
    
        const/4 v0, 0x0
    
        :goto_39
        invoke-virtual {v1}, Lorg/json/JSONArray;->length()I
    
        move-result v2
    
        if-ge v0, v2, :cond_4b
    
        sget-object v2, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
    
        invoke-virtual {v1, v0}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
    
        move-result-object v3
    
        invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
    
        add-int/lit8 v0, v0, 0x1
    
        goto :goto_39
        :try_end_4b
        .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4b} :catch_4c
    
        :cond_4b
        return-void
    
        :catch_4c
        move-exception v0
    
        const-string v1, "Whitelist"
    
        const-string v2, "Failed to load whitelist"
    
        invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
    
        return-void
    .end method
    

    שינויים בתוך הקלאס AuroraApp (בנתיב com/aurora/store):

    להוסיף אחרי static fields #
    את זה:

    .field public static authorizedApps:Ljava/util/List;
        .annotation system Ldalvik/annotation/Signature;
            value = {
                "Ljava/util/List<",
                "Ljava/lang/String;",
                ">;"
            }
        .end annotation
    .end field
    

    להוסיף בתוך onCreate
    לפני line 4. (אחרי ה-invoke-super)
    את זה:

        new-instance v0, Ljava/util/concurrent/CopyOnWriteArrayList;
    
        invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V
    
        sput-object v0, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
    
        new-instance v0, Ljava/lang/Thread;
    
        new-instance v1, Lcom/aurora/store/AuroraApp$2;
    
        invoke-direct {v1, p0}, Lcom/aurora/store/AuroraApp$2;-><init>(Lcom/aurora/store/AuroraApp;)V
    
        invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
    
        invoke-virtual {v0}, Ljava/lang/Thread;->start()V
    

    שינויים בקלאס MainActivity (בנתיב com/aurora/store):

    חסימת פתיחת קישורים לא מורשים:
    בתוך onCreate
    לפני line 15. (אחרי ה-invoke-super)

        invoke-virtual {p0}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
        move-result-object v0
        invoke-virtual {v0}, Landroid/content/Intent;->getData()Landroid/net/Uri;
        move-result-object v0
        if-eqz v0, :cond_3c
        const-string v1, "id"
        invoke-virtual {v0, v1}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
        move-result-object v0
        if-eqz v0, :cond_3c
        sget-object v1, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
        const/4 v2, 0x1
        if-eqz v1, :cond_2c
        invoke-interface {v1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
        move-result v0
        if-eqz v0, :cond_2c
        const/4 v2, 0x0
        :cond_2c
        if-eqz v2, :cond_3c
        const-string v0, "אפליקציה זו אינה מורשת"
        const/4 v1, 0x1
        invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
        move-result-object v0
        invoke-virtual {v0}, Landroid/widget/Toast;->show()V
        invoke-virtual {p0}, Landroid/app/Activity;->finish()V
        return-void
        :cond_3c
    

    הסתרת כפתור המשחקים:
    בתוך method public constructor <init>()V
    להחליף מline 39. עד לפני line 65.
    עם זה:

    .line 39
        const v1, 0x7f0902fa
    .line 42
        invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    .line 45
        move-result-object v1
    .line 46
        const/4 v2, 0x2
    .line 49
        new-array v3, v2, [Ljava/lang/Integer;
    .line 52
        const/4 v4, 0x0
    .line 53
        aput-object v0, v3, v4
    .line 56
        const/4 v0, 0x1
    .line 57
        aput-object v1, v3, v0
    

    ובתוך onCreate
    להוסיף לפני line 148.
    את זה:

        invoke-virtual {v0}, Lcom/google/android/material/navigation/NavigationBarView;->getMenu()Landroid/view/Menu;
        move-result-object v5
        const v6, 0x7f090144
        invoke-interface {v5, v6}, Landroid/view/Menu;->removeItem(I)V
    

    שינויים בקלאס AppDetailsFragment (בנתיב com/aurora/store/view/ui/details):

    להוסיף בתוך method public final V
    לפני line 10.

    invoke-virtual {v0}, Lx4/a;->v0()LM2/a;
     move-result-object v3
     check-cast v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;
    
     #זה מסתיר את התגובות
     # Get the review layout binding from the main binding
     iget-object v4, v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;->layoutDetailsReview:Lcom/aurora/store/databinding/LayoutDetailsReviewBinding;
     # Get its root view and set visibility to GONE
     invoke-virtual {v4}, Lcom/aurora/store/databinding/LayoutDetailsReviewBinding;->getRoot()Landroid/view/View;
     move-result-object v4
     const/16 v5, 0x8
     invoke-virtual {v4, v5}, Landroid/view/View;->setVisibility(I)V
    
     #זה מסתיר את הצילו"מים בפרטי אפליקציה
     iget-object v6, v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;->layoutDetailDescription:Lcom/aurora/store/databinding/LayoutDetailsDescriptionBinding;
     # Get the EpoxyRecyclerView (which contains the screenshots) from the description layout binding
     iget-object v7, v6, Lcom/aurora/store/databinding/LayoutDetailsDescriptionBinding;->epoxyRecycler:Lcom/airbnb/epoxy/EpoxyRecyclerView;
     # Set its visibility to GONE
     const/16 v8, 0x8
     invoke-virtual {v7, v8}, Landroid/view/View;->setVisibility(I)V
    

    שינויים בקלאס StreamCluster (בנתיב com/aurora/gplayapi/data/models):
    להחליף את כל הmethod:
    getClusterAppList
    עם זה:

    .method public final getClusterAppList()Ljava/util/List;
    .registers 7
    	.annotation system Ldalvik/annotation/Signature;
    		value = {
    			"()Ljava/util/List<",
    			"Lcom/aurora/gplayapi/data/models/App;",
    			">;"
    		}
    	.end annotation
    
    	.prologue
    	.line 1
    	iget-object v0, p0, Lcom/aurora/gplayapi/data/models/StreamCluster;->clusterAppList:Ljava/util/List;
    
    	.line 2
    	sget-object v1, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
    
    	.line 3
    	if-eqz v1, :cond_31
    
    	invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
    
    	move-result v2
    
    	if-eqz v2, :cond_d
    
    	goto :goto_31
    
    	.line 4
    	:cond_d
    	new-instance v2, Ljava/util/ArrayList;
    
    	invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
    
    	.line 5
    	invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
    
    	move-result-object v3
    
    	.line 6
    	:cond_16
    	:goto_16
    	invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
    
    	move-result v4
    
    	if-eqz v4, :cond_30
    
    	.line 7
    	invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
    
    	move-result-object v4
    
    	check-cast v4, Lcom/aurora/gplayapi/data/models/App;
    
    	.line 8
    	invoke-virtual {v4}, Lcom/aurora/gplayapi/data/models/App;->getPackageName()Ljava/lang/String;
    
    	move-result-object v5
    
    	.line 9
    	invoke-interface {v1, v5}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
    
    	move-result v5
    
    	if-eqz v5, :cond_16
    
    	.line 10
    	invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
    
    	goto :goto_16
    
    	.line 12
    	:cond_30
    	return-object v2
    
    	.line 13
    	:cond_31
    	:goto_31
    	new-instance v0, Ljava/util/ArrayList;
    
    	invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
    
    	return-object v0
    .end method
    

    עם ישראל חייע iosi poliI מישהו12מ הנני העניה נחמן פלחנ 6 תגובות תגובה אחרונה
    11
    • L lilo159

      303ace4b-2f91-4fe0-8806-4334becb11ae-image.png
      קודם כל תודה לד' יתברך, זה פרוייקט שחשבתי שיקח לי שבוע, וסיימתי ביום..
      זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

      היתרונות כאן נראה לי ברורים, לא צריך להוריד APK, להעלות לשרת וכו', האפלקציות תמיד מעודכנות וכו'.

      את האפליקציה ערכתי עם AI Studio, והצלחתי להגיע למגבלה היומית..
      בעזרת ד' בלנ"ד מאוחר יותר אציג את השינויים בקוד.

      ישנו קובץ JSON שמאוחסן ברשת (את שלי שמתי בGITHUB, שמכיל את רשימת האפליקיצות המותרות, בעזרת ד' אני עובד על הממשק לעריכה נוחה.
      עוד דבר, את האפליקציה תרגמתי עם AI סטודיו גם כן, אז מחילה אם יש מילים לא מובנות או משהו, דווחו ואתקן בלנ"ד.
      אני מביא כאן את ה"דוגמית", יש שם ארבעה אפליקציות.
      להורדת האפליקציה
      קובץ הJSON אמור להראות כך:

      [
        "com.whatsapp",
        "com.tranzmate",
        "com.waze",
        "tfilon.tfilon"
      ]
      

      אפשר ליצור קובץ כזה בגיטהאב, ללחוץ על RAW, ואז להתעיק את הקישור.

      חפשו בMT מנג'ר את השורה הזאת:

      https://raw.githubusercontent.com/lilor159357/aurora-whitelist/refs/heads/main/whitelist.json
      

      ותחליפו אותה עם הקישור לJSON שלכם, ויש לכם חנות אפליקציות שאתם מחליטים איזה אפליקציות יהיו בה!

      השינויים בספויילר:


      להוסיף בנתיב com/aurora/store
      את הclass:
      AuroraApp$2
      (ליד הקלאס AuroraApp)

      # classes.dex
      
      .class Lcom/aurora/store/AuroraApp$2;
      .super Ljava/lang/Object;
      
      # interfaces
      .implements Ljava/lang/Runnable;
      
      
      # annotations
      .annotation system Ldalvik/annotation/EnclosingMethod;
          value = Lcom/aurora/store/AuroraApp;->onCreate()V
      .end annotation
      
      .annotation system Ldalvik/annotation/InnerClass;
          accessFlags = 0x0
          name = null
      .end annotation
      
      
      # instance fields
      .field final synthetic this$0:Lcom/aurora/store/AuroraApp;
      
      
      # direct methods
      .method constructor <init>(Lcom/aurora/store/AuroraApp;)V
          .registers 2
      
          iput-object p1, p0, Lcom/aurora/store/AuroraApp$2;->this$0:Lcom/aurora/store/AuroraApp;
      
          invoke-direct {p0}, Ljava/lang/Object;-><init>()V
      
          return-void
      .end method
      
      
      # virtual methods
      .method public run()V
          .registers 6
      
          :try_start_0
          new-instance v0, Ljava/net/URL;
      
          const-string v1, "https://raw.githubusercontent.com/lilor159357/aurora-whitelist/refs/heads/main/whitelist.json"
      
          invoke-direct {v0, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
      
          invoke-virtual {v0}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
      
          move-result-object v0
      
          check-cast v0, Ljava/net/HttpURLConnection;
      
          new-instance v1, Ljava/io/BufferedReader;
      
          new-instance v2, Ljava/io/InputStreamReader;
      
          invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
      
          move-result-object v0
      
          invoke-direct {v2, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
      
          invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
      
          new-instance v0, Ljava/lang/StringBuilder;
      
          invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
      
          :goto_20
          invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
      
          move-result-object v2
      
          if-eqz v2, :cond_2a
      
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
      
          goto :goto_20
      
          :cond_2a
          new-instance v1, Lorg/json/JSONArray;
      
          invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
      
          move-result-object v0
      
          invoke-direct {v1, v0}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
      
          sget-object v0, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
      
          invoke-interface {v0}, Ljava/util/List;->clear()V
      
          const/4 v0, 0x0
      
          :goto_39
          invoke-virtual {v1}, Lorg/json/JSONArray;->length()I
      
          move-result v2
      
          if-ge v0, v2, :cond_4b
      
          sget-object v2, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
      
          invoke-virtual {v1, v0}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
      
          move-result-object v3
      
          invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
      
          add-int/lit8 v0, v0, 0x1
      
          goto :goto_39
          :try_end_4b
          .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4b} :catch_4c
      
          :cond_4b
          return-void
      
          :catch_4c
          move-exception v0
      
          const-string v1, "Whitelist"
      
          const-string v2, "Failed to load whitelist"
      
          invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
      
          return-void
      .end method
      

      שינויים בתוך הקלאס AuroraApp (בנתיב com/aurora/store):

      להוסיף אחרי static fields #
      את זה:

      .field public static authorizedApps:Ljava/util/List;
          .annotation system Ldalvik/annotation/Signature;
              value = {
                  "Ljava/util/List<",
                  "Ljava/lang/String;",
                  ">;"
              }
          .end annotation
      .end field
      

      להוסיף בתוך onCreate
      לפני line 4. (אחרי ה-invoke-super)
      את זה:

          new-instance v0, Ljava/util/concurrent/CopyOnWriteArrayList;
      
          invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V
      
          sput-object v0, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
      
          new-instance v0, Ljava/lang/Thread;
      
          new-instance v1, Lcom/aurora/store/AuroraApp$2;
      
          invoke-direct {v1, p0}, Lcom/aurora/store/AuroraApp$2;-><init>(Lcom/aurora/store/AuroraApp;)V
      
          invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
      
          invoke-virtual {v0}, Ljava/lang/Thread;->start()V
      

      שינויים בקלאס MainActivity (בנתיב com/aurora/store):

      חסימת פתיחת קישורים לא מורשים:
      בתוך onCreate
      לפני line 15. (אחרי ה-invoke-super)

          invoke-virtual {p0}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
          move-result-object v0
          invoke-virtual {v0}, Landroid/content/Intent;->getData()Landroid/net/Uri;
          move-result-object v0
          if-eqz v0, :cond_3c
          const-string v1, "id"
          invoke-virtual {v0, v1}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
          move-result-object v0
          if-eqz v0, :cond_3c
          sget-object v1, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
          const/4 v2, 0x1
          if-eqz v1, :cond_2c
          invoke-interface {v1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
          move-result v0
          if-eqz v0, :cond_2c
          const/4 v2, 0x0
          :cond_2c
          if-eqz v2, :cond_3c
          const-string v0, "אפליקציה זו אינה מורשת"
          const/4 v1, 0x1
          invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
          move-result-object v0
          invoke-virtual {v0}, Landroid/widget/Toast;->show()V
          invoke-virtual {p0}, Landroid/app/Activity;->finish()V
          return-void
          :cond_3c
      

      הסתרת כפתור המשחקים:
      בתוך method public constructor <init>()V
      להחליף מline 39. עד לפני line 65.
      עם זה:

      .line 39
          const v1, 0x7f0902fa
      .line 42
          invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
      .line 45
          move-result-object v1
      .line 46
          const/4 v2, 0x2
      .line 49
          new-array v3, v2, [Ljava/lang/Integer;
      .line 52
          const/4 v4, 0x0
      .line 53
          aput-object v0, v3, v4
      .line 56
          const/4 v0, 0x1
      .line 57
          aput-object v1, v3, v0
      

      ובתוך onCreate
      להוסיף לפני line 148.
      את זה:

          invoke-virtual {v0}, Lcom/google/android/material/navigation/NavigationBarView;->getMenu()Landroid/view/Menu;
          move-result-object v5
          const v6, 0x7f090144
          invoke-interface {v5, v6}, Landroid/view/Menu;->removeItem(I)V
      

      שינויים בקלאס AppDetailsFragment (בנתיב com/aurora/store/view/ui/details):

      להוסיף בתוך method public final V
      לפני line 10.

      invoke-virtual {v0}, Lx4/a;->v0()LM2/a;
       move-result-object v3
       check-cast v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;
      
       #זה מסתיר את התגובות
       # Get the review layout binding from the main binding
       iget-object v4, v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;->layoutDetailsReview:Lcom/aurora/store/databinding/LayoutDetailsReviewBinding;
       # Get its root view and set visibility to GONE
       invoke-virtual {v4}, Lcom/aurora/store/databinding/LayoutDetailsReviewBinding;->getRoot()Landroid/view/View;
       move-result-object v4
       const/16 v5, 0x8
       invoke-virtual {v4, v5}, Landroid/view/View;->setVisibility(I)V
      
       #זה מסתיר את הצילו"מים בפרטי אפליקציה
       iget-object v6, v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;->layoutDetailDescription:Lcom/aurora/store/databinding/LayoutDetailsDescriptionBinding;
       # Get the EpoxyRecyclerView (which contains the screenshots) from the description layout binding
       iget-object v7, v6, Lcom/aurora/store/databinding/LayoutDetailsDescriptionBinding;->epoxyRecycler:Lcom/airbnb/epoxy/EpoxyRecyclerView;
       # Set its visibility to GONE
       const/16 v8, 0x8
       invoke-virtual {v7, v8}, Landroid/view/View;->setVisibility(I)V
      

      שינויים בקלאס StreamCluster (בנתיב com/aurora/gplayapi/data/models):
      להחליף את כל הmethod:
      getClusterAppList
      עם זה:

      .method public final getClusterAppList()Ljava/util/List;
      .registers 7
      	.annotation system Ldalvik/annotation/Signature;
      		value = {
      			"()Ljava/util/List<",
      			"Lcom/aurora/gplayapi/data/models/App;",
      			">;"
      		}
      	.end annotation
      
      	.prologue
      	.line 1
      	iget-object v0, p0, Lcom/aurora/gplayapi/data/models/StreamCluster;->clusterAppList:Ljava/util/List;
      
      	.line 2
      	sget-object v1, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
      
      	.line 3
      	if-eqz v1, :cond_31
      
      	invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
      
      	move-result v2
      
      	if-eqz v2, :cond_d
      
      	goto :goto_31
      
      	.line 4
      	:cond_d
      	new-instance v2, Ljava/util/ArrayList;
      
      	invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
      
      	.line 5
      	invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
      
      	move-result-object v3
      
      	.line 6
      	:cond_16
      	:goto_16
      	invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
      
      	move-result v4
      
      	if-eqz v4, :cond_30
      
      	.line 7
      	invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
      
      	move-result-object v4
      
      	check-cast v4, Lcom/aurora/gplayapi/data/models/App;
      
      	.line 8
      	invoke-virtual {v4}, Lcom/aurora/gplayapi/data/models/App;->getPackageName()Ljava/lang/String;
      
      	move-result-object v5
      
      	.line 9
      	invoke-interface {v1, v5}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
      
      	move-result v5
      
      	if-eqz v5, :cond_16
      
      	.line 10
      	invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
      
      	goto :goto_16
      
      	.line 12
      	:cond_30
      	return-object v2
      
      	.line 13
      	:cond_31
      	:goto_31
      	new-instance v0, Ljava/util/ArrayList;
      
      	invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
      
      	return-object v0
      .end method
      

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

      @lilo159 כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

      זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

      @שניאור-שמח נראה לי

      שניאור שמחש תגובה 1 תגובה אחרונה
      0
      • עם ישראל חייע עם ישראל חיי

        @lilo159 כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

        זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

        @שניאור-שמח נראה לי

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

        @עם-ישראל-חיי כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

        @lilo159 כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

        זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

        @שניאור-שמח נראה לי

        לא אני, אלה @jacobel640

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

        עם ישראל חייע תגובה 1 תגובה אחרונה
        1
        • שניאור שמחש שניאור שמח

          @עם-ישראל-חיי כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

          @lilo159 כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

          זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

          @שניאור-שמח נראה לי

          לא אני, אלה @jacobel640

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

          @שניאור-שמח כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

          @עם-ישראל-חיי כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

          @lilo159 כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

          זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

          @שניאור-שמח נראה לי

          לא אני, אלה @jacobel640

          צודק
          https://mitmachim.top/post/257850

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

            303ace4b-2f91-4fe0-8806-4334becb11ae-image.png
            קודם כל תודה לד' יתברך, זה פרוייקט שחשבתי שיקח לי שבוע, וסיימתי ביום..
            זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

            היתרונות כאן נראה לי ברורים, לא צריך להוריד APK, להעלות לשרת וכו', האפלקציות תמיד מעודכנות וכו'.

            את האפליקציה ערכתי עם AI Studio, והצלחתי להגיע למגבלה היומית..
            בעזרת ד' בלנ"ד מאוחר יותר אציג את השינויים בקוד.

            ישנו קובץ JSON שמאוחסן ברשת (את שלי שמתי בGITHUB, שמכיל את רשימת האפליקיצות המותרות, בעזרת ד' אני עובד על הממשק לעריכה נוחה.
            עוד דבר, את האפליקציה תרגמתי עם AI סטודיו גם כן, אז מחילה אם יש מילים לא מובנות או משהו, דווחו ואתקן בלנ"ד.
            אני מביא כאן את ה"דוגמית", יש שם ארבעה אפליקציות.
            להורדת האפליקציה
            קובץ הJSON אמור להראות כך:

            [
              "com.whatsapp",
              "com.tranzmate",
              "com.waze",
              "tfilon.tfilon"
            ]
            

            אפשר ליצור קובץ כזה בגיטהאב, ללחוץ על RAW, ואז להתעיק את הקישור.

            חפשו בMT מנג'ר את השורה הזאת:

            https://raw.githubusercontent.com/lilor159357/aurora-whitelist/refs/heads/main/whitelist.json
            

            ותחליפו אותה עם הקישור לJSON שלכם, ויש לכם חנות אפליקציות שאתם מחליטים איזה אפליקציות יהיו בה!

            השינויים בספויילר:


            להוסיף בנתיב com/aurora/store
            את הclass:
            AuroraApp$2
            (ליד הקלאס AuroraApp)

            # classes.dex
            
            .class Lcom/aurora/store/AuroraApp$2;
            .super Ljava/lang/Object;
            
            # interfaces
            .implements Ljava/lang/Runnable;
            
            
            # annotations
            .annotation system Ldalvik/annotation/EnclosingMethod;
                value = Lcom/aurora/store/AuroraApp;->onCreate()V
            .end annotation
            
            .annotation system Ldalvik/annotation/InnerClass;
                accessFlags = 0x0
                name = null
            .end annotation
            
            
            # instance fields
            .field final synthetic this$0:Lcom/aurora/store/AuroraApp;
            
            
            # direct methods
            .method constructor <init>(Lcom/aurora/store/AuroraApp;)V
                .registers 2
            
                iput-object p1, p0, Lcom/aurora/store/AuroraApp$2;->this$0:Lcom/aurora/store/AuroraApp;
            
                invoke-direct {p0}, Ljava/lang/Object;-><init>()V
            
                return-void
            .end method
            
            
            # virtual methods
            .method public run()V
                .registers 6
            
                :try_start_0
                new-instance v0, Ljava/net/URL;
            
                const-string v1, "https://raw.githubusercontent.com/lilor159357/aurora-whitelist/refs/heads/main/whitelist.json"
            
                invoke-direct {v0, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
            
                invoke-virtual {v0}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
            
                move-result-object v0
            
                check-cast v0, Ljava/net/HttpURLConnection;
            
                new-instance v1, Ljava/io/BufferedReader;
            
                new-instance v2, Ljava/io/InputStreamReader;
            
                invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
            
                move-result-object v0
            
                invoke-direct {v2, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
            
                invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
            
                new-instance v0, Ljava/lang/StringBuilder;
            
                invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
            
                :goto_20
                invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
            
                move-result-object v2
            
                if-eqz v2, :cond_2a
            
                invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
            
                goto :goto_20
            
                :cond_2a
                new-instance v1, Lorg/json/JSONArray;
            
                invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
            
                move-result-object v0
            
                invoke-direct {v1, v0}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
            
                sget-object v0, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
            
                invoke-interface {v0}, Ljava/util/List;->clear()V
            
                const/4 v0, 0x0
            
                :goto_39
                invoke-virtual {v1}, Lorg/json/JSONArray;->length()I
            
                move-result v2
            
                if-ge v0, v2, :cond_4b
            
                sget-object v2, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
            
                invoke-virtual {v1, v0}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
            
                move-result-object v3
            
                invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
            
                add-int/lit8 v0, v0, 0x1
            
                goto :goto_39
                :try_end_4b
                .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4b} :catch_4c
            
                :cond_4b
                return-void
            
                :catch_4c
                move-exception v0
            
                const-string v1, "Whitelist"
            
                const-string v2, "Failed to load whitelist"
            
                invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            
                return-void
            .end method
            

            שינויים בתוך הקלאס AuroraApp (בנתיב com/aurora/store):

            להוסיף אחרי static fields #
            את זה:

            .field public static authorizedApps:Ljava/util/List;
                .annotation system Ldalvik/annotation/Signature;
                    value = {
                        "Ljava/util/List<",
                        "Ljava/lang/String;",
                        ">;"
                    }
                .end annotation
            .end field
            

            להוסיף בתוך onCreate
            לפני line 4. (אחרי ה-invoke-super)
            את זה:

                new-instance v0, Ljava/util/concurrent/CopyOnWriteArrayList;
            
                invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V
            
                sput-object v0, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
            
                new-instance v0, Ljava/lang/Thread;
            
                new-instance v1, Lcom/aurora/store/AuroraApp$2;
            
                invoke-direct {v1, p0}, Lcom/aurora/store/AuroraApp$2;-><init>(Lcom/aurora/store/AuroraApp;)V
            
                invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
            
                invoke-virtual {v0}, Ljava/lang/Thread;->start()V
            

            שינויים בקלאס MainActivity (בנתיב com/aurora/store):

            חסימת פתיחת קישורים לא מורשים:
            בתוך onCreate
            לפני line 15. (אחרי ה-invoke-super)

                invoke-virtual {p0}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
                move-result-object v0
                invoke-virtual {v0}, Landroid/content/Intent;->getData()Landroid/net/Uri;
                move-result-object v0
                if-eqz v0, :cond_3c
                const-string v1, "id"
                invoke-virtual {v0, v1}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
                move-result-object v0
                if-eqz v0, :cond_3c
                sget-object v1, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
                const/4 v2, 0x1
                if-eqz v1, :cond_2c
                invoke-interface {v1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
                move-result v0
                if-eqz v0, :cond_2c
                const/4 v2, 0x0
                :cond_2c
                if-eqz v2, :cond_3c
                const-string v0, "אפליקציה זו אינה מורשת"
                const/4 v1, 0x1
                invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
                move-result-object v0
                invoke-virtual {v0}, Landroid/widget/Toast;->show()V
                invoke-virtual {p0}, Landroid/app/Activity;->finish()V
                return-void
                :cond_3c
            

            הסתרת כפתור המשחקים:
            בתוך method public constructor <init>()V
            להחליף מline 39. עד לפני line 65.
            עם זה:

            .line 39
                const v1, 0x7f0902fa
            .line 42
                invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
            .line 45
                move-result-object v1
            .line 46
                const/4 v2, 0x2
            .line 49
                new-array v3, v2, [Ljava/lang/Integer;
            .line 52
                const/4 v4, 0x0
            .line 53
                aput-object v0, v3, v4
            .line 56
                const/4 v0, 0x1
            .line 57
                aput-object v1, v3, v0
            

            ובתוך onCreate
            להוסיף לפני line 148.
            את זה:

                invoke-virtual {v0}, Lcom/google/android/material/navigation/NavigationBarView;->getMenu()Landroid/view/Menu;
                move-result-object v5
                const v6, 0x7f090144
                invoke-interface {v5, v6}, Landroid/view/Menu;->removeItem(I)V
            

            שינויים בקלאס AppDetailsFragment (בנתיב com/aurora/store/view/ui/details):

            להוסיף בתוך method public final V
            לפני line 10.

            invoke-virtual {v0}, Lx4/a;->v0()LM2/a;
             move-result-object v3
             check-cast v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;
            
             #זה מסתיר את התגובות
             # Get the review layout binding from the main binding
             iget-object v4, v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;->layoutDetailsReview:Lcom/aurora/store/databinding/LayoutDetailsReviewBinding;
             # Get its root view and set visibility to GONE
             invoke-virtual {v4}, Lcom/aurora/store/databinding/LayoutDetailsReviewBinding;->getRoot()Landroid/view/View;
             move-result-object v4
             const/16 v5, 0x8
             invoke-virtual {v4, v5}, Landroid/view/View;->setVisibility(I)V
            
             #זה מסתיר את הצילו"מים בפרטי אפליקציה
             iget-object v6, v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;->layoutDetailDescription:Lcom/aurora/store/databinding/LayoutDetailsDescriptionBinding;
             # Get the EpoxyRecyclerView (which contains the screenshots) from the description layout binding
             iget-object v7, v6, Lcom/aurora/store/databinding/LayoutDetailsDescriptionBinding;->epoxyRecycler:Lcom/airbnb/epoxy/EpoxyRecyclerView;
             # Set its visibility to GONE
             const/16 v8, 0x8
             invoke-virtual {v7, v8}, Landroid/view/View;->setVisibility(I)V
            

            שינויים בקלאס StreamCluster (בנתיב com/aurora/gplayapi/data/models):
            להחליף את כל הmethod:
            getClusterAppList
            עם זה:

            .method public final getClusterAppList()Ljava/util/List;
            .registers 7
            	.annotation system Ldalvik/annotation/Signature;
            		value = {
            			"()Ljava/util/List<",
            			"Lcom/aurora/gplayapi/data/models/App;",
            			">;"
            		}
            	.end annotation
            
            	.prologue
            	.line 1
            	iget-object v0, p0, Lcom/aurora/gplayapi/data/models/StreamCluster;->clusterAppList:Ljava/util/List;
            
            	.line 2
            	sget-object v1, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
            
            	.line 3
            	if-eqz v1, :cond_31
            
            	invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
            
            	move-result v2
            
            	if-eqz v2, :cond_d
            
            	goto :goto_31
            
            	.line 4
            	:cond_d
            	new-instance v2, Ljava/util/ArrayList;
            
            	invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
            
            	.line 5
            	invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
            
            	move-result-object v3
            
            	.line 6
            	:cond_16
            	:goto_16
            	invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
            
            	move-result v4
            
            	if-eqz v4, :cond_30
            
            	.line 7
            	invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
            
            	move-result-object v4
            
            	check-cast v4, Lcom/aurora/gplayapi/data/models/App;
            
            	.line 8
            	invoke-virtual {v4}, Lcom/aurora/gplayapi/data/models/App;->getPackageName()Ljava/lang/String;
            
            	move-result-object v5
            
            	.line 9
            	invoke-interface {v1, v5}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
            
            	move-result v5
            
            	if-eqz v5, :cond_16
            
            	.line 10
            	invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
            
            	goto :goto_16
            
            	.line 12
            	:cond_30
            	return-object v2
            
            	.line 13
            	:cond_31
            	:goto_31
            	new-instance v0, Ljava/util/ArrayList;
            
            	invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
            
            	return-object v0
            .end method
            

            iosi poliI מנותק
            iosi poliI מנותק
            iosi poli
            כתב נערך לאחרונה על ידי
            #5

            @lilo159 וואו, זה פסיכי!
            אם אני משנה את הקישור זה יתעדכן בחנות?

            L תגובה 1 תגובה אחרונה
            0
            • iosi poliI iosi poli

              @lilo159 וואו, זה פסיכי!
              אם אני משנה את הקישור זה יתעדכן בחנות?

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

              @iosi-poli כן

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

                @iosi-poli כן

                iosi poliI מנותק
                iosi poliI מנותק
                iosi poli
                כתב נערך לאחרונה על ידי
                #7

                @lilo159 וואו, זה החנות הכי שימושית שראיתי בכל הפורום!
                כל הכבוד!

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

                  303ace4b-2f91-4fe0-8806-4334becb11ae-image.png
                  קודם כל תודה לד' יתברך, זה פרוייקט שחשבתי שיקח לי שבוע, וסיימתי ביום..
                  זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.

                  היתרונות כאן נראה לי ברורים, לא צריך להוריד APK, להעלות לשרת וכו', האפלקציות תמיד מעודכנות וכו'.

                  את האפליקציה ערכתי עם AI Studio, והצלחתי להגיע למגבלה היומית..
                  בעזרת ד' בלנ"ד מאוחר יותר אציג את השינויים בקוד.

                  ישנו קובץ JSON שמאוחסן ברשת (את שלי שמתי בGITHUB, שמכיל את רשימת האפליקיצות המותרות, בעזרת ד' אני עובד על הממשק לעריכה נוחה.
                  עוד דבר, את האפליקציה תרגמתי עם AI סטודיו גם כן, אז מחילה אם יש מילים לא מובנות או משהו, דווחו ואתקן בלנ"ד.
                  אני מביא כאן את ה"דוגמית", יש שם ארבעה אפליקציות.
                  להורדת האפליקציה
                  קובץ הJSON אמור להראות כך:

                  [
                    "com.whatsapp",
                    "com.tranzmate",
                    "com.waze",
                    "tfilon.tfilon"
                  ]
                  

                  אפשר ליצור קובץ כזה בגיטהאב, ללחוץ על RAW, ואז להתעיק את הקישור.

                  חפשו בMT מנג'ר את השורה הזאת:

                  https://raw.githubusercontent.com/lilor159357/aurora-whitelist/refs/heads/main/whitelist.json
                  

                  ותחליפו אותה עם הקישור לJSON שלכם, ויש לכם חנות אפליקציות שאתם מחליטים איזה אפליקציות יהיו בה!

                  השינויים בספויילר:


                  להוסיף בנתיב com/aurora/store
                  את הclass:
                  AuroraApp$2
                  (ליד הקלאס AuroraApp)

                  # classes.dex
                  
                  .class Lcom/aurora/store/AuroraApp$2;
                  .super Ljava/lang/Object;
                  
                  # interfaces
                  .implements Ljava/lang/Runnable;
                  
                  
                  # annotations
                  .annotation system Ldalvik/annotation/EnclosingMethod;
                      value = Lcom/aurora/store/AuroraApp;->onCreate()V
                  .end annotation
                  
                  .annotation system Ldalvik/annotation/InnerClass;
                      accessFlags = 0x0
                      name = null
                  .end annotation
                  
                  
                  # instance fields
                  .field final synthetic this$0:Lcom/aurora/store/AuroraApp;
                  
                  
                  # direct methods
                  .method constructor <init>(Lcom/aurora/store/AuroraApp;)V
                      .registers 2
                  
                      iput-object p1, p0, Lcom/aurora/store/AuroraApp$2;->this$0:Lcom/aurora/store/AuroraApp;
                  
                      invoke-direct {p0}, Ljava/lang/Object;-><init>()V
                  
                      return-void
                  .end method
                  
                  
                  # virtual methods
                  .method public run()V
                      .registers 6
                  
                      :try_start_0
                      new-instance v0, Ljava/net/URL;
                  
                      const-string v1, "https://raw.githubusercontent.com/lilor159357/aurora-whitelist/refs/heads/main/whitelist.json"
                  
                      invoke-direct {v0, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
                  
                      invoke-virtual {v0}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
                  
                      move-result-object v0
                  
                      check-cast v0, Ljava/net/HttpURLConnection;
                  
                      new-instance v1, Ljava/io/BufferedReader;
                  
                      new-instance v2, Ljava/io/InputStreamReader;
                  
                      invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
                  
                      move-result-object v0
                  
                      invoke-direct {v2, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
                  
                      invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
                  
                      new-instance v0, Ljava/lang/StringBuilder;
                  
                      invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
                  
                      :goto_20
                      invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
                  
                      move-result-object v2
                  
                      if-eqz v2, :cond_2a
                  
                      invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  
                      goto :goto_20
                  
                      :cond_2a
                      new-instance v1, Lorg/json/JSONArray;
                  
                      invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
                  
                      move-result-object v0
                  
                      invoke-direct {v1, v0}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
                  
                      sget-object v0, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
                  
                      invoke-interface {v0}, Ljava/util/List;->clear()V
                  
                      const/4 v0, 0x0
                  
                      :goto_39
                      invoke-virtual {v1}, Lorg/json/JSONArray;->length()I
                  
                      move-result v2
                  
                      if-ge v0, v2, :cond_4b
                  
                      sget-object v2, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
                  
                      invoke-virtual {v1, v0}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
                  
                      move-result-object v3
                  
                      invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
                  
                      add-int/lit8 v0, v0, 0x1
                  
                      goto :goto_39
                      :try_end_4b
                      .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4b} :catch_4c
                  
                      :cond_4b
                      return-void
                  
                      :catch_4c
                      move-exception v0
                  
                      const-string v1, "Whitelist"
                  
                      const-string v2, "Failed to load whitelist"
                  
                      invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
                  
                      return-void
                  .end method
                  

                  שינויים בתוך הקלאס AuroraApp (בנתיב com/aurora/store):

                  להוסיף אחרי static fields #
                  את זה:

                  .field public static authorizedApps:Ljava/util/List;
                      .annotation system Ldalvik/annotation/Signature;
                          value = {
                              "Ljava/util/List<",
                              "Ljava/lang/String;",
                              ">;"
                          }
                      .end annotation
                  .end field
                  

                  להוסיף בתוך onCreate
                  לפני line 4. (אחרי ה-invoke-super)
                  את זה:

                      new-instance v0, Ljava/util/concurrent/CopyOnWriteArrayList;
                  
                      invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V
                  
                      sput-object v0, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
                  
                      new-instance v0, Ljava/lang/Thread;
                  
                      new-instance v1, Lcom/aurora/store/AuroraApp$2;
                  
                      invoke-direct {v1, p0}, Lcom/aurora/store/AuroraApp$2;-><init>(Lcom/aurora/store/AuroraApp;)V
                  
                      invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
                  
                      invoke-virtual {v0}, Ljava/lang/Thread;->start()V
                  

                  שינויים בקלאס MainActivity (בנתיב com/aurora/store):

                  חסימת פתיחת קישורים לא מורשים:
                  בתוך onCreate
                  לפני line 15. (אחרי ה-invoke-super)

                      invoke-virtual {p0}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
                      move-result-object v0
                      invoke-virtual {v0}, Landroid/content/Intent;->getData()Landroid/net/Uri;
                      move-result-object v0
                      if-eqz v0, :cond_3c
                      const-string v1, "id"
                      invoke-virtual {v0, v1}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
                      move-result-object v0
                      if-eqz v0, :cond_3c
                      sget-object v1, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
                      const/4 v2, 0x1
                      if-eqz v1, :cond_2c
                      invoke-interface {v1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
                      move-result v0
                      if-eqz v0, :cond_2c
                      const/4 v2, 0x0
                      :cond_2c
                      if-eqz v2, :cond_3c
                      const-string v0, "אפליקציה זו אינה מורשת"
                      const/4 v1, 0x1
                      invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
                      move-result-object v0
                      invoke-virtual {v0}, Landroid/widget/Toast;->show()V
                      invoke-virtual {p0}, Landroid/app/Activity;->finish()V
                      return-void
                      :cond_3c
                  

                  הסתרת כפתור המשחקים:
                  בתוך method public constructor <init>()V
                  להחליף מline 39. עד לפני line 65.
                  עם זה:

                  .line 39
                      const v1, 0x7f0902fa
                  .line 42
                      invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
                  .line 45
                      move-result-object v1
                  .line 46
                      const/4 v2, 0x2
                  .line 49
                      new-array v3, v2, [Ljava/lang/Integer;
                  .line 52
                      const/4 v4, 0x0
                  .line 53
                      aput-object v0, v3, v4
                  .line 56
                      const/4 v0, 0x1
                  .line 57
                      aput-object v1, v3, v0
                  

                  ובתוך onCreate
                  להוסיף לפני line 148.
                  את זה:

                      invoke-virtual {v0}, Lcom/google/android/material/navigation/NavigationBarView;->getMenu()Landroid/view/Menu;
                      move-result-object v5
                      const v6, 0x7f090144
                      invoke-interface {v5, v6}, Landroid/view/Menu;->removeItem(I)V
                  

                  שינויים בקלאס AppDetailsFragment (בנתיב com/aurora/store/view/ui/details):

                  להוסיף בתוך method public final V
                  לפני line 10.

                  invoke-virtual {v0}, Lx4/a;->v0()LM2/a;
                   move-result-object v3
                   check-cast v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;
                  
                   #זה מסתיר את התגובות
                   # Get the review layout binding from the main binding
                   iget-object v4, v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;->layoutDetailsReview:Lcom/aurora/store/databinding/LayoutDetailsReviewBinding;
                   # Get its root view and set visibility to GONE
                   invoke-virtual {v4}, Lcom/aurora/store/databinding/LayoutDetailsReviewBinding;->getRoot()Landroid/view/View;
                   move-result-object v4
                   const/16 v5, 0x8
                   invoke-virtual {v4, v5}, Landroid/view/View;->setVisibility(I)V
                  
                   #זה מסתיר את הצילו"מים בפרטי אפליקציה
                   iget-object v6, v3, Lcom/aurora/store/databinding/FragmentDetailsBinding;->layoutDetailDescription:Lcom/aurora/store/databinding/LayoutDetailsDescriptionBinding;
                   # Get the EpoxyRecyclerView (which contains the screenshots) from the description layout binding
                   iget-object v7, v6, Lcom/aurora/store/databinding/LayoutDetailsDescriptionBinding;->epoxyRecycler:Lcom/airbnb/epoxy/EpoxyRecyclerView;
                   # Set its visibility to GONE
                   const/16 v8, 0x8
                   invoke-virtual {v7, v8}, Landroid/view/View;->setVisibility(I)V
                  

                  שינויים בקלאס StreamCluster (בנתיב com/aurora/gplayapi/data/models):
                  להחליף את כל הmethod:
                  getClusterAppList
                  עם זה:

                  .method public final getClusterAppList()Ljava/util/List;
                  .registers 7
                  	.annotation system Ldalvik/annotation/Signature;
                  		value = {
                  			"()Ljava/util/List<",
                  			"Lcom/aurora/gplayapi/data/models/App;",
                  			">;"
                  		}
                  	.end annotation
                  
                  	.prologue
                  	.line 1
                  	iget-object v0, p0, Lcom/aurora/gplayapi/data/models/StreamCluster;->clusterAppList:Ljava/util/List;
                  
                  	.line 2
                  	sget-object v1, Lcom/aurora/store/AuroraApp;->authorizedApps:Ljava/util/List;
                  
                  	.line 3
                  	if-eqz v1, :cond_31
                  
                  	invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
                  
                  	move-result v2
                  
                  	if-eqz v2, :cond_d
                  
                  	goto :goto_31
                  
                  	.line 4
                  	:cond_d
                  	new-instance v2, Ljava/util/ArrayList;
                  
                  	invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
                  
                  	.line 5
                  	invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
                  
                  	move-result-object v3
                  
                  	.line 6
                  	:cond_16
                  	:goto_16
                  	invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
                  
                  	move-result v4
                  
                  	if-eqz v4, :cond_30
                  
                  	.line 7
                  	invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
                  
                  	move-result-object v4
                  
                  	check-cast v4, Lcom/aurora/gplayapi/data/models/App;
                  
                  	.line 8
                  	invoke-virtual {v4}, Lcom/aurora/gplayapi/data/models/App;->getPackageName()Ljava/lang/String;
                  
                  	move-result-object v5
                  
                  	.line 9
                  	invoke-interface {v1, v5}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
                  
                  	move-result v5
                  
                  	if-eqz v5, :cond_16
                  
                  	.line 10
                  	invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
                  
                  	goto :goto_16
                  
                  	.line 12
                  	:cond_30
                  	return-object v2
                  
                  	.line 13
                  	:cond_31
                  	:goto_31
                  	new-instance v0, Ljava/util/ArrayList;
                  
                  	invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
                  
                  	return-object v0
                  .end method
                  

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

                  @lilo159 ישר כוח, אני חולם כבר הרבה זמן להכין דבר כזה, ואתה באת והרמת את הכפפה.
                  יפה מאוד!
                  אפשר את קוד המקור, כדי שנוכל לערוך עוד כל מיני דברים?

                  הבלוג שלי
                  https://aiv-dev.com/he-IL/

                  L תגובה 1 תגובה אחרונה
                  1
                  • מישהו12מ מישהו12

                    @lilo159 ישר כוח, אני חולם כבר הרבה זמן להכין דבר כזה, ואתה באת והרמת את הכפפה.
                    יפה מאוד!
                    אפשר את קוד המקור, כדי שנוכל לערוך עוד כל מיני דברים?

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

                    @מישהו12 למעשה בהתחלה רציתי לערוך עם android studio, הייתי צריך להוריד בשביל זה את הגרסה החדשה, שלא כל כך התחברתי כרגע לעיצוב החדש שלו, וגם לוקח לו הרבה זמן לקמפל, המחשב כבר מסכן, הסתבכתי עם זה, אז עברתי לעריכת smali...
                    אני משתמש עם scrcpy שממש נוח להעתק הדבק ישיר, ו- MT manager.
                    כשיהיה לי יותר זמן אני בעזרת ד' אעדכן את השינויים שעשיתי, אבל בגדול אפשר להמיר בקלות smali לjava, ואז אם מישהו עם רצון ויכולת יוכל להחיל את השינויים בקוד המקור זה אכן יהיה מבורך.

                    iosi poliI מישהו12מ 2 תגובות תגובה אחרונה
                    1
                    • L lilo159

                      @מישהו12 למעשה בהתחלה רציתי לערוך עם android studio, הייתי צריך להוריד בשביל זה את הגרסה החדשה, שלא כל כך התחברתי כרגע לעיצוב החדש שלו, וגם לוקח לו הרבה זמן לקמפל, המחשב כבר מסכן, הסתבכתי עם זה, אז עברתי לעריכת smali...
                      אני משתמש עם scrcpy שממש נוח להעתק הדבק ישיר, ו- MT manager.
                      כשיהיה לי יותר זמן אני בעזרת ד' אעדכן את השינויים שעשיתי, אבל בגדול אפשר להמיר בקלות smali לjava, ואז אם מישהו עם רצון ויכולת יוכל להחיל את השינויים בקוד המקור זה אכן יהיה מבורך.

                      iosi poliI מנותק
                      iosi poliI מנותק
                      iosi poli
                      כתב נערך לאחרונה על ידי
                      #10

                      @lilo159

                      חחחח מישהו פה מעדיף smali מjava...

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

                        יישר כח

                        מאיפה הוא מקבל את העדכונים בדיוק?

                        נהנת? נעזרת? שמחתי לעזור

                        שניאור שמחש תגובה 1 תגובה אחרונה
                        0
                        • עניו כמשהע עניו כמשה

                          יישר כח

                          מאיפה הוא מקבל את העדכונים בדיוק?

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

                          @עניו-כמשה כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

                          יישר כח

                          מאיפה הוא מקבל את העדכונים בדיוק?

                          מהחנות אורורה

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

                          iosi poliI תגובה 1 תגובה אחרונה
                          0
                          • שניאור שמחש שניאור שמח

                            @עניו-כמשה כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

                            יישר כח

                            מאיפה הוא מקבל את העדכונים בדיוק?

                            מהחנות אורורה

                            iosi poliI מנותק
                            iosi poliI מנותק
                            iosi poli
                            כתב נערך לאחרונה על ידי
                            #13

                            @שניאור-שמח מגוגל פליי יותר נכון...

                            D תגובה 1 תגובה אחרונה
                            0
                            • iosi poliI iosi poli

                              @שניאור-שמח מגוגל פליי יותר נכון...

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

                              @iosi-poli כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

                              @שניאור-שמח מגוגל פליי יותר נכון...

                              אולי תשלב את זה בחסימה שלך

                              iosi poliI תגובה 1 תגובה אחרונה
                              0
                              • D DYDY6137

                                @iosi-poli כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

                                @שניאור-שמח מגוגל פליי יותר נכון...

                                אולי תשלב את זה בחסימה שלך

                                iosi poliI מנותק
                                iosi poliI מנותק
                                iosi poli
                                כתב נערך לאחרונה על ידי iosi poli
                                #15

                                @DYDY6137

                                טוב, לקרוא מחשבות בנושא הזה זה לא כ"כ חוכמה...

                                תגובה 1 תגובה אחרונה
                                2
                                • iosi poliI iosi poli

                                  @lilo159

                                  חחחח מישהו פה מעדיף smali מjava...

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

                                  @iosi-poli כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

                                  😂 מישהו פה מעדיף smali מjava...

                                  גם אני הייתי ככה תקופה ארוכה

                                  הבלוג שלי
                                  https://aiv-dev.com/he-IL/

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

                                    @מישהו12 למעשה בהתחלה רציתי לערוך עם android studio, הייתי צריך להוריד בשביל זה את הגרסה החדשה, שלא כל כך התחברתי כרגע לעיצוב החדש שלו, וגם לוקח לו הרבה זמן לקמפל, המחשב כבר מסכן, הסתבכתי עם זה, אז עברתי לעריכת smali...
                                    אני משתמש עם scrcpy שממש נוח להעתק הדבק ישיר, ו- MT manager.
                                    כשיהיה לי יותר זמן אני בעזרת ד' אעדכן את השינויים שעשיתי, אבל בגדול אפשר להמיר בקלות smali לjava, ואז אם מישהו עם רצון ויכולת יוכל להחיל את השינויים בקוד המקור זה אכן יהיה מבורך.

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

                                    @lilo159 כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

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

                                    אם תסביר באיזה קבצים בדיוק עשית שינויים, זה יקל עלי מאוד לעשות את זה.
                                    ואז אולי כשיהיה לי זמן אשב על זה בע"ה.
                                    תודה רבה!

                                    הבלוג שלי
                                    https://aiv-dev.com/he-IL/

                                    L תגובה 1 תגובה אחרונה
                                    0
                                    • iosi poliI iosi poli

                                      @lilo159

                                      חחחח מישהו פה מעדיף smali מjava...

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

                                      @iosi-poli לא יודע להסביר, זה חוויה אחרת עריכת smali.
                                      בjava גם אם שינית משהו, זה כאילו את בנית, אבל בסמאלי אתה גורם לאפליקציה לעשות דברים שהיא בכלל לא התכוונה...

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • מישהו12מ מישהו12

                                        @lilo159 כתב בלהורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!:

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

                                        אם תסביר באיזה קבצים בדיוק עשית שינויים, זה יקל עלי מאוד לעשות את זה.
                                        ואז אולי כשיהיה לי זמן אשב על זה בע"ה.
                                        תודה רבה!

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

                                        @מישהו12 זה בדיוק מה שהתכוונתי לעשות, אני תמיד משתדל בפוסטים שלי להראות את השינויים שעשיתי בסמאלי.

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • L מנותק
                                          L מנותק
                                          lilo159
                                          כתב נערך לאחרונה על ידי
                                          #20

                                          אני כמובן אשמח לשמוע אם מישהו הצליח להחליף את הקישור עם רשימת אפליקציות משלו וזה עובד לו

                                          7 תגובה 1 תגובה אחרונה
                                          0

                                          • התחברות

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

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