ตรวจสอบสิทธิ์การตรวจสอบได้อย่างง่ายดายในที่เดียว?


28

จะมีรายการแอปพลิเคชันทั้งหมดที่ติดตั้งในโทรศัพท์ของคุณและการอนุญาตที่พวกเขาต้องการทั้งหมดในหน้าเดียวหรือส่งออกรายการเพื่อให้สามารถตรวจสอบได้อย่างง่ายดายหรือไม่?

คำตอบ:


14

งานตลาดการใช้งานเช่นการอนุญาต Watchdogหรือสิทธิ์ นอกจากนี้ยังมีอีกหลายคน


น่าเสียดายที่แอปพลิเคชัน Market มีข้อผิดพลาด (หรือคุณสมบัติที่ต้องการ) เมื่อไม่มีสิทธิ์ทั้งหมดปรากฏอยู่ในรายการเมื่อติดตั้งแอปพลิเคชัน นี่อาจเป็นปัญหาความเข้ากันได้กับซอฟต์แวร์ที่ออกแบบมาสำหรับ Android รุ่นเก่ากว่า ... code.google.com/p/android/issues/detail?id=9365
Denis Nikolaenko

2
อาจรวมถึงความเห็นในคำตอบของคุณอาจจะง่ายขึ้น
bbaja42

@ Nikolaenko เห็นได้ชัดว่ามันมีวัตถุประสงค์และเปลี่ยนแปลงตอนนี้: android.stackexchange.com/questions/605/…
BlackShift

@BlackShift คุณหมายความว่าอย่างไร "เปลี่ยนตอนนี้" เปลี่ยนโดย Android dev ทีม?
Denis Nikolaenko

@ Nikolaenko ฉันคิดว่าฉันไม่ชัดเจนเพราะมันไม่ชัดเจนสำหรับฉัน ฉันใช้ cyanogenmod 6, android 2.2 และแอพเกือบทั้งหมดขอสิทธิ์ที่ลิงค์ของคุณอ้างว่าได้รับโดยปริยาย ดังนั้นฉันไม่รู้ว่าใครเปลี่ยนสิ่งนี้ (ทีมไซยานอยินหรือ Android)
BlackShift

4

app ที่ฉันสิ้นสุดที่ใช้แทนอีกสิทธิ์เป็นRL สิทธิ์ ฉันชอบอินเตอร์เฟส เท่าที่หนึ่งทำงานได้ดีกว่าฉันไม่รู้



0

แอปที่เป็นมิตรที่อนุญาตจะแสดงรายการแอปที่ติดตั้งตามลำดับที่ต้องการมากที่สุดไปจนถึงข้อกำหนดสิทธิ์ที่น้อยที่สุด (จริง ๆ แล้วมันไม่ได้ติดตามหรือตรวจสอบหรือปรับพฤติกรรมของพวกเขา)


0

เนื่องจากไม่มีการกล่าวถึงรุ่น 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

ยิ่งแอพที่ติดตั้งในระบบยิ่งใช้เวลาในการดำเนินการคำสั่งก็จะยิ่งมากขึ้นเท่านั้น ในอุปกรณ์ของฉันใช้เวลาประมาณสามนาที

ที่เกี่ยวข้อง: มีวิธีในการค้นหาแอพที่ติดตั้งทั้งหมดที่สามารถเข้าถึงคุณสมบัติโทรศัพท์ได้หรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.