Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Android

ผ่านการตรวจสอบ Play Integrity บน Android: รักษาความปลอดภัยแอปและโทรศัพท์

Google Play Integrity API เป็นบริการที่ตรวจสอบความสมบูรณ์ของโค้ดแอปและฮาร์ดแวร์ที่มันรันอยู่ เพื่อรักษาความปลอดภัยผู้บริโภคจากภัยคุกคามร้ายแรง เมื่อบูทโหลดของโทรศัพท์ถูกปลดล็อกหรือรูท Play Integrity API checks จะล้มเหลว

Play Integrity Checks ผ่านบนอุปกรณ์ Android

ตามชื่อ Play Integrity จะตรวจสอบว่าฮาร์ดแวร์อุปกรณ์ปลอดภัย (ไม่ได้ปรับเปลี่ยน ไม่ได้รูท) และ ยืนยันไบนารีของแอป เพื่อให้แน่ใจว่ามาจากแหล่งที่ถูกต้อง Google อนุญาตให้นักพัฒนาใช้ Play Integrity API ในแอปของพวกเขาเพื่อระบุว่ามีความเสี่ยงด้านความปลอดภัยหรือไม่ สิ่งที่แอปทำต่อไปขึ้นอยู่กับผู้สร้าง

แอปส่วนใหญ่ไม่สนใจว่าการตรวจสอบความสมบูรณ์ทั้งหมดจะผ่านหรือไม่ แต่บางแอปที่มีข้อมูลละเอียดอ่อน เช่น แอปธนาคารและรัฐบาล จะบล็อกโทรศัพท์แบบนี้ไม่ให้ใช้บริการ นี่คือเหตุผลบางอย่างที่ทำให้ Play Integrity checks ล้มเหลวบนอุปกรณ์ของคุณ:

  • อุปกรณ์มี บูทโหลดที่ปลดล็อก (unlocked bootloader)
  • อุปกรณ์ รูท (rooted)
  • อุปกรณ์กำลังรัน Custom ROM
  • หากมีการแก้ไขแล้ว อาจถูก patched หรือ ขัดแย้งกับโมดูลอื่น
  • อุปกรณ์ใช้ Unsigned ROM
  • DenyList ใน Magisk อาจไม่ได้ตั้งค่าให้ ยกเว้นบริการของ Google

วิธีข้ามการตรวจสอบ Play Integrity ที่ล้มเหลว?

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

↪ กลับสู่ Stock ROM ของอุปกรณ์ (ล็อกบูทโหลด)

เนื่องจาก Play Integrity ตรวจสอบสถานะอุปกรณ์ วิธีที่ตรงไปตรงมาและถูกต้องที่สุดในการรับสถานะนั้นคืนคือ กลับสู่บูทโหลดที่ล็อก และ ฟลัช Stock ROM ของผู้ผลิต นี่จะเป็นวิธีที่ง่ายและมีประสิทธิภาพที่สุดเพื่อหลีกเลี่ยงความลำบากในการอัปเดตโมดูลเฉพาะภายใน Magisk เป็นระยะ

สถานะบูทโหลดบนโทรศัพท์ Xiaomi

นอกจากนี้ หากบริการธนาคารของคุณจัดการความปลอดภัยอย่างจริงจัง คุณอาจต้องการพิจารณาเลือกไม่ใช้วิธีแก้ไข หากและเมื่อโมดูล Play Integrity ถูก patched โอกาสคือบริการการเงินของคุณจะตรวจจับได้และอาจบล็อกบริการบางอย่าง เช่น ธนาคารออนไลน์ จากการทำงานบนบัญชีของคุณ หรือแย่กว่านั้น ล็อกคุณออกจากบัญชี

↪ โมดูล Play Integrity Fix (เก็บ Root และสถานะบูทโหลด)

ข้อจำกัดความรับผิดชอบ: วิธีในคู่มือนี้เกี่ยวข้องกับการเปลี่ยนแปลงระบบปฏิบัติการและการตั้งค่าความปลอดภัยของอุปกรณ์ ซึ่งอาจมีความเสี่ยง การทำเช่นนี้อาจทำให้ประกันอุปกรณ์หมดอายุ และอาจนำไปสู่การสูญเสียข้อมูล ปัญหาระบบ หรือช่องโหว่ด้านความปลอดภัย อาจยังฝ่าฝืนกฎของแอปหรือบริการบางอย่าง ซึ่งอาจนำไปสู่การระงับหรือแบนบัญชี ดำเนินการด้วยความระมัดระวัง คู่มือนี้เพื่อการศึกษาเท่านั้น เราไม่รับผิดชอบต่อความเสียหาย การสูญเสีย หรือปัญหาทางกฎหมายที่อาจเกิดขึ้นจากการปฏิบัติตามคำแนะนำนี้

