APK ဖိုင်များ၏ အတွင်းပိုင်း တည်ဆောက်ပုံကို စစ်ဆေးခြင်း
"APK အချက်အလက် ကြည့်ရှုစစ်ဆေးသူ" သည် Android အက်ပ် ပက်ကေ့ဂျ် (APK) ဖိုင်တစ်ခုကို သင့်စက်ပစ္စည်းပေါ်တွင် မထည့်သွင်းမီ ၎င်း၏ အသေးစိတ် အချက်အလက်များနှင့် မက်တာဒေတာများကို စစ်ဆေးနိုင်ရန် ကူညီပေးသည့် အခမဲ့ အွန်လိုင်းကိရိယာတစ်ခု ဖြစ်သည်။ ဤကိရိယာသည် အသုံးပြုသူ၏ ဝဘ်ဘရောက်ဇာအတွင်း၌သာ လုံးဝအလုပ်လုပ်ပြီး APK ဖိုင်အတွင်းရှိ အဓိကနည်းပညာပိုင်းဆိုင်ရာ အချက်အလက်များကို ထုတ်ယူပြသပေးသည်။ ၎င်းတွင် ပက်ကေ့ဂျ်အမည်၊ ဗားရှင်း၊ လိုအပ်သော Android ဗားရှင်းများ၊ တောင်းဆိုထားသည့် ခွင့်ပြုချက်များ၊ နောက်ခံနှင့် မျက်နှာပြင် အစိတ်အပိုင်းများ၊ ပံ့ပိုးပေးထားသည့် ပရိုဆက်ဆာ အမျိုးအစားများ၊ လက်မှတ်ရေးထိုးထားသည့် သက်သေခံလက်မှတ်များနှင့် ဖိုင်ဟက်ရှ်များ ပါဝင်သည်။ ဤကိရိယာသည် အက်ပ်ကို အမှန်တကယ် ထည့်သွင်းခြင်း သို့မဟုတ် လုပ်ဆောင်ခြင်းမပြုဘဲ ၎င်း၏အချက်အလက်များကို စစ်ဆေးရန်နှင့် တရားဝင် ဆော့ဖ်ဝဲရေးသားသူ ထုတ်ပြန်ထားသည့် အချက်အလက်များနှင့် နှိုင်းယှဉ်ရန်အတွက် အသုံးပြုနိုင်သော static analysis ကိရိယာတစ်ခု ဖြစ်သည်။
ထည့်သွင်းနိုင်သည့် ဖိုင်သတ်မှတ်ချက်များနှင့် ကန့်သတ်ချက်များ
ဤကိရိယာတွင် စစ်ဆေးရန်အတွက် အောက်ပါသတ်မှတ်ချက်များနှင့် ကိုက်ညီသော ဖိုင်ကို ထည့်သွင်းရမည်ဖြစ်သည် -
- ဖိုင်အမျိုးအစား - လက်ခံသည့် ဖိုင်ပုံစံမှာ
.apkဖြစ်သည်။ - ဖိုင်အရွယ်အစား ကန့်သတ်ချက် - 500 MB အထိသာ လက်ခံသည်။
- ဖိုင်အရေအတွက် ကန့်သတ်ချက် - တစ်ကြိမ်လျှင် ဖိုင်တစ်ခုသာ စစ်ဆေးနိုင်သည်။ အကယ်၍ ဖိုင်အများအပြားကို တစ်ပြိုင်နက် ထည့်သွင်းပါက ပထမဆုံးဖိုင်ကိုသာ စစ်ဆေးမည်ဖြစ်ပြီး မျက်နှာပြင်တွင်
"တစ်ကြိမ်လျှင် ဖိုင်တစ်ခုသာ - ပထမဖိုင်ကိုသာ စစ်ဆေးနေပါသည်။"ဟူသော မှတ်ချက်ကို ပြသမည်ဖြစ်သည်။
စနစ်၏ လုပ်ဆောင်ချက် အခြေအနေပြ ညွှန်ပြချက်များ
ဖိုင်ကို စစ်ဆေးနေစဉ်အတွင်း အသုံးပြုသူ၏ လုပ်ဆောင်ချက်အပေါ် မူတည်၍ အောက်ပါ အခြေအနေပြ စာသားများကို တွေ့မြင်ရမည်ဖြစ်သည် -
- ဖိုင်မထည့်ရသေးမီ အဆင်သင့်ဖြစ်နေချိန်တွင်
"အဆင်သင့်ဖြစ်ပါပြီ။ စစ်ဆေးရန် APK တစ်ခုကို ချပေးပါ။"ဟု ပြသသည်။ - ဖိုင်ကို စတင်ဖတ်ရှုနေချိန်တွင်
"‹name› ကို ဖတ်ရှုနေသည်..."ဟု ပြသသည်။ - ဖိုင်၏ ဟက်ရှ်တန်ဖိုးများကို တွက်ချက်နေစဉ်တွင်
"ဖိုင်ဟက်ရှ်များကို တွက်ချက်နေသည် - ‹percent›%"ဟု ပြသသည်။ - ပက်ကေ့ဂျ်ကို ခွဲခြမ်းစိတ်ဖြာနေချိန်တွင်
"ပက်ကေ့ဂျ်ကို ပုံဖော်စစ်ဆေးနေသည်..."ဟု ပြသသည်။ - စစ်ဆေးမှု ပြီးဆုံးသွားချိန်တွင်
"အစီရင်ခံစာ အဆင်သင့်ဖြစ်ပါပြီ။"ဟု ပြသသည်။ - အချက်အလက်များကို ဖယ်ရှားလိုက်ချိန်တွင်
"ရှင်းလင်းပြီးပါပြီ။"ဟု ပြသသည်။ - အစီရင်ခံစာကို သိမ်းဆည်းပြီးချိန်တွင်
"အစီရင်ခံစာကို ဒေါင်းလုဒ်လုပ်ပြီးပါပြီ။"ဟု ပြသသည်။
ဖိုင်ထည့်သွင်းရန် နေရာတွင် "APK ဖိုင်ကို ဤနေရာသို့ ဆွဲထည့်ပါ သို့မဟုတ် ရွေးချယ်ရန် နှိပ်ပါ" နှင့် ".apk ဖိုင်တစ်ခု၊ 500 MB အထိ" ဟူသော လမ်းညွှန်စာသားများကို ပြသထားသည်။
အစီရင်ခံစာတွင် ပါဝင်သည့် အချက်အလက် ကဏ္ဍများ
စစ်ဆေးမှု အောင်မြင်စွာ ပြီးဆုံးသွားပါက အောက်ပါ ကဏ္ဍအလိုက် အသေးစိတ် အချက်အလက်များကို ပြသပေးမည်ဖြစ်သည် -
လိုအပ်ချက်များ (Requirements)
ဤကဏ္ဍတွင် အက်ပ်လုပ်ဆောင်ရန် လိုအပ်သော Android စနစ် သတ်မှတ်ချက်များကို ပြသသည် -
- အနည်းဆုံး Android - ၎င်းကို
Android ‹version› (API ‹level›)သို့မဟုတ်API ‹level›ပုံစံဖြင့် ပြသသည်။ - ပစ်မှတ် Android - ၎င်းကို
Android ‹version› (API ‹level›)သို့မဟုတ်API ‹level›ပုံစံဖြင့် ပြသသည်။ - အကယ်၍ အမြင့်ဆုံး SDK ကန့်သတ်ချက် ရှိနေပါက
max SDK ‹n›ဟု ပြသသည်။
ခွင့်ပြုချက်များ (Permissions)
အက်ပ်က တောင်းဆိုထားသည့် ခွင့်ပြုချက်များအားလုံးကို စာရင်းပြုစုပြသသည်။ Android စနစ်က သုံးစွဲသူ၏ ကိုယ်ရေးကိုယ်တာ အချက်အလက်များကို ရယူနိုင်သည်ဟု သတ်မှတ်ထားသော အန္တရာယ်ရှိ ခွင့်ပြုချက်များ၏ ဘေးတွင် "အန္တရာယ်ရှိနိုင်သော" ဟူသော တံဆိပ်ကို ပြသပေးသည်။ ဤကဏ္ဍတွင် "အန္တရာယ်ရှိနိုင်သော" တံဆိပ်ပါသည့် ခွင့်ပြုချက်များကို စာရင်း၏ ထိပ်ဆုံးတွင် ဦးစားပေး ဖော်ပြပေးသည်။
အစိတ်အပိုင်းများ (Components)
အက်ပ်၏ အဓိက အစိတ်အပိုင်းများကို အောက်ပါအတိုင်း အမျိုးအစားခွဲ၍ ပြသသည် -
- Activities -
Activitiesအုပ်စုအောက်တွင် ပြသပြီး ပြင်ပမှ ခေါ်ယူသုံးစွဲနိုင်သော အစိတ်အပိုင်းများ၏ ဘေးတွင်"ထုတ်ယူပြီး"ဟု ပြသသည်။ - Services -
Servicesအုပ်စုအောက်တွင် ပြသပြီး သက်ဆိုင်ပါက"ထုတ်ယူပြီး"ဟု ပြသသည်။ - Receivers -
Receiversအုပ်စုအောက်တွင် ပြသပြီး သက်ဆိုင်ပါက"ထုတ်ယူပြီး"ဟု ပြသသည်။ - Providers -
Providersအုပ်စုအောက်တွင် ပြသပြီး သက်ဆိုင်ပါက"ထုတ်ယူပြီး"တံဆိပ်၊ provider authority သို့မဟုတ်"မရှိပါ"ဟု ပြသသည်။
အစိတ်အပိုင်း အမျိုးအစားတစ်ခုစီအတွက် အများဆုံး အခုရေ ၁၀၀ အထိသာ ပြသပေးပြီး ၎င်းထက် ကျော်လွန်ပါက စာရင်း၏ အဆုံးတွင် +‹count› ထပ်မံ ဟု ပေါင်းထည့်ပြသသည်။
နေတစ်ဗ် ကုဒ် (Native Code)
အက်ပ်က ပံ့ပိုးပေးထားသည့် ပရိုဆက်ဆာ အမျိုးအစားများ (ABIs) နှင့် ၎င်းတို့တွင် ပါဝင်သော native library အရေအတွက်ကို ပြသသည်။
ရင်းမြစ်များ (Resources)
အက်ပ်အတွင်း ပါဝင်သော ရင်းမြစ်ဆိုင်ရာ အချက်အလက်များကို အောက်ပါအတိုင်း ပြသသည် -
- ဖန်သားပြင် သိပ်သည်းဆများ
- ရင်းမြစ်ဖိုင်များ
- အက်ဆက်ဖိုင်များ
- ကုဒ်ဖိုင်များ (.dex)
- ပက်ကေ့ဂျ်အတွင်းရှိ ဖိုင်များ
လက်မှတ်များ (Signatures)
အက်ပ်ကို ရေးထိုးထားသည့် လက်မှတ်များ၏ အချက်အလက်များကို ပြသသည်။ ၎င်းတွင် v1 PKCS#7 ဘလောက်များနှင့် APK Signing Blocks (v2, v3, v3.1) တို့မှ ထုတ်ယူထားသော အောက်ပါ အချက်အလက်များ ပါဝင်သည် -
လက်မှတ်ထိုးသူ ‹n›- အကြောင်းအရာ
- ထုတ်ပေးသူ
- စဉ်နံပါတ်
- စတင်အကျိုးသက်ရောက်သည့်ရက်စွဲ
- ကုန်ဆုံးမည့်ရက်စွဲ
- လက်မှတ်ရေးထိုးသည့် အယ်လဂိုရီသမ်
- သော့ချက် အယ်လဂိုရီသမ်
- MD5, SHA-1 နှင့် SHA-256 လက်ဗွေရာများ (Fingerprints)။
အကယ်၍ စနစ်က အသိအမှတ်ပြုထားသော လက်မှတ်ဘလောက် တစ်ခုမျှ မတွေ့ရှိပါက "အသိအမှတ်ပြုထားသော လက်မှတ်ဘလောက် မတွေ့ရှိပါ။ ပါကေ့သည် လက်မှတ်မထိုးထားခြင်း သို့မဟုတ် ပြန်လည်ထုပ်ပိုးထားခြင်း ဖြစ်နိုင်သည်။" ဟူသော စာသားကို ပြသမည်ဖြစ်သည်။ ဤကိရိယာသည် လက်မှတ်များ၏ မက်တာဒေတာကိုသာ ထုတ်ယူပြသပေးခြင်းဖြစ်ပြီး လက်မှတ်၏ ခိုင်မာမှု၊ ယုံကြည်ရမှု သို့မဟုတ် ထုတ်ဝေသူ၏ တကယ့်အမည်မှန်ကို သင်္ချာနည်းအရ စစ်ဆေးအတည်ပြုပေးခြင်း မရှိပါ။
ဖိုင် ဟက်ရှ်များ (File hashes)
ထည့်သွင်းလိုက်သော APK ဖိုင်တစ်ခုလုံး၏ MD5, SHA-1 နှင့် SHA-256 ဟက်ရှ်တန်ဖိုးများကို တွက်ချက်ပြသပေးသည်။
အသုံးပြုသူသည် ရလဒ်များကို သိမ်းဆည်းရန် "အစီရင်ခံစာကို ဒေါင်းလုဒ်လုပ်ရန်" ခလုတ်ကို နှိပ်နိုင်ပြီး၊ အချက်အလက်များကို ဖယ်ရှားရန် "ရှင်းလင်းရန်" ခလုတ်ကို နှိပ်နိုင်သည်။
အမှားအယွင်းများနှင့် အကန့်သတ်များဆိုင်ရာ စည်းမျဉ်းများ
ဖိုင်စစ်ဆေးစဉ်အတွင်း ပြဿနာတစ်စုံတစ်ရာ ရှိပါက အောက်ပါအတိုင်း အမှားအယွင်း မက်ဆေ့ဂျ်များကို ပြသမည်ဖြစ်သည် -
- ဖိုင်အရွယ်အစား ကျော်လွန်ခြင်း - ဖိုင်အရွယ်အစား 500 MB ထက်ကြီးပါက
"ဤဖိုင်သည် 500 MB ကျော်လွန်နေပါသည် - ဘရောက်ဇာ တက်ဘ်တစ်ခု လုံခြုံစွာ စစ်ဆေးနိုင်သည်ထက် ကြီးမားနေသည်။"ဟု ပြသကာ ငြင်းပယ်မည်ဖြစ်သည်။ - ခွဲထားသော ပက်ကေ့ဂျ်များ - XAPK သို့မဟုတ် APKM ကဲ့သို့သော ဖိုင်များ ထည့်သွင်းပါက
"ဤသည်မှာ XAPK ခွဲထားသော ပက်ကေ့ဂျ်တစ်ခုဖြစ်သည် - APK များစွာပါရှိသော ကွန်တိန်နာတစ်ခုဖြစ်သည်။ အခြေခံ APK ကို ထုတ်ယူပြီး ထိုဖိုင်ကိုသာ အစားထိုးစစ်ဆေးပါ။"ဟု ပြသမည်ဖြစ်သည်။ - Android App Bundles -
.aabဖိုင်များ ထည့်သွင်းပါက"ဤသည်မှာ Android App Bundle (.aab) တစ်ခုဖြစ်သည် - ထည့်သွင်းနိုင်သော APK မဟုတ်ဘဲ ထုတ်ဝေသည့် ပုံစံတစ်ခုဖြစ်သည်။ တည်ဆောက်ထားသော APK ကိုသာ အစားထိုးစစ်ဆေးပါ။"ဟု ပြသမည်ဖြစ်သည်။ - APK မဟုတ်သော ဖိုင်များ - APK မဟုတ်သော အခြားဖိုင်များ ထည့်သွင်းပါက
"ဤသည်မှာ APK ကဲ့သို့ မပေါ်ပါ။ အတွင်းတွင် ဖတ်ရှု၍ရသော AndroidManifest.xml ကို မတွေ့ရှိပါ။"ဟု ပြသမည်ဖြစ်သည်။ - ပျက်စီးနေသော ဖိုင်များ - ဖိုင်ပျက်စီးနေပါက
"ပက်ကေ့ဂျ် ပျက်စီးနေပုံရသည် သို့မဟုတ် မပြည့်စုံပါ၊ ထို့ကြောင့် ၎င်း၏ပါဝင်ချက်များကို ဖတ်ရှု၍မရပါ။"ဟု ပြသမည်ဖြစ်သည်။ - ဖတ်ရှု၍မရသော ဖိုင်များ - အထွေထွေ ဖတ်ရှု၍မရသော ပြဿနာများအတွက်
"ဖိုင်ကို ဖတ်ရှု၍မရပါ။ ထပ်မံရွေးချယ်ပါ။"ဟု ပြသမည်ဖြစ်သည်။ - အခြားစစ်ဆေးမှု မအောင်မြင်မှုများ - အခြားအကြောင်းရင်းကြောင့် စစ်ဆေး၍မရပါက
"စစ်ဆေးမှု မအောင်မြင်ပါ။ အခြားဖိုင်တစ်ခုကို ထပ်ကြိုးစားပါ။"ဟု ပြသမည်ဖြစ်သည်။
ကိုယ်ရေးအချက်အလက် လုံခြုံမှုနှင့် လုပ်ဆောင်ပုံစနစ်
ဤကိရိယာသည် အသုံးပြုသူ၏ ကိုယ်ရေးအချက်အလက် လုံခြုံမှုကို အပြည့်အဝ အာမခံသည်။ ဖိုင်ဖတ်ရှုခြင်း၊ ဟက်ရှ်တွက်ချက်ခြင်းနှင့် ပက်ကေ့ဂျ်ပုံဖော်ခြင်း လုပ်ငန်းစဉ်အားလုံးသည် အသုံးပြုသူ၏ ဝဘ်ဘရောက်ဇာအတွင်းရှိ local Worker ပေါ်တွင်သာ လုံးဝလုပ်ဆောင်ခြင်း ဖြစ်သည်။ မည်သည့်ဖိုင် သို့မဟုတ် အချက်အလက်ကိုမျှ ပြင်ပဆာဗာသို့ အပ်လုဒ်တင်ခြင်း မရှိသည့်အပြင်၊ APK ဖိုင်ကို အသုံးပြုသူ၏ စက်ပစ္စည်းပေါ်တွင် ထည့်သွင်းခြင်း သို့မဟုတ် လုပ်ဆောင်ခြင်း လုံးဝမရှိပါ။
မကြာခဏမေးလေ့ရှိသော မေးခွန်းများ (FAQ)
APK တစ်ခုကို မထည့်သွင်းဘဲ ဘာတွေလေ့လာနိုင်သလဲ။
များစွာလေ့လာနိုင်ပါသည်- အက်ပ်၏ ပက်ကေ့ဂျ်အမည်နှင့် ဗားရှင်း၊ လိုအပ်သော Android ဗားရှင်းများ၊ တောင်းဆိုထားသည့် ခွင့်ပြုချက်အားလုံး၊ မျက်နှာပြင်များနှင့် နောက်ခံ အစိတ်အပိုင်းများ၊ ကုဒ်များထည့်သွင်းထားသည့် ပရိုဆက်ဆာအမျိုးအစားများနှင့် လက်မှတ်ရေးထိုးထားသည့် လက်မှတ်များ ဖြစ်သည်။
ဤကိရိယာက APK သည် malware ဟုတ်မဟုတ် ပြောပြနိုင်ပါသလား။
မပြောပြနိုင်ပါ - အမြန်စစ်ဆေးရုံဖြင့် အဖြေထုတ်ပေးမည်ဟု ကတိပေးသော မည်သည့်ကိရိယာကိုမဆို သံသယရှိပါ။ ဤနေရာတွင် သင်ရရှိသည်များမှာ- ခွင့်ပြုချက်များ၊ အစိတ်အပိုင်းများ၊ လက်မှတ်ထိုးသူများနှင့် ဟက်ရှ်များဖြစ်ကြသည်။ ၎င်းတို့ကို ဆော့ဖ်ဝဲရေးသားသူ ထုတ်ပြန်ထားသည်များနှင့် နှိုင်းယှဉ်ပါ၊ မျှော်လင့်မထားသော ခွင့်ပြုချက်များ သို့မဟုတ် တရားဝင်ထုတ်ဝေမှုနှင့် မတူညီသော လက်မှတ်ထိုးသူကို တွေ့ရှိပါက သတိထားပါ။
မည်သည့်ဖိုင်များကို ပံ့ပိုးပေးသလဲ။
500 MB အထိရှိသော တစ်ခုတည်းသော APK ဖိုင်များ။ ခွဲထားသော ပက်ကေ့ဂျ်များ (XAPK၊ APKM) နှင့် Android App Bundles (.aab) တို့သည် ထည့်သွင်း၍ရသော ပက်ကေ့ဂျ်တစ်ခုထက် ကွန်တိန်နာ သို့မဟုတ် ထုတ်ဝေသည့် ပုံစံများဖြစ်သောကြောင့် ရှုပ်ထွေးသော အစီရင်ခံစာအစား ရှင်းလင်းသော သတင်းစကားဖြင့် ငြင်းပယ်ပါမည်။
လက်မှတ်ရေးထိုးမှု အသေးစိတ်အချက်အလက်များက ဘာကိုပြသလဲ။
Android အက်ပ်တိုင်းကို လက်မှတ်ရေးထိုးထားပြီး လက်မှတ်က ၎င်းကို မည်သူထုတ်ဝေသည်ကို ဖော်ပြသည်။ ပက်ကေ့ဂျ်တွင် ပါရှိသည့် လက်မှတ်ရေးထိုးမှုအစီအစဉ်များ (v1၊ v2၊ v3)၊ လက်မှတ်ထိုးသူ၏ အကြောင်းအရာ၊ သက်တမ်းရှိသည့်ကာလနှင့် MD5၊ SHA-1 နှင့် SHA-256 လက်ဗွေရာများကို သင်တွေ့မြင်ရမည်ဖြစ်သည်။ ကိုက်ညီသော လက်ဗွေရာများပါရှိသော APK နှစ်ခုသည် တူညီသော ထုတ်ဝေသူထံမှ လာခြင်းဖြစ်သည် - ထိုထုတ်ဝေသူကို ယုံကြည်သင့်မသင့်မှာ သင့်ဆုံးဖြတ်ချက်သာ ဖြစ်သည်။
ခွင့်ပြုချက်တစ်ခုပေါ်ရှိ “Dangerous” တံဆိပ်က ဘာကိုဆိုလိုသလဲ။
၎င်းသည် Android ၏ ကိုယ်ပိုင် အမျိုးအစားခွဲခြားမှုဖြစ်သည်- အန္တရာယ်ရှိသော ခွင့်ပြုချက်များသည် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များဖြစ်သည့် တည်နေရာ၊ အဆက်အသွယ်များ၊ ကင်မရာ၊ မိုက်ခရိုဖုန်း၊ သိုလှောင်မှု စသည်တို့ကို ဝင်ရောက်ကြည့်ရှုနိုင်သောကြောင့် စနစ်က အသုံးမပြုမီ အသုံးပြုသူကို ခွင့်ပြုချက်တောင်းခံပါသည်။ ဤတံဆိပ်သည် စွပ်စွဲချက်မဟုတ်ပါ၊ တည်နေရာတောင်းခံသော မြေပုံအက်ပ်တစ်ခုသည် သဘာဝကျပါသည်။ ၎င်းသည် နှစ်ခါပြန်ဖတ်သင့်သည့် ခွင့်ပြုချက်များကိုသာ မှတ်သားပြသခြင်းဖြစ်သည်။