במדריך הזה אביא כמה דרכים לחסום את אפשרויות מפתחים, כמה מהדרכים די מצחיקות לדעתי (לכבוד פורים).
אני לא לוקח אחריות מכל דבר שקורה לטלפון שלכם, תמיד מומלץ שיהיה לכם גיבוי לקושחה לפני שתערכו האחריות עליכם.....
קודם כל בא צריך למצוא את הקובץ קוד (הsmali) של מה קורא כשלוחצים על הBUILD אני מצאתי את זה בנתיב:
MtkSettings\smali\com\android\settings\deviceinfo\BuildNumberPreferenceController.smali-|
איך עורכים smali?
פותחים את האפליקציה של הגדרות ע"י MTmanager ולוחצים על classes.dex ופותחים ע"י dex editor plus והולכים לנתיב הנ"ל
טיפ: לאחר עריכה, תוכלו להכריח את האפליקציה לעצור כדי לראות את השינויים (אילוץ עצירה בהגדרות)
1. הפתרון הכי קל:
למחוק את הפעולה שמורידה באחד כל לחיצה תחילת הפעולה נראת כך
.method public handlePreferenceTreeClick(Landroidx/preference/Preference;)Z
.locals 8
המשך קוד
ולמחוק את השורה הזאת
sub-int/2addr p1, v1
זה יעשה שלא יראו כלום כי צריך 7 לחיצות וכל פעם שלוחצים לא יורד כלום
עוד דרך קלה היא ללכת לפעולה
.method private enableDevelopmentSettings()V
.locals 3
המשך קוד
ולהוסיף אחר כך return-void
.method private enableDevelopmentSettings()V
.locals 3
return-void
המשך קוד
זה יעשה שכן רואים toast של עוד x לחיצות אתה מפתח אבל אחרי שמגיע ל-1 שום דבר לא יקרה
יישנן אפשרויות רבות אחרות לחסימת אפשרויות מפתחים בצורה פשוטה, ניתן אפילו לערוך את הטוסטים כדי לומר "אפשרויות מפתחים אינן זמינות במכשיר הזה" ועוד.... (ניתן ג"כ לשנות שהספירה תתחיל ב1- וזה יאמר לו שהוא כבר מפתח ולא יפתח)
עכשיו בואו נגיע לשינויים המעניינים
2. להיות זבל #1:
קודם אני אסביר מה 3 שורות עושים
השורה הזו היא שגורמת לספירה לאחור לרדת
sub-int/2addr p1, v1
השורה הזו היא מה שאומר למכשיר מתי להתחיל להציג טוסטים
const/4 v2, 0x5
השורה הזו היא מה שאומר למכשיר כמה לחיצות צריך כדי לפתוח אפשרויות מפתחים
const/4 v0, 0x7
עכשיו נעשה קצת שינויים.....
sub-int/2addr p1, v1 --> add-int/2addr p1, v1
const/4 v2, 0x5 --> const v2, 0xffffff
const/4 v0, 0x7 --> const/4 v0, 0x1
תוצאה למי שעוד לא הבין: עכשיו במקום לספור לאחור מ-7 הספירה תתחיל ב-1 ותעלה בכל פעם שתלחץ
3. להיות זבל #2:
לשנות
const/4 v2, 0x5 --> const v2, 0xffffff
const/4 v0, 0x7 --> const/4 v0, 0xffffff
תוצאה:
וודאי שנלך ג"כ לפעולה הזאת
.method private enableDevelopmentSettings()V
ונמחק את השורה שפותחת את האפשרויות מפתחים ונערוך את הstring לומר במקום "אתה עכשיו מפתח" ל "איזה אדיוט אתה?!! מה חשבת שיקרה"
4. להיות זבל #3:
לשנות
const/4 v2, 0x5 --> const v2, 0xff
const/4 v0, 0x7 --> const/4 v0, 0xff
להוסיף לפני
sub-int/2addr p1, v1
const/4 v1, 0x1
if-lez p1, :cond_b
const/4 v3, 0x1
if-ne p1,v3 :notequel
const v3, 0xff
add-int/2addr p1, v3
:notequel
תוצאה: הספירה לאחור תתחיל מ-255 וכשתגיע ל-1 היא תחזור ל-255