สำหรับคนส่วนใหญ่ที่รูทอุปกรณ์ผ่าน Magisk Play Integrity Fix เป็นโมดูลที่ต้องติดตั้ง โมดูลนี้ข้ามข้อจำกัดของ Play Integrity และปลอมแอปให้ยืนยันความแท้จริงของอุปกรณ์ อย่างไรก็ตาม ก่อนดำเนินการ มีองค์ประกอบบางอย่างที่คุณต้องตรวจสอบ

ข้อกำหนดเบื้องต้น

  1. ตรวจสอบให้แน่ใจว่า Google Play Services เวอร์ชันล่าสุด ติดตั้งบนโทรศัพท์ของคุณ
    • คุณสามารถใช้ลิงก์ตรงไป Play Store เพื่อตรวจสอบว่ามีตัวเลือกอัปเดต Google Play services หรือไม่
    • คุณยังสามารถเปิด Play Store > แตะรูปโปรไฟล์บัญชี (มุมขวาบน) > Settings > About > "Update Play Store."
  2. ตรวจสอบให้แน่ใจว่าคุณใช้ Custom ROM ที่เซ็นชื่อ (signed) บนอุปกรณ์
    • คุณสามารถใช้แอป RomSignCheck (ติดตั้งภายนอก) เพื่อตรวจสอบว่า ROM ของคุณเซ็นชื่อหรือไม่ หากใช่ จะแสดงข้อความ "ROM sign normal" หรือ "ROM sign is testkey"
  3. อัปเดตเป็น Magisk เวอร์ชันล่าสุด หรือเปลี่ยนไปใช้ Kitsune Mask ฟอร์กของ Magisk Manager อย่างเป็นทางการที่มีฟีเจอร์ MagiskHide เก่าเพิ่มกลับมา
    • สำหรับผู้ใช้ KernelSU ให้ฟลัชโมดูล Zygisk Next เพื่อเข้าถึง Zygisk (built-in สำหรับผู้ใช้ Magisk)
  4. ติดตั้ง MT Manager บนอุปกรณ์ของคุณ นี่จะใช้ติดตั้งไฟล์ keybox ที่ทำงานสำหรับ Play Integrity tokens

ขั้นตอนการติดตั้ง

ภาพรวมทั่วไปของส่วนนี้คือ มันจะซ่อนแอปที่เลือกไม่ให้ถูกตรวจจับในสภาพแวดล้อมที่รูท และจะติดตั้ง Magisk เป็นแอปพร็อกซี หาก Trusted Execution Environment (TEE) แตก มันจะพยายามแก้ไข ใช้ Shamiko เพื่อซ่อน Zygisk และสุดท้ายฟลัชโมดูล Play Integrity Fix

1) ซ่อนแอป Magisk

แผนการดำเนินการแรกคือซ่อนแอป Magisk เอง บางบริการเข้าถึงรายการแอปที่ติดตั้งบนโทรศัพท์ และหากพวกเขาพบ Magisk พวกเขาใช้ข้อมูลนั้นเพื่อสรุปว่าอุปกรณ์ถูกปรับเปลี่ยน Magisk อนุญาตให้คุณแทนที่ตัวเองด้วยแอปพร็อกซีที่มี Package ID แบบสุ่ม

  1. เปิด Magisk และแตะ Settings (ไอคอนเฟือง) มุมขวาบน
  2. เลื่อนลงไป "Hide the Magisk app" และแตะมัน
  3. เปลี่ยนชื่อไฟล์เป็นชื่อแอปสุ่ม และแตะ "OK"
  4. Magisk ตอนนี้ถูกปลอมเป็นแอปที่ต่างกันด้วย Package ID แบบสุ่ม

