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

מתוזמן נעוץ נעול הועבר אפליקציות להורדה
77 פוסטים 18 כותבים 1.6k צפיות 17 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 7 7716508

    @lilo159 אני שמתי קישור שגוי ונפתח בלי הגבלה 🫣

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

    @7716508 תודה רבה שהפנת את תשומת ליבי לכך.

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

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

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

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

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

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

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

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

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

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

      לגרסה עם הקובץ בassets, פשוט לערוך את הקובץ whitelist.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
      

      אם אתם מעדיפים את הקובץ באפליציה עצמה (בassets)
      אז תשתמשו בקוד הזה בשביל AuroraApp$2:

      .class Lcom/aurora/store/AuroraApp$2;
      .super Ljava/lang/Object;
      .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
          iget-object v0, p0, Lcom/aurora/store/AuroraApp$2;->this$0:Lcom/aurora/store/AuroraApp;
          invoke-virtual {v0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
          move-result-object v0
          const-string v1, "whitelist.json"
          invoke-virtual {v0, v1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
          move-result-object v0
          new-instance v1, Ljava/io/BufferedReader;
          new-instance v2, Ljava/io/InputStreamReader;
          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_1f
          invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
          move-result-object v2
          if-eqz v2, :cond_29
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          goto :goto_1f
          :cond_29
          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_4d
          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
          :cond_4d
          :try_end_4d
          .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4d} :catch_4e
          :goto_4e
          return-void
          :catch_4e
          move-exception v0
          const-string v1, "Whitelist"
          const-string v2, "Failed to load whitelist from assets"
          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
      

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

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

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

      אשמח

      היי

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

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

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

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

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

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

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

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

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

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

        לגרסה עם הקובץ בassets, פשוט לערוך את הקובץ whitelist.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
        

        אם אתם מעדיפים את הקובץ באפליציה עצמה (בassets)
        אז תשתמשו בקוד הזה בשביל AuroraApp$2:

        .class Lcom/aurora/store/AuroraApp$2;
        .super Ljava/lang/Object;
        .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
            iget-object v0, p0, Lcom/aurora/store/AuroraApp$2;->this$0:Lcom/aurora/store/AuroraApp;
            invoke-virtual {v0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
            move-result-object v0
            const-string v1, "whitelist.json"
            invoke-virtual {v0, v1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
            move-result-object v0
            new-instance v1, Ljava/io/BufferedReader;
            new-instance v2, Ljava/io/InputStreamReader;
            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_1f
            invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
            move-result-object v2
            if-eqz v2, :cond_29
            invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
            goto :goto_1f
            :cond_29
            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_4d
            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
            :cond_4d
            :try_end_4d
            .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4d} :catch_4e
            :goto_4e
            return-void
            :catch_4e
            move-exception v0
            const-string v1, "Whitelist"
            const-string v2, "Failed to load whitelist from assets"
            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
        

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

        @lilo159 1

        1. האפליקציה אצלי באנגלית
        2. היא לא מופיעה במסך הבית
          1001177451.jpg

        היי

        L 2 תגובות תגובה אחרונה
        0
        • נחמן פלחנ נחמן פלח

          @lilo159 1

          1. האפליקציה אצלי באנגלית
          2. היא לא מופיעה במסך הבית
            1001177451.jpg
          L מנותק
          L מנותק
          lilo159
          כתב נערך לאחרונה על ידי
          #34

          @נחמן-פלח אתה צודק, אני בטעות העליתי הגרסה לפני שתרגמתי.

          תגובה 1 תגובה אחרונה
          0
          • נחמן פלחנ נחמן פלח

            @lilo159 1

            1. האפליקציה אצלי באנגלית
            2. היא לא מופיעה במסך הבית
              1001177451.jpg
            L מנותק
            L מנותק
            lilo159
            כתב נערך לאחרונה על ידי
            #35

            @נחמן-פלח העלתי שוב

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

              תמונה של WhatsApp‏ 2025-08-22 בשעה 00.06.33_79996f77.jpg זה מראה לא שאין ישומים... איך לסדר ? טלפון f21

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

                תמונה של WhatsApp‏ 2025-08-22 בשעה 00.06.33_79996f77.jpg זה מראה לא שאין ישומים... איך לסדר ? טלפון f21

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

                @השם-מלך12 זה כנראה כי חסום לך הכתובת play.google.com

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

                  @השם-מלך12 זה כנראה כי חסום לך הכתובת play.google.com

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

                  @lilo159 יש דרך לסדר?

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

                    @lilo159 אני שמתי קישור שגוי ונפתח בלי הגבלה 🫣

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

                    @7716508 עדכנתי את האפליקציה, אין כעת בעיה זו.

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

                      @7716508 עדכנתי את האפליקציה, אין כעת בעיה זו.

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

                      @lilo159
                      אני פתחתי הבוקר לתומי את החנות שלך
                      והיה שמה את כל האפליקציות
                      פשוט הכל!!! כולל אינסטגרם וכדו'
                      (ולא לא שיניתי לקישור שגוי ולא עשיתי שום דבר אחר)
                      אז סגרתי ופתחתי מחדש ונעלם הכל
                      וחזר להיות כמו אתמול רק מה שאתה ששמת (מוביט וכו')

                      אולי כדאי שעד שתסדר את זה תסיר את הקישור מהנושא שלא יוכלו להוריד אותה כל עוד יש פרצות

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

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

                        @7716508 וכול מה שאני בא לומר שעל https אי אפשר לעשות mitm וגם אי אפשר לערוך את dns

                        בודאי שאפשר עם DNS להשפיע גם על HTTPS.

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

                        אבל זה לא המקרה

                        למה לא?

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

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

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

                        @7716508 וכול מה שאני בא לומר שעל https אי אפשר לעשות mitm וגם אי אפשר לערוך את dns

                        בודאי שאפשר עם DNS להשפיע גם על HTTPS.

                        אי אפשר כי לשרת האחר לא תהיה תעודה תקפה

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

                        C מישהו12מ 2 תגובות תגובה אחרונה
                        0
                        • צדיק תמיםצ צדיק תמים

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

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

                          @7716508 וכול מה שאני בא לומר שעל https אי אפשר לעשות mitm וגם אי אפשר לערוך את dns

                          בודאי שאפשר עם DNS להשפיע גם על HTTPS.

                          אי אפשר כי לשרת האחר לא תהיה תעודה תקפה

                          C מנותק
                          C מנותק
                          cfopuser
                          כתב נערך לאחרונה על ידי
                          #42

                          @צדיק-תמים הוא שאמרתי

                          תגובה 1 תגובה אחרונה
                          1
                          • צדיק תמיםצ צדיק תמים

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

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

                            @7716508 וכול מה שאני בא לומר שעל https אי אפשר לעשות mitm וגם אי אפשר לערוך את dns

                            בודאי שאפשר עם DNS להשפיע גם על HTTPS.

                            אי אפשר כי לשרת האחר לא תהיה תעודה תקפה

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

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

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

                            תגובה 1 תגובה אחרונה
                            1
                            • נ נוחעם FM

                              @lilo159
                              אני פתחתי הבוקר לתומי את החנות שלך
                              והיה שמה את כל האפליקציות
                              פשוט הכל!!! כולל אינסטגרם וכדו'
                              (ולא לא שיניתי לקישור שגוי ולא עשיתי שום דבר אחר)
                              אז סגרתי ופתחתי מחדש ונעלם הכל
                              וחזר להיות כמו אתמול רק מה שאתה ששמת (מוביט וכו')

                              אולי כדאי שעד שתסדר את זה תסיר את הקישור מהנושא שלא יוכלו להוריד אותה כל עוד יש פרצות

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

                              @נוחעם-FM בטוח שיש לך את הגרסה האחרונה שהעליתי? כתבתי פוסט אחורה שסידרתי את זה...

                              אלא אם כן זו אכן הגרסא האחרונה אצלך אז כנראה שלא סידרתי טוב

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

                                @נוחעם-FM בטוח שיש לך את הגרסה האחרונה שהעליתי? כתבתי פוסט אחורה שסידרתי את זה...

                                אלא אם כן זו אכן הגרסא האחרונה אצלך אז כנראה שלא סידרתי טוב

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

                                @lilo159 לא אין לי את הגירסה האחרונה (לא הספקתי להוריד שוב ולעדכן)

                                אבל לא שיניתי לקישור שגוי חשבתי שרק את זה סידרת ועדכנת...

                                L תגובה 1 תגובה אחרונה
                                0
                                • נ נוחעם FM

                                  @lilo159 לא אין לי את הגירסה האחרונה (לא הספקתי להוריד שוב ולעדכן)

                                  אבל לא שיניתי לקישור שגוי חשבתי שרק את זה סידרת ועדכנת...

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

                                  @נוחעם-FM כפי שכתבו לעיל זאת למעשה אותה בעיה, בין אם זה קישור שגוי, בין אם זה קישור ריק, בין אם חסום לך הקישור (ניסיתי לחסום עם vpn וזה אכן אותה בעיה). כעת אם האפליקציה לא מקבלת רשימה לבנה, היא פשוט לא תציג שום אפליקציות.

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

                                    עידכנתי בפוסט הראשון את השינויים שנעשו

                                    @מישהו12 @iosi-poli

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

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

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

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

                                      אם אני משנה את הקישור זה יתעדכן בחנות?

                                      קישור או שם חבילה.?

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

                                        עידכנתי בפוסט הראשון את השינויים שנעשו

                                        @מישהו12 @iosi-poli

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

                                        @lilo159 חד משמעית זה הפיתוח הכי חשוב שיש כרגע בפורום...
                                        יש דבר אחד שממש ממש יעזור לי:
                                        שהרשימה תהיה בילד ין בassets - ספציפית שם.
                                        או שלפחות יהיה אפשרות.
                                        זה יחסוך לי המון זמן...
                                        כי אני רוצה להוסיף את זה לאייבלוק, וזה הדבר היחיד שמונע ממני.

                                        תודה רבה!

                                        אם לא תעשה את זה אני יהיה חייב לעשות את זה בעצמי, ו- עזוב, אני לא נוגע בסמאלי אם אני לא חייב ..

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

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

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

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

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

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

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

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

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

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

                                          לגרסה עם הקובץ בassets, פשוט לערוך את הקובץ whitelist.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
                                          

                                          אם אתם מעדיפים את הקובץ באפליציה עצמה (בassets)
                                          אז תשתמשו בקוד הזה בשביל AuroraApp$2:

                                          .class Lcom/aurora/store/AuroraApp$2;
                                          .super Ljava/lang/Object;
                                          .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
                                              iget-object v0, p0, Lcom/aurora/store/AuroraApp$2;->this$0:Lcom/aurora/store/AuroraApp;
                                              invoke-virtual {v0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
                                              move-result-object v0
                                              const-string v1, "whitelist.json"
                                              invoke-virtual {v0, v1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
                                              move-result-object v0
                                              new-instance v1, Ljava/io/BufferedReader;
                                              new-instance v2, Ljava/io/InputStreamReader;
                                              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_1f
                                              invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
                                              move-result-object v2
                                              if-eqz v2, :cond_29
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              goto :goto_1f
                                              :cond_29
                                              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_4d
                                              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
                                              :cond_4d
                                              :try_end_4d
                                              .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4d} :catch_4e
                                              :goto_4e
                                              return-void
                                              :catch_4e
                                              move-exception v0
                                              const-string v1, "Whitelist"
                                              const-string v2, "Failed to load whitelist from assets"
                                              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
                                          כתב נערך לאחרונה על ידי
                                          #50

                                          @lilo159 אלוףףףףףףףףף
                                          אין לי מילים...

                                          הנני העניה תגובה 1 תגובה אחרונה
                                          0

                                          • התחברות

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

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