מחשביםבטיחות

הנדסה הפוכה למתחילים. כל היישומים Android-הגנה מפני הנדסה לאחור

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

מהו תוכניות-הנדסה לאחור?

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

עבודה עם יישומי אנדרואיד

ראשית עלינו להבהיר כמה נקודות. היישום משתמש bytecode ו LogCat. עמיתיהם המקומיים זה כאמור הבאגים ו מאסף. כמו כן יש להבין את המבנה של היישומים עצמם. לפיכך, כל תוכנית היא קובץ עם סיומת APK. הוא ארז zip'om. אנחנו מעוניינים תכולתו - משאבי יישומים, classes.dex ו AndroidManifest.xml. אם אתה עושה את תכנות על אנדרואיד, את הבעיות עם לשעבר שהאחרון לא צריכות להיות. אבל classes.dex - קוד התכנית בייט הזה נערך במיוחד עבור המכונה הווירטואלית. קטע מתוך קוד המקור של ג'אווה שלו זמין באינטרנט לא מקבל את הכספים. אבל האם זה אפשרי להשיג opcodes Dalvik - סט מיוחד של פקודות המשמשות עבור המכונה הווירטואלית. עבור אנלוגיה ניתן לומר כי הרכבה זו של מבול מקומי. Classes.dex גם ניתן להמיר קובץ עם הצנצנת. גם במקרה כזה, אתה יכול לקבל קוד ג'אווה לאחר הידור, אשר יהיה פחות או יותר קריא. זהו הנתיב שאנחנו הולכים.

הידור

תהליך זה יתבצע באמצעות תוכנית מאנגר APK. לפני שתתחיל, ודא שיש לנהג הנכון עבור devaysa ומצב USB-באגים מתפקד. בתחילה, נצטרך להעביר את הקובץ כי ינותח לתוך \ apk_manager הוראה מקום-APK-כאן-בשביל-למשחקים. אחרי זה אתה צריך לרוץ Script.bat. אם אין בעיה, אז להתחיל את הקונסולה, אשר תהיינה אותיות ירוקות. בחר את מספר הנקודה תשע - "הידור". ברגע שהתהליך התחיל, יש צורך לא לסגור קונסולה. ואז, פתוח עניין APK-קובץ באמצעות Archiver ותמצית ממנו classes.dex, כדי להיות מעובד dex2jar התוכנית. עבורנו את התוצאה הנדרשת יש צורך להזיז אובייקט עם .bat הארכה. אתה תראה את הקובץ, אשר יסתיים ב jar. עד כה, החלון לא נסגר.

אנחנו מנתחים את הנתונים

כדי לקבל מידע על היישום, אתה חייב לפתוח אותו מניפסט. על פי אותו, אנו קובעים שפועלים הפעילות העיקרית. היא זו שהשיגה החברה מציגה את החשיבות הגדולה ביותר אלינו. זה גם רצוי להסתכל על החלק התחתון של התכנית. אם החלק התחתון הוא המידע על מנהל הרישיונות, קשה משמעותי לבצע הנדסה לאחור. אם תעבור JD-GUI ולהרחיב את העץ, אנחנו יכולים לראות כמה מרחבים שם. נניח כי שלושה מהם. בראשון הם קבצים הקשורים בפרסום. השני יהיה בכיתות מנהל רישיון. בשליש, אנחנו הנתונים הדרושים. זה כשאנחנו הולכים. יש יצטרך למצוא ולהסיר את המפתח, ולאחר מכן את שאר השורות לבדוק אם מורשה גרסה עובדת. כל אלה צריכים לנקות. ואז במנהל Apk שלנו מחפש מקום שבו במקום המפורט bytecode. עכשיו הבה נלבנה סטייה קטנה ולהעיר את צוות, אשר יכול לגרום לבעיות פוטנציאליות. אחרי זה, אנחנו פשוט צריכים לקמפל את התוכנית.

לבנות יישומים

זה יעזור לנו בכל זאת מנהל APK. במסוף, שעוד לא נעול, בחר את הפריט №14. הטריק הבא. אם היישום הוא די מסובך, כאשר אתה מתחיל, זה עשוי חלקית או לחלוטין לאבד את היעילות שלה. אל תדאג, זה אומר שאנחנו רק בחצי הדרך לשם כבר לאן ללכת. אנחנו ממשיכים לבצע הנדסה הפוכה-כל אפליקציות Android. תגידו, מה לעשות במקרה מסוים, באופן כללי, אבוי, הוא בלתי אפשרי. לכן, לחפש את האזורים הבעייתיים יהיו משלהם. לדוגמה, אם בחלון יישום נחסם חלון מוקפץ, אתה צריך לראות את הקוד ולהסיר את החלק כי הוא אחראי לדיאלוג הזה. כדי לעזור עם זה יכול JD-GUI. כפי שאתה יכול לראות, ההנדסה ההפוכה אינה עסק קל, והוא דורש חנות ניכרת בידע. גם אם הכל מתנהל ללא כל בעיות, יהיה צורך לבחון את הביצועים של יישומים. כלומר, ההנדסה ההפוכה היא עוד פעילות רבה-פעמית. אנחנו ממשיכים לעבוד עד שכל הבעיות מזוהות.

בטיחות

מה אם אנחנו צריכים הגנה All-יישום אנדרואיד מ הנדסה הפוכה? במקרה זה, קיימות שתי אפשרויות: השימוש בתוכנות ספציפיות או יצירת מבנה קוד שיפריע לעשות ניתוח בכתב. האפשרות השנייה היא מקצוע מתאים רק מנוסה, כך נשקול רק השיטה הראשונה של הגנה. כתוצאת ProGuard תוכנה לשימוש מיוחדת. יישום זה, אשר משמש כדי להפחית, ערפול ואופטימיזציה קוד. אם התוכנית "מרדף" דרכו, אנחנו מקבלים קובץ עם סיומת * .apk קטן ממה שהוא היה. במקרה כזה זה יהיה הרבה יותר קשה לפרק. וזה היתרון של תכנית זו הוא שהיא אפילו כבר הציגה את יישומי Android לבנות עם עדכוני R9. לכן, לנצל את זה כל מפתח כי יש כלים סטנדרטיים של יצירה והתפתחות.

מסקנה

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 iw.birmiss.com. Theme powered by WordPress.