@Colin มีคำตอบที่ดีสำหรับการแหกคุก Yulu แต่ฉันทำสิ่งต่าง ๆ เล็กน้อยที่อาจเป็นประโยชน์กับผู้คน คำตอบของเขามุ่งเน้นไปที่การสร้างภูตใหม่ด้วยชื่อใหม่เพื่อให้คุณมีสอง daemons ที่ใช้ SSH อย่างมีประสิทธิภาพ หนึ่งสำหรับ USB และอีกหนึ่งสำหรับการเชื่อมต่อ TCP อื่น ๆ ฉันต้องการผู้ฟังหนึ่งคนที่ฟังบนอินเทอร์เฟซทั้งหมด ฉันยังอยู่บน Windows และต้องการบางสิ่งที่ทำงานร่วมกับสิ่งนั้นซึ่ง Galdolf ทำไม่ได้ เป็นผลให้ฉันไปกับสคริปต์ Pythonซึ่งฉันแยกเพื่อให้แน่ใจว่ามันจะไม่หายไปกับฉัน
หากต้องการใช้สิ่งนี้ให้เรียกใช้:
python usbmuxd\pythonclient\tcprelay.py -t 22:2222
ดังกล่าวข้างต้นแผนที่พอร์ตท้องถิ่น 2222 กับพอร์ตระยะไกล 22 ครั้งนี้คือการติดตั้งคุณสามารถใช้ยูทิลิตี้ SSH ที่คุณชื่นชอบเพื่อเชื่อมต่อใน. ผมใช้สีโป๊ว
- โฮสต์: 127.0.0.1
- พอร์ต: 2222
ชื่อผู้ใช้เริ่มต้นของ "รูท" และรหัสผ่านของ "อัลไพน์" แต่สามารถใช้ชื่อผู้ใช้ของ "มือถือ" และรหัสผ่านของ "อัลไพน์" เพื่อเชื่อมต่อได้
หมายเหตุ: หากคุณไม่ทราบรหัสผ่านรูทให้ใช้ Filza เพื่อเปลี่ยนการอนุญาตของ /etc/master.passwd เป็น 666 จากนั้นผ่าน SSH ในฐานะผู้ใช้อุปกรณ์พกพาหรือใช้โปรแกรมแก้ไขไฟล์รายการโปรดแก้ไขไฟล์นั้นเพื่อคัดลอกแฮช จาก "มือถือ" ไปจนถึง "root" เพื่อให้รหัสผ่านเหมือนกัน (แฮชสำหรับ "อัลไพน์" คือ "/ smx7MYTQIi2M" หากจำเป็น) จากนั้นคุณควรจะสามารถเข้าสู่ระบบในฐานะรูทหรือใช้ su
เมื่อเข้าสู่ระบบของคุณคุณจะต้องการค้นหาสำเนาของ droplist.plist ที่อยู่บนเครื่องของคุณ อาจมีวิธีที่มีประสิทธิภาพมากกว่านี้ แต่ฉันใช้คำสั่งต่อไปนี้:
find . | grep dropbear.plist
ซึ่งให้ผล:
./Library/LaunchDaemons/dropbear.plist
./private/var/containers/Bundle/Application/023FF836-8A0A-4593-A578-6801F2A3F34D/yalu102.app/dropbear.plist
รายการแรกคือ daemon ที่ใช้งานอยู่ แต่รายการที่สองมีความสำคัญมากกว่า เป็นภูตที่ Yulu ติดตั้งทุกครั้งที่คุณทำการเจลเบรค (ซึ่งคุณต้องทำกับการรีบูตทุกครั้ง) หากคุณแก้ไข /Library/LaunchDaemons/dropbear.plist เท่านั้นมันจะถูกแทนที่ทุกครั้งที่คุณรีบูท
ดังนั้นเราจะแก้ไขไฟล์ที่มาพร้อมกับ Yulu แต่ถ้าคุณ cat ไฟล์คุณจะสังเกตเห็นมันในรูปแบบไบนารี PLIST ในการแก้ไขปัญหานี้เราต้องใช้ Erica Utilitiesเพื่อรับพลูติล จากนั้นคุณสามารถเรียกใช้:
plutil -xml dropbear.plist
สิ่งนี้จะแปลง dropbear.plist เป็นรูปแบบ XML เมื่อเสร็จแล้วคุณสามารถแก้ไขไฟล์ในโปรแกรมแก้ไขข้อความใด ๆ ฉันใช้นาโนเพื่อทำการแก้ไขจริง
เช่น
nano dropbear.plist
เมื่อคุณแก้ไขไฟล์ที่คุณต้องการกำจัด "localhost:" จากรายการสตริงสุดท้าย สิ่งนี้จะทำให้ผู้ฟังรันบนอินเตอร์เฟสทั้งหมดแทนเฉพาะอินเตอร์เฟสลูปแบ็ค (ซึ่งมีให้ผ่านทาง USB เท่านั้น) ดังนั้นไฟล์ของคุณจะกลายเป็น:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>ShaiHulud</string>
<key>Program</key>
<string>/usr/local/bin/dropbear</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/dropbear</string>
<string>-F</string>
<string>-R</string>
<string>-p</string>
<string>22</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
เมื่อคุณทำเสร็จแล้วคุณจะต้องการที่จะนำไฟล์กลับมาในรูปแบบไบนารี:
plutil -binary dropbear.plist
ณ จุดนี้ฉันขอแนะนำให้คุณรีบูตอุปกรณ์และตรวจสอบว่าไฟล์ Yalu dropbear.plist ถูกคัดลอกอย่างถูกต้องเมื่อคุณทำการ Jailbreak อีกครั้ง:
เช่น
reboot
หลังจากรีบูตเครื่องคุณควรจะสามารถใช้ SSH โดยใช้ที่อยู่ IP ในโทรศัพท์ของคุณและพอร์ตมาตรฐาน 22
เช่น
- โฮสต์: (IP จากการตั้งค่า -> WiFi -> (WIFI NAME)
- พอร์ต: 22