จะมีรายการแอปพลิเคชันทั้งหมดที่ติดตั้งในโทรศัพท์ของคุณและการอนุญาตที่พวกเขาต้องการทั้งหมดในหน้าเดียวหรือส่งออกรายการเพื่อให้สามารถตรวจสอบได้อย่างง่ายดายหรือไม่?
จะมีรายการแอปพลิเคชันทั้งหมดที่ติดตั้งในโทรศัพท์ของคุณและการอนุญาตที่พวกเขาต้องการทั้งหมดในหน้าเดียวหรือส่งออกรายการเพื่อให้สามารถตรวจสอบได้อย่างง่ายดายหรือไม่?
คำตอบ:
งานตลาดการใช้งานเช่นการอนุญาต Watchdogหรือสิทธิ์ นอกจากนี้ยังมีอีกหลายคน
aSpotCatยังเป็นแอพที่ดีสำหรับการตรวจสอบสิทธิ์
แอปที่เป็นมิตรที่อนุญาตจะแสดงรายการแอปที่ติดตั้งตามลำดับที่ต้องการมากที่สุดไปจนถึงข้อกำหนดสิทธิ์ที่น้อยที่สุด (จริง ๆ แล้วมันไม่ได้ติดตามหรือตรวจสอบหรือปรับพฤติกรรมของพวกเขา)
เนื่องจากไม่มีการกล่าวถึงรุ่น Android ในคำถามฉันจึงเสนอคำตอบตามบรรทัดคำสั่งที่เกี่ยวข้องกับ Android เวอร์ชั่น 4.2.1 ขึ้นไป นี่เป็นวิธีแก้ปัญหาที่ไม่ขึ้นอยู่กับระบบปฏิบัติการคือ OS บนพีซีนั่นคือ
ต้องใช้busybox binary หากอุปกรณ์ถูกรูทให้ติดตั้งแอปBusybox อื่น ๆ , ดาวน์โหลด busybox binary จากแหล่งข้อมูลอย่างเป็นทางการ , เปลี่ยนชื่อ binary เป็นbusybox , ตั้งค่าอนุญาตให้ใช้งานได้กับ Linux บนไบนารีนั้นสำหรับทุกคนและย้ายมันไปยังอุปกรณ์โดยใช้
adb push LOCAL_FILE /data/local/tmp/ # LOCAL_FILE is the file path where busybox binary is located in PC
ต้องaaptไบนารี หากคุณกำลังเรียกใช้ CM หรือ ROM ที่มาของอนุพันธ์ให้เพิกเฉยต่อข้อกำหนดนี้ มิฉะนั้นสำหรับ Android 4.x คุณสามารถพิจารณาดาวน์โหลดไบนารีจากที่นี่เปลี่ยนชื่อไบนารีเป็นaaptตั้งค่าสิทธิ์อนุญาตให้ใช้งานได้กับ Linux บนไบนารีนั้นสำหรับทุกคนและย้ายไปไว้ในอุปกรณ์โดยใช้
adb push LOCAL_FILE /data/local/tmp/ # LOCAL_FILE is the file path where busybox binary is located in PC .
สำหรับผู้ใช้ Android 5.x ให้ขอความช่วยเหลือจาก Google
นี่คือสคริปต์ตัวน้อยของฉันที่ใช้เวทมนตร์:
#! / system / bin / ดวลจุดโทษ
# ตรวจสอบว่ามี binary busybox อยู่ภายใต้ / data / local / tmp / หรือ / system / xbin กำหนดเส้นทางของไบนารี่ที่ตรวจพบลงในช่องว่างของตัวแปรหรือออกหากไม่มีไฟล์อยู่หรือไม่มีการตั้งค่าการอนุญาต
[[-x / data / local / tmp / busybox]] && busybox = / data / local / tmp / busybox || {[[-x / system / xbin / busybox]] && busybox = / system / xbin / busybox || {printf "busybox binary ไม่พบหรือไม่ได้ตั้งค่าการอนุญาตปฏิบัติการ Exiting \ n" && exit; }; }
# ตรวจสอบว่าไบนารี aapt มีอยู่ภายใต้ / data / local / tmp หรือ / system / bin หรือ / system / xbin ตั้งค่าเส้นทางของไบนารี่ที่ตรวจพบลงในตัวแปร aapt หรือ exit หากไฟล์ไม่มีอยู่หรือไม่อนุญาตการปฏิบัติการ
[[-x / data / local / tmp / aapt]] && aapt = / data / local / tmp / aapt || {[[-x / system / bin / aapt]] && aapt = / system / bin / aapt || {[[-x / system / xbin / aapt]] && aapt = / system / xbin / aapt || {printf "aapt binary ไม่พบหรือไม่ได้ตั้งค่าการอนุญาตการออกจาก \ n" && exit; }; }; }
# รายการชื่อแพคเกจของแอพที่ติดตั้งทั้งหมดและบันทึกไว้ในไฟล์ packages.txt ใต้ / sdcard
แพคเกจรายการน $ busybox sed 's / ^ แพ็คเกจ: // g' | $ busybox sort -o /sdcard/packages.txt
# สำหรับชื่อแพคเกจแต่ละรายการในผลลัพธ์ที่เราเพิ่งบันทึกให้รับป้ายกำกับของแอปโดยใช้ $ path และ $ label พิมพ์บรรทัดจากนั้นจึงแสดงรายการสิทธิ์ที่ได้รับจากแอป
ในขณะที่อ่านบรรทัด ทำ
path = $ (เส้นทาง pm $ line | $ busybox sed 's / ^ แพ็คเกจ: // g');
label = $ ($ aapt d badging $ path | $ busybox grep 'แอปพลิเคชัน: label =' | $ busybox cut -d "'" -f2);
$ busybox printf "การอนุญาตสำหรับแอป $ label ที่มีชื่อแพ็คเกจ $ line \ n";
แพ็คเกจ $ dumpsys $ busybox sed -e '1, / grantPermissions: / d' -e '/ ^ \ s * $ /, $ d' | $ busybox sort;
$ busybox printf "\ n";
เสร็จสิ้น </sdcard/packages.txt
เอาท์พุทสาธิต:
สิทธิ์สำหรับแอพ DisableService มีชื่อแพ็คเกจ cn.wq.disableservice
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
สิทธิ์สำหรับแอป Indecent Xposure ที่มีชื่อแพ็กเกจ co.vanir.indecentxposure
android.permission.RECEIVE_BOOT_COMPLETED
สิทธิ์สำหรับแท็กแอปที่มีชื่อแพคเกจ com.android.apps.tag
android.permission.CALL_PHONE
android.permission.NFC
android.permission.READ_CONTACTS
android.permission.WAKE_LOCK
android.permission.WRITE_SECURE_SETTINGS
...
...
สิทธิ์สำหรับผู้ให้บริการธีมแอปที่มีชื่อแพคเกจ org.cyanogenmod.themes.provider
android.permission.ACCESS_NOTIFICATIONS
android.permission.ACCESS_THEME_MANAGER
android.permission.INTERNET
android.permission.READ_THEMES
android.permission.WRITE_SECURE_SETTINGS
android.permission.WRITE_SETTINGS
android.permission.WRITE_THEMES
บันทึกสคริปต์ในพีซีเป็นไฟล์ชื่อperm_script.shและย้ายไปไว้ใน / sdcard โดยใช้
adb push LOCAL_FILE /sdcard/ # LOCAL_FILE is the path where you saved that file into PC
เรียกใช้ไฟล์นั้น
adb shell sh /sdcard/perm_script.sh > OUTPUT_FILE # OUTPUT_FILE is the path where you want to save the final output
ยิ่งแอพที่ติดตั้งในระบบยิ่งใช้เวลาในการดำเนินการคำสั่งก็จะยิ่งมากขึ้นเท่านั้น ในอุปกรณ์ของฉันใช้เวลาประมาณสามนาที
ที่เกี่ยวข้อง: มีวิธีในการค้นหาแอพที่ติดตั้งทั้งหมดที่สามารถเข้าถึงคุณสมบัติโทรศัพท์ได้หรือไม่