พื้นที่เก็บข้อมูลนี้มีกรอบการทำงานที่ใช้ในระหว่างการทำงานของเราเกี่ยวกับวิศวกรรมย้อนกลับไมโครไดรฟ์ของ AMD K8 และ K10 CPU มันมีแอสเซมเบลอร์และถอดชิ้นส่วนรวมถึงโปรแกรมตัวอย่างที่ใช้โดยใช้เครื่องมือเหล่านี้ นอกจากนี้เรายังให้บริการระบบปฏิบัติการขั้นต่ำสุดที่เป็นลายลักษณ์อักษรที่กำหนดเองซึ่งสามารถนำไปใช้อย่างรวดเร็วและทดสอบการอัปเดตไมโครไดรฟ์บนซีพียู AMD
ไฟล์ที่ให้ไว้ที่นี่มีต้นกำเนิดมาจากการวิจัยและมีไว้เพื่อใช้เพื่อวัตถุประสงค์ในการวิจัยเท่านั้น พวกเขาถูกรวบรวมด้วยความรู้เพียงบางส่วนเกี่ยวกับ internals ของ microarchitecture และอาจมีข้อบกพร่องและพฤติกรรมที่ไม่ได้ตั้งใจ ไฟล์ทั้งหมดมีให้ตามที่ไม่มีการรับประกันและการสนับสนุน เราไม่รับผิดชอบหรือรับผิดชอบต่อการใช้งานของพวกเขา
ชุดคำสั่ง x86 มีความซับซ้อนและมีคำสั่งดั้งเดิมมากมายที่เก็บไว้เพื่อความเข้ากันได้ย้อนหลังเท่านั้น ดังนั้นคำแนะนำที่ใช้งานไม่ค่อยหรือซับซ้อนจะถูกถอดรหัสในซอฟต์แวร์ในขณะที่คำแนะนำที่สำคัญประสิทธิภาพจะถูกจัดการโดยตัวถอดรหัสฮาร์ดแวร์ โดยไม่คำนึงถึงการถอดรหัสโดยฮาร์ดแวร์หรือซอฟต์แวร์คำแนะนำในที่สุดจะถูกแปลไปยังชุดคำสั่งอื่นที่ชื่อ RISC86 ซึ่งมีความยาวคำสั่งคงที่และเหมาะสำหรับการประมวลผลที่รวดเร็ว นอกเหนือจากไมโครไดรฟ์การถอดรหัสซอฟต์แวร์อาจใช้ในการปิดใช้งานคุณสมบัติโปรเซสเซอร์ที่มีข้อบกพร่องและจัดการข้อยกเว้นในระดับต่ำสุด
เนื้อหาของที่เก็บนี้สะท้อนให้เห็นถึงผลลัพธ์ที่เป็นประโยชน์ของความพยายามในการวิจัยของเรา รายละเอียดจะได้รับในเอกสารของเรา:
reverse Engineering x86 โปรเซสเซอร์ microcode ที่เผยแพร่ในการประชุมวิชาการรักษาความปลอดภัย USENIX ครั้งที่ 26
การวิเคราะห์เชิงสำรวจของไมโครได
โฟลเดอร์ USENIX17 มีผลลัพธ์ของกระดาษ USENIX 2017 ของเราที่สำคัญที่สุดคือการอัปเดตและทริกเกอร์สำหรับการพิสูจน์แนวคิดของเรารวมถึงไดรเวอร์อัปเดตที่อนุญาตให้โหลดการอัปเดตโดยพลการในระบบ Linux รายละเอียดเพิ่มเติมจะได้รับในไฟล์ readme ที่เกี่ยวข้อง
ระบบปฏิบัติการขั้นต่ำของเรามีอยู่ในโฟลเดอร์ anger_os สำหรับรายละเอียดเกี่ยวกับวิธีการสร้างและใช้ระบบนี้โปรดดูไฟล์ readme ในโฟลเดอร์นั้น
เฟรมเวิร์กที่เราใช้ในระหว่างการทำงานของเราพบได้ในโฟลเดอร์ UCodeapi สำหรับตัวอย่างเกี่ยวกับวิธีการใช้ API นี้ดูสคริปต์ตัวอย่างที่ให้ไว้ในโฟลเดอร์นี้ API ได้รับการทดสอบเฉพาะภายใต้ Python 2
โฟลเดอร์ "กรณีศึกษา" มีกรณีศึกษาที่นำเสนอในกระดาษ CSS 18 ของเราในรูปแบบ RTL