วิธีแสดงรายการคีย์. plist ที่มีอยู่ทั้งหมดในแอปพลิเคชันโดเมนที่แน่นอนโดยคำสั่งเริ่มต้น


17

ฉันต้องการทราบคีย์ทั้งหมด (รายการคุณสมบัติ) ที่มีอยู่ในแอปพลิเคชันโดเมนบางอย่างเช่นฉันสามารถแสดงรายการคีย์ที่มีให้com.apple.dockโดยป้อนคำสั่งนี้:

$ defaults read com.apple.dock

แต่อย่างใดเอาต์พุตของคำสั่งนี้แสดงคีย์รายการคุณสมบัติที่ใช้งานอยู่เท่านั้น แต่ยังไม่มีคีย์ทั้งหมดที่มีอยู่ในcom.apple.dockรายการ

ใครสามารถช่วยฉันในเรื่องนี้?


คุณจะรังเกียจไหมถ้าฉันพูดถ้อยคำนี้ คุณกำลังถามเกี่ยวกับเครื่องมือที่เขียนข้อความและไม่เกี่ยวกับวิธีการทำวิศวกรรมย้อนกลับโปรแกรมที่อ่านข้อความ โดยค่าเริ่มต้นโปรแกรมจะไม่สนใจสิ่งที่คุณใส่เป็นค่าเริ่มต้นซึ่งไม่ได้คาดหวังให้เห็น คุณสามารถฝังเช็คสเปียร์ในตัวตั้งค่าการค้นหาและมันจะทำอะไรอย่างมีความสุขตราบใดที่มันเป็น Plist XML ที่ถูกต้องเมื่อเขียนไปยังไฟล์
bmike

@bike ฉันรู้เรื่องนี้ สิ่งที่ฉันสนใจคือรายการค่าที่แอปพลิเคชันใช้จริง ฉันคิดว่าอาจมีรายชื่อซ่อนอยู่ที่ไหนซักแห่งในไฟล์กำหนดค่าหลักภายในแอพ
awesomo

รายการของค่านั้นมีอยู่ในซอร์สโค้ดสำหรับแต่ละโปรแกรมเท่านั้น คุณมีโปรแกรมหนึ่งโปรแกรมที่คุณสนใจหรือไม่? เมื่อพวกเขาได้รับการรวบรวมกุญแจสตริงในไบนารีจะถูกเข้ารหัสและทั้งหมดผสมกับสตริงอื่น ๆ ไม่มีสิ่งใดที่ทำให้ผู้เขียนโปรแกรมไม่สามารถรวมรายการที่สามารถเพิ่มลงในโฟลเดอร์เนื้อหา / ทรัพยากรที่มีอยู่ในแอปพลิเคชันที่ระบุได้อย่างง่ายดาย ในทางปฏิบัติสิ่งนี้ไม่ได้ทำกันอย่างแพร่หลาย
bmike

นอกจากนี้คุณยังสามารถกระจายเอาต์พุตของdefaults readเพื่อค้นหาคีย์สำหรับการกำหนดค่าตามปกติหรือใช้CFPreferencesCopyValueวิธีการใน gdb ดูวิธีสำรวจค่าเริ่มต้นเพิ่มเติมเขียน tweaks บน OS X - ผู้ใช้ขั้นสูง
Lri

นอกจากนี้คุณยังสามารถกระจายผลลัพธ์ของdefaults readการค้นหาคีย์สำหรับการตั้งค่าปกติเรียกใช้สตริงบนไบนารีของเฟรมเวิร์กหรือใช้CFPreferencesCopyValueวิธีการใน gdb ดูวิธีสำรวจค่าเริ่มต้นเพิ่มเติมเขียน tweaks บน OS X - ผู้ใช้ขั้นสูง
Lri

คำตอบ:


7

นี่ไม่ใช่งานเล็ก ๆ น้อย ๆ ถ้าฉันจำได้อย่างถูกต้องว่าคนใช้stringsยูทิลิตี้ที่บรรทัดคำสั่งกับแอปพลิเคชันและมองหาสิ่งที่ตรงกับโครงสร้างที่คล้ายกับ com.domain.FeatureName (com.apple.iTunes, ch.cyberduck.CyberDuck, com.panic.Coda ฯลฯ )

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


