lilo159
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו! -
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@נוחעם-FM כפי שכתבו לעיל זאת למעשה אותה בעיה, בין אם זה קישור שגוי, בין אם זה קישור ריק, בין אם חסום לך הקישור (ניסיתי לחסום עם vpn וזה אכן אותה בעיה). כעת אם האפליקציה לא מקבלת רשימה לבנה, היא פשוט לא תציג שום אפליקציות.
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@נוחעם-FM בטוח שיש לך את הגרסה האחרונה שהעליתי? כתבתי פוסט אחורה שסידרתי את זה...
אלא אם כן זו אכן הגרסא האחרונה אצלך אז כנראה שלא סידרתי טוב
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@7716508 עדכנתי את האפליקציה, אין כעת בעיה זו.
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@השם-מלך12 זה כנראה כי חסום לך הכתובת play.google.com
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@נחמן-פלח העלתי שוב
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@נחמן-פלח אתה צודק, אני בטעות העליתי הגרסה לפני שתרגמתי.
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@7716508 תודה רבה שהפנת את תשומת ליבי לכך.
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@מישהו12 טוב, אז לכאורה אני צריך להוסיף הכרחה של קבלת הקובץ, ובאם הוא לא קיים (כי חסמו את הגישה לקישור נגיד) אז הוא פשוט לא יציג כלום.
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@7716508 אני מתלבט אם לקרוא לזה פרצה, כי למשתמש הפשוט לא אמורה להיות גישה לעריכת האפליקציה, ובפשטות הוא יכול גם למחוק את כל השינויים שעשיתי...
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!אני כמובן אשמח לשמוע אם מישהו הצליח להחליף את הקישור עם רשימת אפליקציות משלו וזה עובד לו
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@מישהו12 זה בדיוק מה שהתכוונתי לעשות, אני תמיד משתדל בפוסטים שלי להראות את השינויים שעשיתי בסמאלי.
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@iosi-poli לא יודע להסביר, זה חוויה אחרת עריכת smali.
בjava גם אם שינית משהו, זה כאילו את בנית, אבל בסמאלי אתה גורם לאפליקציה לעשות דברים שהיא בכלל לא התכוונה... -
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@מישהו12 למעשה בהתחלה רציתי לערוך עם android studio, הייתי צריך להוריד בשביל זה את הגרסה החדשה, שלא כל כך התחברתי כרגע לעיצוב החדש שלו, וגם לוקח לו הרבה זמן לקמפל, המחשב כבר מסכן, הסתבכתי עם זה, אז עברתי לעריכת smali...
אני משתמש עם scrcpy שממש נוח להעתק הדבק ישיר, ו- MT manager.
כשיהיה לי יותר זמן אני בעזרת ד' אעדכן את השינויים שעשיתי, אבל בגדול אפשר להמיר בקלות smali לjava, ואז אם מישהו עם רצון ויכולת יוכל להחיל את השינויים בקוד המקור זה אכן יהיה מבורך. -
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!@iosi-poli כן
-
להורדה | aurora store כשר - אתם בוחרים איזה אפליקציות יהיו!
קודם כל תודה לד' יתברך, זה פרוייקט שחשבתי שיקח לי שבוע, וסיימתי ביום..
זו האפליקציה המקורית של המעדכן אפליקציות הנודע לפני שמישהו (לא זוכר) ערך אותה.היתרונות כאן נראה לי ברורים, לא צריך להוריד 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
-
מדריך | מדריך להפעלת VOLTE במכשיר QIN F21 PRO ואולי גם אחרים@urielk השניה? זה נראה לך בעיה בטלפון או בוולטה בכללי? כאילו על טלפון אחר עם וולטה יכול להיות שלא יעשה בעיות?
-
מדריך | מדריך להפעלת VOLTE במכשיר QIN F21 PRO ואולי גם אחרים@urielk תודה. דרך אגב, סידרתי לחבר שבסלקום, ההודעות שלו נשלחות לאט (כפי שמישהו דיווח כאן כבר נראה לי), וגם כפול, כלומר כל הודעה שהוא שולח אחרי כמה זמן זה שולח אותה שוב..
-
מדריך | מדריך להפעלת VOLTE במכשיר QIN F21 PRO ואולי גם אחרים@urielk שמתי לב, שעד שלא חזרתי על שלבים א ו-ב בסוף, זה לא עבד לי, גם כשניסיתי על טלפון אחר. אם זה אכן כך, נראה לי שכדאי להעביר שלבים אלו לסוף, כי למעשה גם אם לוחצים על off בשלב א, אחרי שיוצאים וחוזרים זה חוזר לon. רק כשאני סיימתי את השלבים, ושוב עשיתי את שלבים א-ב זה עבד. כדאי לבדוק מה השלב שגורם להם לעבוד.
-
להורדה | נמאס לכם מספוטיפיי? תורידו את metrolist (ללא תמונות)!אז ככה, מסתבר שזו בעיה ידועה כבר בexoplayer, דווח על זה כאן, וכאן נפתחה על זה בעיה רשמית (בissuetracker), עם אותה שגיאה בדיוק שהיתה לי.
ממה שבדקתי, זה קורה רק באנדרואיד 11, ב10 ו12 זה לא קרס.
למעשה בסוף (אחרי שהגעתי כמעט למליון טוקנים בai studio) ערכתי את הקוד כך שהוא לא ישלח את הBitmap, ובזה נפתרה הבעיה.
אני לא אעדכן את השינוי בקוד (שבספולייר), כי בדקתי עכשיו גרסאות דיבוג והוא כנראה שינה משהו וזה כבר לא קורס.
אז למה כל זה חשוב? כי כפי ש @נחמן-פלח העלה את הנקודה, שזה יכול לשמש כווירוס. אז אמנם זה לא היה כאן בכוונת מתכוון של המפתח, אבל זה לא כל כך רגיל להצליח להקריס מערכת וכמעט להשבית טלפון (ניסיתי גם על אמולטור אונליין, זה הקריס גם אותו), ע"י אפליקציית משתמש בלי רוט. זה יכל גם להשבית טלפון של מישהו שהוריד את האפליקציה המקורית ללא עריכה שלי, ויש לו סינון על הטלפון שחוסם תמונות, ויש לו אנדרואיד 11, וזהו, יכול ללכת הטלפון.