יום שבת, אוגוסט 06, 2016

פוסט ביקורת עמיתים - הכנת תשתית הקוד לביצוע מחקר

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

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

כלים דרושים:

מערכת דביאן סיד , הפעולות בוצעו ע"י משתמש בשם user הקבצים הורדו לתיקיות pikud ו tmp.


apktool
unzip
grep
גישה לאינטרנט.

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

ניתן להשתמש ב apkpure.com או apk-dl כל מערכת אחרת שמאפשרת הורדת אפצליקציות שלא מהסטור עצמו. ראויי לציין כי מכיוון שאנו מורידים מצד שלישי קוד המקור יכול להיות שעבר שינוי.
מסיבה זו אני מפרסם את ההאשים שקיבלתי (דרך שתי האתרים האלה הם היו זהים).


ההאשים של הAPK שלי הם :

user@laptop:~/pikud$ sha512sum Home%20Front%20Command_1.2_apk-dl.com.apk
28da60bf0e2941d632a65fe\
76960f45a715835d0567f0a\
3840eded45de7c63cef41d45\
817b5853d496b005d81b5e70\
713559957cf842daaaa0656ceb9ab6d075  Home%20Front%20Command_1.2_apk-dl.com.apk 
 
 
user@laptop:~/pikud$ md5sum Home%20Front%20Command_1.2_apk-dl.com.apk
81282187c7395e0cf1c72cabeeaa8b87  Home%20Front%20Command_1.2_apk-dl.com.apk

פריסת נתונים:

ביצוע פריסת הקבצים ופיענוח התוכן בוצעה ע"י apktool

Apktool v2.1.1-dirty - a tool for reengineering Android apk files
with smali v2.1.3-dev and baksmali v2.1.3-dev
Copyright 2014 Ryszard Wiśniewski 
Updated by Connor Tumbleson 
הותקן ע"י חבילה סטנדרטית :
apt-cache policy apktool 
apktool:
  Installed: 2.1.1+dfsg-3
  Candidate: 2.1.1+dfsg-3
  Version table:  

ביצוע הפריסה התבצע ע"י

user@laptop:~/pikud/$apktool d Home%20Front%20Command_1.2_apk-dl.com.apk 
I: Using Apktool 2.1.1-dirty on Home%20Front%20Command_1.2_apk-dl.com.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/user/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

לאחר הפעולה תתקבל תיקייה Home%20Front%20Command_1.2_apk-dl.com מציאת הכתובת בוצעה ע"י :
user@laptop:~/pikud$ grep mailto -rn *
js/appObjs/globalMethods.js:60: 
 window.location = "mailto:itayg@elad.co.il?subject=Ioref%20Bug%20Report&body="+mailBoady;
js/controllers/contactUsController.js:51:                                                                       window.plugins.inAppBrowswer.open('mailto:info-oref@idf.gov.il?subject=Something to share with you...','_system');
grep .co.il -rn *

AndroidManifest.xml:20:        <meta-data android:name="server_url" 
android:value="https://ioref.co.il">
AndroidManifest.xml:21:        <meta-data android:name="dr_server_url" 
android:value="https://dr.ioref.co.il">

assets/www/js/appObjs/globalMethods.js:60: 
 window.location = "mailto:itayg@elad.co.il?subject=Ioref%20Bug%20Report&body="+mailBoady;

grep .org.il -rn *
assets/www/js/controllers/contactUsController.js:41:                                                                    window.plugins.inAppBrowswer.open('http://www.oref.org.il','_system');
assets/www/js/controllers/contactUsController.js:45:                                                                    window.location = "http://www.oref.org.il";


לאחר ביצוע הפיענוח הראשוני מתקבלים קבצי .smali שהם המקבילה (?) של קבצי אסמבלי לbytecode בעולם האנדרויד.

אימות הממצאים בוצע ע"י בידקה מתוצרי ה jadx.

פריסה ופיענוח באמצעות jadx

  • שימוש שימוש באתרים שמבצעים jadx , לשם שימוש מעלים את קובץ הapk שהורד קודם לאתר והוא מבצע המרת החבילה לקוד java שהוא קריא טיפה יותר מקבצי smali.

  • ביצוע פריסת jadx עצמאית
ככל קבצי הapk הם לא הרבה יותר מאשר ארכיב מסוג zip שמכיל מבנה קבצים מיוחד.
נשמור את הקובץ בתת תיקיה (בשביל להקל בדיקות לאחר מכן).

 הפיכת קובץ ה APK ל zip וביצוע פריסה שלו:
user@laptop:~/pikud/zip$ mv Home\ Front\ Command_v1.2.apk Home\ Front\ Command_v1.2.apk.zip

ביצוע פריסה שלו (השתמשתי בתוכנת ה unzip שמגיעה מחבילת unzip בדביאן):

user@laptop:~/pikud/zip$ unzip -x Home\ Front\ Command_v1.2.apk.zip 
Archive:  Home Front Command_v1.2.apk.zip
 extracting: assets/www/css/images/ajax-loader.gif  
  inflating: assets/www/css/idangerous.swiper.css  
  inflating: assets/www/css/index.css  
  inflating: assets/www/css/jquery.mobile-1.4.2.min.css  
  inflating: assets/www/css/toggle-switch.css  
 extracting: assets/www/img/A_minus.png  
 extracting: assets/www/img/A_plus.png  
 extracting: assets/www/img/AntennaRed.png  
 extracting: assets/www/img/Locate.png  
 extracting: assets/www/img/antenna.png  
 extracting: assets/www/img/arrow1.png  
 extracting: assets/www/img/arrow1Right.png  
 extracting: assets/www/img/arrowDown.png  
 extracting: assets/www/img/arrowLeft.png  
 extracting: assets/www/img/arrowRight.png  
 extracting: assets/www/img/back.png  
 extracting: assets/www/img/background.png  
 extracting: assets/www/img/call.png  
 extracting: assets/www/img/call2.png  
 extracting: assets/www/img/cellBlue.png  
 extracting: assets/www/img/cellOrange.png  
 extracting: assets/www/img/cellRed.png  
 extracting: assets/www/img/cellyellow.png  
 extracting: assets/www/img/checkBox1Off.png  
 extracting: assets/www/img/checkBox1On.png  
 extracting: assets/www/img/choosingShelter.jpg  
 extracting: assets/www/img/close.png  
 extracting: assets/www/img/earthquake.jpg  
 extracting: assets/www/img/emergencyBag.jpg  
 extracting: assets/www/img/facebook.png  
 extracting: assets/www/img/familyReadiness.jpg  
 extracting: assets/www/img/filterBar.png  
 extracting: assets/www/img/forbiddenMaterials.jpg  
 extracting: assets/www/img/home.png  
 extracting: assets/www/img/info.png  
 extracting: assets/www/img/key1.png  
 extracting: assets/www/img/location2.png  
 extracting: assets/www/img/locationIcon.png  
 extracting: assets/www/img/logo.png  
 extracting: assets/www/img/mail.png  
 extracting: assets/www/img/menu.png  
 extracting: assets/www/img/navBar.png  
 extracting: assets/www/img/news_icon_Yellow.png  
 extracting: assets/www/img/onAlarm.jpg  
 extracting: assets/www/img/progressBig0.png  
 extracting: assets/www/img/progressBig100.png  
 extracting: assets/www/img/progressBig20.png  
 extracting: assets/www/img/progressBig40.png  
 extracting: assets/www/img/progressBig60.png  
 extracting: assets/www/img/progressBig80.png  
 extracting: assets/www/img/progressSmall0.png  
 extracting: assets/www/img/progressSmall100.png  
 extracting: assets/www/img/progressSmall20.png  
 extracting: assets/www/img/progressSmall40.png  
 extracting: assets/www/img/progressSmall60.png  
 extracting: assets/www/img/progressSmall80.png  
 extracting: assets/www/img/protectiveZonesMap.jpg  
 extracting: assets/www/img/radio.png  
 extracting: assets/www/img/radio2.png  
 extracting: assets/www/img/ready.png  
 extracting: assets/www/img/settings.png  
 extracting: assets/www/img/situation.png  
 extracting: assets/www/img/textBox2.png  
 extracting: assets/www/img/textBox3.png  
 extracting: assets/www/img/time2.png  
 extracting: assets/www/img/timeIcon.png  
 extracting: assets/www/img/twitter.png  
 extracting: assets/www/img/update.png  
 extracting: assets/www/img/web.png  
 extracting: assets/www/img/youtube.png  
  inflating: assets/www/js/appObjs/appMenu.js  
 extracting: assets/www/js/appObjs/appMessages.js  
  inflating: assets/www/js/appObjs/contentLoader.js  
  inflating: assets/www/js/appObjs/errorsManager.js  
  inflating: assets/www/js/appObjs/globalMethods.js  
  inflating: assets/www/js/appObjs/globalVariables.js  
  inflating: assets/www/js/appObjs/languageManager.js  
  inflating: assets/www/js/appObjs/locationManager.js  
  inflating: assets/www/js/appObjs/navigationManager.js  
  inflating: assets/www/js/appObjs/requireConfig.js  
  inflating: assets/www/js/controllers/appLobbyController.js  
  inflating: assets/www/js/controllers/contactUsController.js  
  inflating: assets/www/js/controllers/messageDetailsController.js  
  inflating: assets/www/js/controllers/readinessController.js  
  inflating: assets/www/js/controllers/readinessDetailsController.js  
  inflating: assets/www/js/controllers/settingsController.js  
  inflating: assets/www/js/controllers/situationRoomController.js  
  inflating: assets/www/js/controllers/wizard_chooseLocationController.js  
  inflating: assets/www/js/controllers/wizard_choosingShelterController.js  
  inflating: assets/www/js/controllers/wizard_earthquakeReadinessController.js  
  inflating: assets/www/js/controllers/wizard_emergencyBagController.js  
  inflating: assets/www/js/controllers/wizard_progressStateController.js  
  inflating: assets/www/js/lib/idangerous.swiper.js  
  inflating: assets/www/js/lib/idangerous.swiper.min.js  
  inflating: assets/www/js/lib/jquery-1.7.1.min.js  
  inflating: assets/www/js/lib/jquery.blockUI.js  
  inflating: assets/www/js/lib/jquery.js  
  inflating: assets/www/js/lib/jquery.mobile-1.4.2.js  
  inflating: assets/www/js/lib/jquery.mobile-1.4.2.min.js  
  inflating: assets/www/js/lib/jquery.scrollTo.js  
  inflating: assets/www/js/lib/jquery.touchSwipe.min.js  
  inflating: assets/www/js/lib/require.js  
  inflating: assets/www/js/lib/rtl.jquery.mobile-1.2.0.min.js  
  inflating: assets/www/js/lib/rtl.jquery.mobile-1.4.0.js  
  inflating: assets/www/js/lib/text.js  
  inflating: assets/www/js/lib/underscore.js  
  inflating: assets/www/js/localization/ar/offlineContent/appTerms.html  
  inflating: assets/www/js/localization/ar/offlineContent/offlineContent_about.html  
  inflating: assets/www/js/localization/ar/offlineContent/offlineContent_choosingShelter.html  
  inflating: assets/www/js/localization/ar/offlineContent/offlineContent_earthquakeReadiness.html  
  inflating: assets/www/js/localization/ar/offlineContent/offlineContent_emergencyBag.html  
  inflating: assets/www/js/localization/ar/offlineContent/offlineContent_familyReadiness.html  
  inflating: assets/www/js/localization/ar/offlineContent/offlineContent_forbiddenMaterials.html  
  inflating: assets/www/js/localization/ar/offlineContent/offlineContent_onAlarmBehavior.html  
  inflating: assets/www/js/localization/ar/offlineContent/offlineContent_protectiveZonesMap.html  
  inflating: assets/www/js/localization/ar/arabic.js  
  inflating: assets/www/js/localization/ar/cities_ar_EG  
  inflating: assets/www/js/localization/ar/situationRoomMessagesAR.js  
  inflating: assets/www/js/localization/en/offlineContent/appTerms.html  
  inflating: assets/www/js/localization/en/offlineContent/offlineContent_about.html  
  inflating: assets/www/js/localization/en/offlineContent/offlineContent_choosingShelter.html  
  inflating: assets/www/js/localization/en/offlineContent/offlineContent_earthquakeReadiness.html  
  inflating: assets/www/js/localization/en/offlineContent/offlineContent_emergencyBag.html  
  inflating: assets/www/js/localization/en/offlineContent/offlineContent_familyReadiness.html  
  inflating: assets/www/js/localization/en/offlineContent/offlineContent_forbiddenMaterials.html  
  inflating: assets/www/js/localization/en/offlineContent/offlineContent_onAlarmBehavior.html  
  inflating: assets/www/js/localization/en/offlineContent/offlineContent_protectiveZonesMap.html  
  inflating: assets/www/js/localization/en/cities_en_US  
  inflating: assets/www/js/localization/en/english.js  
  inflating: assets/www/js/localization/en/situationRoomMessagesEN.js  
  inflating: assets/www/js/localization/he/offlineContent/appTerms.html  
  inflating: assets/www/js/localization/he/offlineContent/offlineContent_about.html  
  inflating: assets/www/js/localization/he/offlineContent/offlineContent_choosingShelter.html  
  inflating: assets/www/js/localization/he/offlineContent/offlineContent_earthquakeReadiness.html  
  inflating: assets/www/js/localization/he/offlineContent/offlineContent_emergencyBag.html  
  inflating: assets/www/js/localization/he/offlineContent/offlineContent_familyReadiness.html  
  inflating: assets/www/js/localization/he/offlineContent/offlineContent_forbiddenMaterials.html  
  inflating: assets/www/js/localization/he/offlineContent/offlineContent_onAlarmBehavior.html  
  inflating: assets/www/js/localization/he/offlineContent/offlineContent_protectiveZonesMap.html  
  inflating: assets/www/js/localization/he/cities_iw_IL  
  inflating: assets/www/js/localization/he/hebrew.js  
  inflating: assets/www/js/localization/he/situationRoomMessagesHE.js  
  inflating: assets/www/js/localization/ru/offlineContent/appTerms.html  
  inflating: assets/www/js/localization/ru/offlineContent/offlineContent_about.html  
  inflating: assets/www/js/localization/ru/offlineContent/offlineContent_choosingShelter.html  
  inflating: assets/www/js/localization/ru/offlineContent/offlineContent_earthquakeReadiness.html  
  inflating: assets/www/js/localization/ru/offlineContent/offlineContent_emergencyBag.html  
  inflating: assets/www/js/localization/ru/offlineContent/offlineContent_familyReadiness.html  
  inflating: assets/www/js/localization/ru/offlineContent/offlineContent_forbiddenMaterials.html  
  inflating: assets/www/js/localization/ru/offlineContent/offlineContent_onAlarmBehavior.html  
  inflating: assets/www/js/localization/ru/offlineContent/offlineContent_protectiveZonesMap.html  
  inflating: assets/www/js/localization/ru/cities_ru_RU  
  inflating: assets/www/js/localization/ru/russian.js  
  inflating: assets/www/js/localization/ru/situationRoomMessagesRU.js  
  inflating: assets/www/js/models/getCityName.js  
  inflating: assets/www/js/app.js    
  inflating: assets/www/plugins/org.apache.cordova.dialogs/www/android/notification.js  
  inflating: assets/www/plugins/org.apache.cordova.dialogs/www/notification.js  
  inflating: assets/www/plugins/appSettings.js  
  inflating: assets/www/plugins/appStorage.js  
  inflating: assets/www/plugins/debuggerPlugin.js  
  inflating: assets/www/plugins/errorsManagerPlugin.js  
  inflating: assets/www/plugins/geoLocation.js  
  inflating: assets/www/plugins/getAboutInfo.js  
  inflating: assets/www/plugins/getMessages.js  
  inflating: assets/www/plugins/getSegments.js  
  inflating: assets/www/plugins/getShelterEstimateTime.js  
  inflating: assets/www/plugins/inappbrowser.js  
  inflating: assets/www/plugins/login.js  
  inflating: assets/www/plugins/softKeyBoard.js  
  inflating: assets/www/plugins/updateServer.js  
  inflating: assets/www/plugins/updateStatistics.js  
  inflating: assets/www/plugins/video.js  
  inflating: assets/www/templates/pages/appLobbyTemplate.html  
  inflating: assets/www/templates/pages/chooseLocationTemplate.html  
  inflating: assets/www/templates/pages/choosingShelterTemplate.html  
  inflating: assets/www/templates/pages/contactUsTemplate.html  
  inflating: assets/www/templates/pages/earthquakeReadinessTemplate.html  
  inflating: assets/www/templates/pages/emergencyBagTemplate.html  
  inflating: assets/www/templates/pages/messageDetailsTemplate.html  
  inflating: assets/www/templates/pages/progressStateTemplate.html  
  inflating: assets/www/templates/pages/readinessDetailsTemplate.html  
  inflating: assets/www/templates/pages/readinessTemplate.html  
  inflating: assets/www/templates/pages/settingsTemplate.html  
  inflating: assets/www/templates/pages/situationRoomTemplate.html  
  inflating: assets/www/templates/emergencyBagItem.html  
  inflating: assets/www/templates/menuTemplate.html  
  inflating: assets/www/templates/readinessItem.html  
  inflating: assets/www/templates/situationRoomMessage.html  
 extracting: assets/www/config.xml   
  inflating: assets/www/cordova.js   
  inflating: assets/www/cordova_plugins.js  
  inflating: assets/www/index.html   
 extracting: assets/alert.mp3        
 extracting: assets/info.mp3         
  inflating: res/color/common_signin_btn_text_dark.xml  
  inflating: res/color/common_signin_btn_text_light.xml  
 extracting: res/drawable/alert_icon.png  
  inflating: res/drawable/button_border.xml  
  inflating: res/drawable/common_signin_btn_icon_dark.xml  
  inflating: res/drawable/common_signin_btn_icon_light.xml  
  inflating: res/drawable/common_signin_btn_text_dark.xml  
  inflating: res/drawable/common_signin_btn_text_light.xml  
  inflating: res/drawable/dialog_border.xml  
  inflating: res/drawable/dialog_header_border.xml  
 extracting: res/drawable/ic_notification.png  
 extracting: res/drawable/icon.png   
 extracting: res/drawable/info_circle.png  
 extracting: res/drawable/ioref_logo.png  
 extracting: res/drawable/splash.png  
  inflating: res/drawable/toast_border.xml  
  inflating: res/layout/dialog_push_message.xml  
  inflating: res/layout/splash.xml   
  inflating: res/layout/toast.xml    
  inflating: res/raw/smart_trust_store.bks  
  inflating: res/xml/config.xml      
  inflating: AndroidManifest.xml     
 extracting: resources.arsc          
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_disabled_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_disabled_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_focus_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_focus_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_normal_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_normal_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_pressed_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_icon_pressed_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_disabled_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_disabled_focus_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_disabled_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_focus_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_focus_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_normal_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_normal_light.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_pressed_dark.9.png  
 extracting: res/drawable-hdpi-v4/common_signin_btn_text_pressed_light.9.png  
 extracting: res/drawable-hdpi-v4/ic_plusone_medium_off_client.png  
 extracting: res/drawable-hdpi-v4/ic_plusone_small_off_client.png  
 extracting: res/drawable-hdpi-v4/ic_plusone_standard_off_client.png  
 extracting: res/drawable-hdpi-v4/ic_plusone_tall_off_client.png  
 extracting: res/drawable-hdpi-v4/icon.png  
 extracting: res/drawable-hdpi-v4/splash.png  
 extracting: res/drawable-ldpi-v4/icon.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_disabled_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_disabled_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_focus_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_focus_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_normal_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_normal_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_pressed_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_icon_pressed_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_disabled_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_disabled_focus_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_disabled_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_focus_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_focus_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_normal_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_normal_light.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_pressed_dark.9.png  
 extracting: res/drawable-mdpi-v4/common_signin_btn_text_pressed_light.9.png  
 extracting: res/drawable-mdpi-v4/ic_plusone_medium_off_client.png  
 extracting: res/drawable-mdpi-v4/ic_plusone_small_off_client.png  
 extracting: res/drawable-mdpi-v4/ic_plusone_standard_off_client.png  
 extracting: res/drawable-mdpi-v4/ic_plusone_tall_off_client.png  
 extracting: res/drawable-mdpi-v4/icon.png  
 extracting: res/drawable-mdpi-v4/splash.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_focus_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_focus_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_normal_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_normal_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_pressed_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_icon_pressed_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_disabled_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_disabled_focus_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_disabled_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_focus_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_focus_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_normal_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_normal_light.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_pressed_dark.9.png  
 extracting: res/drawable-xhdpi-v4/common_signin_btn_text_pressed_light.9.png  
 extracting: res/drawable-xhdpi-v4/ic_plusone_medium_off_client.png  
 extracting: res/drawable-xhdpi-v4/ic_plusone_small_off_client.png  
 extracting: res/drawable-xhdpi-v4/ic_plusone_standard_off_client.png  
 extracting: res/drawable-xhdpi-v4/ic_plusone_tall_off_client.png  
 extracting: res/drawable-xhdpi-v4/icon.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_focus_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_focus_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_normal_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_normal_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_pressed_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_icon_pressed_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_focus_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_focus_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_focus_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_normal_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_normal_light.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_pressed_dark.9.png  
 extracting: res/drawable-xxhdpi-v4/common_signin_btn_text_pressed_light.9.png  
 extracting: res/drawable-xxhdpi-v4/ic_plusone_medium_off_client.png  
 extracting: res/drawable-xxhdpi-v4/ic_plusone_small_off_client.png  
 extracting: res/drawable-xxhdpi-v4/ic_plusone_standard_off_client.png  
 extracting: res/drawable-xxhdpi-v4/ic_plusone_tall_off_client.png  
  inflating: classes.dex             
  inflating: org/apache/http/entity/mime/version.properties  
  inflating: META-INF/MANIFEST.MF    
  inflating: META-INF/CERT.SF     

בשונה מקבצי smali את קבצי ה dex נאלץ להמיר לקוד קריא יותר כך :
jadx -d out classes.dex

אין תגובות:

הוסף רשומת תגובה