
הטקסט המלא של הדקות הראשונות בהרצאה «איך לפרוץ ולשנות קובץ APK עם apktool» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בהרצאה הזו אני רוצה להראות לכם איך לשמור את השינוי שלנו לא בפרידה, לא בזיכרון, אלא לייצר APK חדש לחלוטין שישמור את כל השינויים שעשינו.
אני מדבר על זה שהוא לא יזהה שאני רוט, שאני לא אצטרך כל פעם להפעיל פרידה, אני רוצה לייצר קובץ APK עם השינויים שעשיתי. זאת אומרת, לשנות לא בזיכרון אלא בקוד המקורי.
זאת המטרה שלי, לייצר קובץ APK חדש. בואו אני אזכיר לכם בשני מילים על מה אנחנו מדברים. אנחנו מדברים על זה שיש לנו פה, קודם כל נתחבר לטלפון, נראה שיש לנו חיבור.
הטלפון במצב ברידג', בגלל זה אני מצליח להגיע אליו מתוך מכונה וירטואלית. ADB Devices, יופי, חיברנו את הטלפון, ועכשיו אנחנו מתקינים את הקובץ המקורי, שאני מזכיר לכם שהקובץ המקורי פה לא עובד כי הוא מזהה את הרוט, נכון? רוט דטקטד והוא לא מוכן לעבוד על טלפון
פרוץ. עכשיו אנחנו רוצים לקחת את ה-APK הזה ולשנות אותו באופן קבוע, עד עכשיו עשינו את זה בזיכרון על ידי פרידה, אני לא רוצה יותר לעשות אותו בזיכרון, אני רוצה קובץ APK פיזי חדש ולתת אותו נניח לחברים שלי.
בשביל לשנות קובץ APK אנחנו נשתמש ב-APK-Tool שזה כלי ותיק שיודע לעשות את זה, זה חינמי, קוד פתוח, תכתבו בגוגל APK-Tool, יש מלא מקומות להוריד את זה, בואו נקרא איך משתמשים ב-APK-Tool.
ומה הוא יודע לעשות אז קודם כל הוא דורש Java בוא נראה אם יש לנו פה Java נעשה Java מינוס ורז'ן נראה אם יש לנו כאן Java הנה אין לנו Java אוקיי אז אין לנו Java בוא נתקין Java בוא נתקין Java נעשה Java Download for Windows Java Download for Windows ונסכים לרישיון הנה יש לנו כובד Setup נעשה נקסט נקסט נקסט נתקין את Java אנחנו לא הולכים
להגדיר שום דבר סיימנו עכשיו צריך לסגור את זה ולפתוח מחדש את ה-CMD זה מאוד מאוד חשוב לפתוח את ה-CMD מחדש אחרי ההתקנה בינתיים עד שאני מתקין אני אכתוב פה install Java אוקיי אנחנו מתקינים Java התקנו Java בואו נבדוק שזה עובד אני שם לכם את כל הפקודות שאני עושה שלא תהיו לחוצים להעתיק הנה אנחנו רואים Java version שימו לב פתחתי אותו מחדש יש לי Java מותקנת שזה נהדר עכשיו מה אנחנו
צריכים לעשות אנחנו רוצים להתקין את ה-apk-tool בדקנו שיש לנו Java בוא נראה מה כתוב פה download windows wrapper script save as apk-tool.bat הוא רוצה שנשמור את הסקריפט הזה כ-apk-tool.bat עושים save as בתוך ה-download נעשה תיקייה חדשה אני אקרא לה apk-tool אוקיי והדבר היחיד שאני רוצה זה לשים ככה גרשיים
כדי שהוא לא ישים נקודת טקסט מסביב. אז שמרנו את זה כ-apk-tool.bat. יפה מאוד. מה הלאה הוא רוצה? הוא רוצה שנוריד עכשיו את הגרסה האחרונה של apk-tool ונחליף לשם ל-apk-tool.jar.
אוקיי, בואו נוריד את הגרסה האחרונה של apk-tool. יש את זה גם בגיטאב, אז אני מוריד. בינתיים עד שהוא מוריד אני אקטין את הטלפון כאן לטובת מקום במסך, כי זה יותר חשוב לי.
אוקיי, מה קורה כאן? מה הלאה? אחרי שמורידים צריך להחליף לזה שם. נעשה לו Keep שזה לא מסוכן, להחליף לזה שם. הוא רוצה שנוריד את הגרסה.
אוקיי, בואו ניקח את זה, נעביר לכאן. יש לנו תיקייה והוא רוצה שנוריד את הגרסה ונשאיר רק את שני הדברים האלו. אוקיי, מה הלאה?
עשינו את זה, עכשיו הוא רוצה שניקח את שני הקבצים האלו ונשים אותם בתיקיית Windows, או לחלופין, שנכניס אותם לתוך ה-Path. Path זה אומר שזה יהיה זמין ב-CMD. אוקיי, טוב, בואו נזיז אותם לתיקיית Windows, אתם יודעים מה.
העיקר שזה יהיה ב-Path, אני עושה לזה קופי, הולך לתיקיית Windows, שם אותם כאן, זה רק בשביל לא להיכנס למשתנה סביבה ולבדוק ולשנות שמה ולהריץ APK-Tool, זה הכל.
בואו נראה שזה באמת עובד. כן, יש לנו APK-Tool עובד, שימו לב, אני כל פעם פותח CMD חדש כדי שמשתנה סביבה יתעדכנו. אוקיי, אז יש לנו APK טול שיודע לעשות Re-Engineering, הנדסה לאחור, ל-Android APK, לקובץ שמאלי. מה זה שמאלי?
זה כמו אסמבלר של אנדרואיד. בואו ננסח את זה ככה, תכף נראה את זה. טוב, אז עדכנו את ה-APK טול, בואו נתחיל. דבר ראשון שאנחנו צריכים זה לפתוח אותו, לעשות לו Decode.
אתם רואים APKTool Decode ואנחנו פותחים את הקובץ שלנו. בואו נראה איך כל זה מתבצע, אני שם את זה כאן. פה אנחנו ניקח את הקובץ שלנו, נעשה לו קופי, נעשה תיקייה חדשה כאן, נקרא לה פייג', פייג' זה אומר טלאי, קראתי לזה כאילו ששמתי טלאי על האפליקציה
הזאת. בקיצור, אנחנו פה ומה אנחנו עושים? קודם כל צריך להיכנס לספרייה הזאת ואנחנו בתוך הספרייה הזאת. אוקיי, אז איזה פקודה אנחנו הולכים להריץ?
אנחנו הולכים להריץ apk-tool-de-compile-de-code ואנחנו פותחים את ה-apk. ברגע שאנחנו פותחים את ה-apk, תסתכלו מה יקרה פה, נוצרה פה תיקייה ושימו לב מה הוא עושה back-smiling לכובד זה אומר עושה לו reverse engineering לשפת smiley עוד פעם שפת smiley זה למעשה
אסמבלר כמו אסמבלר בקובץ אקזה כאילו שפת מכונה. אני אספר לכם הרבה יותר על שמאלי, לא עכשיו, פשוט ייקח לנו מלא זמן. בקיצור, אנחנו נכנסים כאן, יש לנו פה את המניפסט, את הקובץ מניפסט שראינו, כי למעשה APK זה כמו קובץ זיפ שמכיל כמה קבצים בפנים.
אז הוא פתח אותם, ויש לנו את המניפסט שראינו, יש לנו את השמאלי, עוד לא ראינו אותו, יש לנו את הרסורסים, את כל ה-XMLים, עם הסטרינגים ועם הגרפיקה, איפה מה לשים על המסך.
מעניין אותי השמאלי, שמאלי זה למעשה הקוד אחרי רווירס אינג'ינירינג אני נכנס כאן ואני ממש מטייל בתוך הקוד, זוכרים מה עשינו לפני כן?
לפני כן עשינו פאץ' בפרידה, אני מזכיר לכם רק מה עשינו, נכנסנו לקלאס C בתוך הפקאג' זה הפקאג' שלי, נכנסנו לקלאס C ובתוך קלאס E שינינו פונקציית A שתחזיר false,