Reverse Engineering: อ่านซอฟต์แวร์ที่คุณไม่มีซอร์สโค้ดมาก่อน
Reverse engineering คือศาสตร์ในการวิเคราะห์ซอฟต์แวร์ที่รวบรวมแล้วเพื่อทำความเข้าใจว่ามันทำงานอย่างไร — โดยไม่มีการเข้าถึงซอร์สโค้ดต้นฉบับ นักวิจัยด้านความปลอดภัยใช้มันเพื่อค้นหาช่องโหว่ นักวิเคราะห์มัลแวร์ใช้มันเพื่อแยกส่วนโค้ดที่เป็นอันตราย และวิศวกรเฟิร์มแวร์ใช้มันเพื่อทำความเข้าใจระบบฝังตัว ทราคนี้ครอบคลุมทั้งสแต็ก: จากรูปแบบไบนารีดิบและ Assembly ผ่านการวิเคราะห์แบบสแตติกและไดนามิก ไปจนถึงการพัฒนา exploit และเทคนิคการป้องกัน reverse-RE ขั้นสูง
สิ่งที่คุณจะเรียนรู้
คุณจะเริ่มต้นด้วยพื้นฐานไบนารี — รูปแบบไฟล์ที่ปฏิบัติการได้ เค้าโครงหน่วยความจำ และวิธีการแมปโค้ดระดับสูงกับคำสั่งเครื่อง จากนั่นคุณจะอ่านและให้เหตุผล Assembly x86/x64 ตามที่ปรากฏในเอาต์พุต disassembly จริง คุณจะใช้เครื่องมือวิเคราะห์แบบสแตติกเพื่อตรวจสอบไบนารีโดยไม่ต้องรันมัน จากนั้นเปลี่ยนไปใช้การวิเคราะห์แบบไดนามิกและการดีบัก เพื่อสังเกตการทำงานสดๆ หลักสูตรต่อมาครอบคลุมการวิเคราะห์มัลแวร์ การปรับให้เหมาะสมของคอมไพเลอร์ และวิธีที่มันบดบังจุดประสงค์ scripting สำหรับการวิเคราะห์แบบสแตติกอัตโนมัติ และเคล็ดลับการป้องกัน reverse-engineering ที่ใช้ในโลกจริง ทราคนี้ปิดด้วยเฟิร์มแวร์และ embedded systems reverse engineering วิจัยช่องโหว่ การพัฒนา exploit และการสำรวจว่าสาขานี้กำลังมุ่งหน้าไปที่ไหน
เส้นทางการเรียนรู้
สิบสองหลักสูตรครอบคลุมจาก A1 ถึง C2 หลักสูตรแรกแนะนำแนวคิดหลักที่ระดับ A1 พร้อมการแล่นมองแรกฟรี หลักสูตรถัดไปสองหลักสูตร (A2–B2) สร้างทักษะการอ่าน Assembly และ binary literacy สี่หลักสูตร B2/C1 จากนั้นครอบคลุมขั้นตอนการวิเคราะห์หลัก: เครื่องมือแบบสแตติก debugging แบบไดนามิก พื้นฐาน malware และ scripting หลักสูตรสี่หลักสูตรสุดท้ายทำงานที่ระดับ C1–C2 และมองหาเนื้อหาที่ยากที่สุด: การปรับให้เหมาะสมของคอมไพเลอร์และผลกระทบต่อ disassembly เฟิร์มแวร์และเป้าหมาย embedded วิจัยช่องโหว่และการพัฒนา exploit และหัวข้อขั้นสูงรวมถึงแนวโน้มปัจจุบันในสาขานี้
วิธีการทำงาน
แต่ละหลักสูตรแบ่งออกเป็นบทเรียนสั้นและเน้นไปที่การออกกำลังกายที่มีมือในตัวแก้ไข — คุณอ่าน Assembly ใส่คำอธิบายประกอบของไบนารี และทำงานผ่านงาน analysis จริงด้วยข้อเสนอแนะเรียลไทม์ AI tutor พร้อมใช้งานในแต่ละขั้นตอนเมื่อคุณติดขัดในลำดับคำสั่ง แฟล็กเครื่องมือ หรือโครงสร้างไบนารีที่ไม่คุ้นเคย