ฉันรักมันถ้าคุณตอบคำถามตรงนี้เช่นกัน - apple.stackexchange.com/questions/19899/… - สตริงเป็นวิธีที่ง่ายที่สุดในการลองใช้วิศวกรรมย้อนกลับของกุญแจสำหรับผู้ใช้ปลายทาง
bmike


5

จริงๆแล้วไม่มีความคิดเกี่ยวกับกุญแจ "ที่มีอยู่" แอปพลิเคชันมีอิสระที่จะอ่านกุญแจที่ต้องการ คนส่วนใหญ่ค้นพบคีย์เริ่มต้น "ลับ" โดยใช้stringsเพื่อดูผ่านแอปพลิเคชันไบนารีเพื่อดูว่าจะพยายามอ่านคีย์ใด


ใช่นี่คือสิ่งที่ฉันต้องการค้นหาคีย์ค่าเริ่มต้น "ความลับ" คุณสามารถอธิบายเพิ่มเติมเกี่ยวกับคีย์ "ความลับ" ได้หรือไม่ มันมีประโยชน์มากหากมีตัวอย่างใด ๆ ขอบคุณมาก.
wongacid

1
ตัวอย่างที่รู้จักกันดีหลายคนมีอยู่ที่secret.blacktree.com
jtbandes

ขอบคุณ !! แจ้งให้เราทราบหากคุณมีลิงค์ที่ยอดเยี่ยมอื่น ๆ ในข้อมูลประเภทนี้ :-)
wongacid

4

คนส่วนใหญ่ที่นี่ต้องการทำทุกอย่างผ่านบรรทัดคำสั่ง แต่ฉันมีข้อเสนอแนะที่เป็นประโยชน์มากกว่า

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

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

สองแอปเหล่านี้คือ:

TinkerTool

ซึ่งฟรีและ

MacPilot

ซึ่งเพิ่งได้รับการอัปเดตด้วยฟีเจอร์ใหม่ของ Lion และราคา US $ 20.00

นี่คือโปรแกรมที่ฉันเป็นเจ้าของและใช้งาน

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

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ปรับปรุง

นักพัฒนา Frederik Wikerได้เปิดตัวแอพฟรีแวร์ (ยอมรับการบริจาค) สำหรับการสร้างค่าเริ่มต้นเขียนการปรับแต่งเฉพาะสำหรับ Lion and Mountain Lion; หลายคนทำงานได้ดีสำหรับ Mavericks (Mac OS X 10.9) เช่นกัน

ดาวน์โหลดสิ่งเหล่านี้และดูว่าการปรับแต่งใดที่คุณสามารถใช้งานได้

Lion Tweaks

Tweaks ภูเขา

ป้อนคำอธิบายรูปภาพที่นี่


ขอบคุณสำหรับคำแนะนำ ฉันขอขอบคุณวิธีการทางเลือก
awesomo

คุณควรยอมรับคำตอบนี้ / ข้าวสาลี มันเป็นปีแสงข้างหน้าของฉัน
Jason Salaz

3

บางทีคำอธิบายที่ค่อนข้างยาวว่าสิ่งต่าง ๆ ในการทำงานอาจทำให้คุณและคนอื่น ๆ ค้นหาสิ่งที่คุณชอบเหล่านี้

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

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

ระบบค่าเริ่มต้นของผู้ใช้ Mac OS X เป็นที่เก็บค่าคีย์ (หรือฐานข้อมูลหากคุณต้องการ)

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

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

มีเครื่องมือมากมายที่จะมองเข้าไปในโปรแกรมและลองคิดดูว่าสตริง (คีย์) ใดที่ฝังอยู่เช่นstringsและ dbx / lldb รวมถึงการลิงก์ในไลบรารีของคุณเองเพื่อดัมพ์โครงสร้างภายในของโปรแกรมเฉพาะ

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

เมื่อคุณอ่านที่เก็บค่าเริ่มต้นสำหรับแอปใดแอปหนึ่งคุณเพียงแค่อ่าน "หนังสือ" ที่เขียนขึ้นเมื่อแอพสร้างขึ้นเป็นชุดเริ่มต้นหรือการตั้งค่าที่จัดส่งมาพร้อมกับ Mac OS X นั่นคือเหตุผลที่คุณไม่ได้รับข้อมูลครบถ้วน รายการของสิ่งต่าง ๆ ที่เป็นไปได้ในการเปลี่ยนแปลงด้วยแอปพลิเคชันนั้น


2

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

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