2) กำหนดค่า DenyList

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

  1. เปิด Magisk และแตะ Settings (ไอคอนเฟือง) มุมขวาบน
  2. เลื่อนลงไป "Configure DenyList" และแตะมัน
  3. แตะเมนูสามจุดแนวตั้งมุมขวาบน และเลือก "Show system apps"
  4. จากรายการแอป หา Google Play Services ขยายกล่องโต้ตอบ และเปิดสวิตช์สำหรับ "com.google.android.gms" และ "com.google.android.gms.unstable"
  5. ตอนนี้ กลับไปที่รายการ หา Google Play Store และเปิดสวิตช์สำหรับ "com.android.vending"

หมายเหตุ: ไปที่การตั้งค่าโทรศัพท์ Force stop และล้างข้อมูลสำหรับ Google Play Store และ Play Services ทั้งคู่หลังจากกำหนดค่า DenyList

3) ปลอมสถานะ Bootloader (หาก TEE แตก)

เนื่องจาก Play Integrity ยังอาศัยสถานะบูทโหลดในการตรวจสอบความสมบูรณ์ของอุปกรณ์ จึงสำคัญที่จะปลอมสถานะนั้นด้วย

  1. ตรวจสอบว่า Trusted Execution Environment ของคุณแตกหรือไม่
    • ทำได้โดยดึง Momo และตรวจสอบสถานะ TEE
  2. หาก TEE แตกสำหรับอุปกรณ์ของคุณ คุณจะต้องฟลัชโมดูล LSPosed
  3. จากการตั้งค่า Xposed ให้เปิดใช้งานโมดูล BootloaderSpoofer
  4. หากคุณต้องการซ่อนสถานะรูทจากแอปบางตัว ให้เลือกที่นี่

4) ซ่อน Zygisk & ฟลัชโมดูล Play Integrity Fix

เพื่อซ่อนร่องรอยรูทที่เหลือจากอุปกรณ์ของคุณ ให้ฟลัชโมดูล Shamiko (Magisk) หรือ Zygisk Assistant หากคุณอยู่บน KernelSU

  1. ดาวน์โหลดโมดูล Play Integrity Fix จาก repository ของ chiteroman
  2. ดึงโมดูล TrickyStore จาก repository ของ aviraxp
  3. ฟลัชโมดูลทั้งสองนี้ผ่าน Magisk

5) ส่งไฟล์ Keybox ที่ทำงานผ่าน MT Manager

สำคัญที่จะต้องอัปเดตไฟล์ keybox เป็นระยะ เนื่องจากพวกมันถูก patched ทุกไม่นาน นี่จะเป็นคีย์ที่จะใช้ปลอม integrity tokens คุณสามารถหา tokens นี้ได้จากฟอรัมออนไลน์บน XDA, Reddit และ Telegram

  1. เปิด MT Manager และ คัดลอกไฟล์ keybox ของคุณ
  2. ไปที่ <em>/data/adb/tricky_store/</em> และวางไฟล์ที่นั่น
  3. กดค้างที่ ไฟล์ keybox และไปที่ properties
  4. หน้า "Owner," คุณจะเห็น root แตะ Modify
  5. แตะ Group และเลือก "root – 0"
  6. กลับไปที่ properties และหน้า Permissions แตะ Modify
  7. เลือก "Other" ภายใต้ Read และยกเลิกเลือก "Group" ภายใต้ Write
  8. แตะ "OK" หมายเหตุ: เมื่อแอปทำคำขอไปที่ Play Integrity API มันจะคืน integrity token ที่เซ็นด้วย private key สำหรับการข้าม เราจะต้องการ keybox ที่ทำงานแบบกำหนดเองเพื่อสร้าง tokens ที่ข้ามการตรวจสอบเหล่านี้และปลอมแอปให้เชื่อว่ามันรันบนสภาพแวดล้อมที่ไม่ได้ปรับเปลี่ยน ไม่ได้รูท
  9. เมื่อทุกอย่างตั้งค่าเสร็จ รีบูทอุปกรณ์ ดึงแอป Play Integrity API Checker และตรวจสอบสถานะความสมบูรณ์ของอุปกรณ์

เกี่ยวกับผู้เขียน

Muhammad Qasim

Qasim มีความหลงใหลในเทคโนโลยีและเกม ขับเคลื่อนให้เขาอัปเดตข่าวสารล่าสุดและแบ่งปันมุมมองผ่านการเขียน เขามุ่งมั่นแบ่งปันความเชี่ยวชาญและมีส่วนร่วมอย่างมีความหมายในโลกเทคและเกมมิ่ง