superuser.apk และ su คืออะไรกันแน่?


32

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

ฉันสับสนเล็กน้อยว่าไฟล์ superuser.apk และ su มาจากไหน ดูเหมือนว่าจะไม่ใช่ไฟล์ Google อย่างเป็นทางการ แต่เป็นไฟล์ที่สร้างโดยบุคคล (สุ่ม) ที่กล่าวว่าไฟล์เหล่านี้ปลอดภัยแค่ไหน?

จากการวิจัยฉันมีความเข้าใจทั่วไปเกี่ยวกับวัตถุประสงค์ของพวกเขา ฉันสงสัยว่าถ้าใครรู้ว่าไฟล์เหล่านี้คืออะไร (ไฟล์เรียกทำงานสคริปต์?) สิ่งที่พวกเขามีและวิธีการทำงานโดยทั่วไป

ขอบคุณ!


ที่เกี่ยวข้อง: Magisk ทำงานอย่างไร
Irfan Latif

คำตอบ:


32

su(ย่อมาจาก Switch User) เป็นไบนารีที่ปฏิบัติการได้ มันถูกใช้โดย Android และระบบอื่น ๆ ที่ใช้ระบบ nix เพื่อให้กระบวนการเปลี่ยนบัญชีผู้ใช้ที่เกี่ยวข้อง เหตุผลที่สำคัญจากมุมมองการรูทคือsuไม่มีพารามิเตอร์อื่นใดจะเปลี่ยนเป็นผู้ใช้รูทซึ่งหมายความว่ากระบวนการที่ต้องได้รับอนุญาตรูทสำหรับการทำงานของพวกเขาจำเป็นต้องเรียกใช้su(เนื่องจากโดยค่าเริ่มต้น

Superuser เป็นแอปพลิเคชัน Android (.apk เป็นแพ็คเกจแอปพลิเคชัน Android) มันทำงานเป็น "gatekeeper" ไปยังsuไบนารี แอปพลิเคชันที่พยายามเรียกใช้suจะถูกบังคับให้กำหนดเส้นทางผ่าน Superuser ซึ่งจะแจ้งให้ผู้ใช้ทราบว่าเป็นแอปพลิเคชันที่ไม่รู้จักหรือใหม่ จากนั้นผู้ใช้มีตัวเลือกในการอนุมัติหรือปฏิเสธการเข้าถึงsuและเลือกให้ Superuser จดจำการตัดสินใจของพวกเขาเพื่อให้สามารถใช้งานได้โดยอัตโนมัติสำหรับการโทรครั้งต่อไปโดยแอปนั้น ในการทำเช่นนี้แอพเดียวที่ได้รับอนุญาตให้ใช้งานรูทคือแอปที่ผู้ใช้เลือก

แหล่งที่มาของแอปพลิเคชันทั้งสองมีอยู่ใน Github และสามารถตรวจสอบ / ตรวจสอบโดยผู้ที่ต้องการดู (Superuser here , su here )

คุณสามารถค้นหารายละเอียดเพิ่มเติม - เช่นเดียวกับ changelogs - บนเว็บไซต์ของ Superuser

คำถามที่เกี่ยวข้องอื่น ๆ เกี่ยวกับผู้ที่ชื่นชอบ Android:


1
ฉันขอขอบคุณรายละเอียดการตอบสนองและลิงก์! ขอบคุณ!
kaspnord

1
มีทางเลือกอื่นใด / เทียบเท่าไฟล์เหล่านี้เพื่อการรูท Android หรือไม่?
kaspnord

1
@kaspnord: ไม่suเป็นไฟล์เดียวกับที่ใช้กับ linux / unix OS อื่นและไม่มีทางเลือกอื่นนอกจากนั้นอาจมี superuser.apk ทำไมคุณต้องการทางเลือก
kyrias

3
ฉันแค่อยากรู้อยากเห็นเนื่องจากไฟล์เหล่านี้แม้ว่าได้รับพรจากชุมชนโอเพนซอร์ส แต่ดูเหมือนจะไม่มีมาตรฐานใด ๆ (เช่นไม่ใช่ Google อย่างเป็นทางการ) ดังนั้นนั่นทำให้ฉันคิดว่ามันเป็นไปได้ที่คนอื่นจะสร้างตัวแปรอื่น ๆ ของไฟล์เดียวกัน สำหรับฉันเป็นการส่วนตัวฉันต้องการรู้ว่าสิ่งที่ฉันใช้และใส่ลงในอุปกรณ์ของฉันแทนที่จะพึ่งพาวิธีแก้ไขปัญหาจากผู้อื่นที่ฉันไม่สามารถรู้ได้อย่างมั่นใจ 100% ว่าไฟล์มีอะไรบ้าง
kaspnord

11

ซอร์สโค้ด Superuserสามารถใช้ได้บน GitHub, ผู้เขียนหลักของ Superuser มีอดัมแชงค์ ( ChainsDD ) และ Koushik Dutta ( Koushยังเขียนของการกู้คืนลาน)

Koushik Dutta อธิบายในบล็อกของเขาว่า Superuser.apk ทำงานอย่างไร ; โปรดทราบว่าโพสต์มาจากอวตารที่เร็วที่สุดของแอป Superuser หลายสิ่งมีการเปลี่ยนแปลงตั้งแต่นั้นมาและบางส่วนของสิ่งที่เขียนไม่ถูกต้องสำหรับการใช้ superuser / su ที่ทันสมัย ​​แต่พื้นฐานควรจะยังคงเหมือนเดิม

ทั้ง su และ Superuser สามารถถูกแทนที่ด้วยทางเลือกได้อย่างแน่นอน แต่มันก็ไม่ได้ทำอะไรมากนักเพราะสิ่งอำนวยความสะดวกที่ su ใช้ (เช่น exec () และ setuid () การเรียกใช้ระบบ) พร้อมใช้งานสำหรับโปรแกรมเรียกใช้ใด ๆ บิตการอนุญาต (เช่น setuid บิตถูกตั้งค่าเป็นรูท) ที่แกนกลาง su เป็นโปรแกรมที่ง่ายมากมันเพิ่งวางกระบวนการในฐานะผู้ใช้รายอื่น เคอร์เนลตรวจสอบความปลอดภัยที่แท้จริง

ดังนั้นตราบใดที่คุณได้รับแอพอย่างเป็นทางการไม่มีการแก้ไข su และ superuser และติดตั้งอย่างถูกต้องด้วยการอนุญาตที่เหมาะสมคุณไม่ต้องกังวลอะไรเลยพวกเขาเป็นโอเพ่นซอร์สและปลอดภัยคุณสามารถยืนยันแหล่งที่มา รหัสตัวเองที่ GitHub อย่างไรก็ตามเป็นไปได้ที่จะได้รับ superuser / su แบบไบนารีเพื่อให้แน่ใจว่าทุกครั้งที่คุณได้รับ superuser / su ของคุณนั้นน่าเชื่อถือ (หรือคอมไพล์ su / superuser ด้วยตัวคุณเองถ้าคุณหวาดระแวงอย่างแท้จริง)

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