สวัสดีและยินดีต้อนรับสู่ส่วนใหม่
ในหัวข้อนี้เราจะศึกษาหน่วยความจำเสมือนและไฟล์ปฏิบัติการแบบพกพาที่เรียกอีกอย่างว่าไฟล์ PE
เราจะมาดูการสร้างกระบวนการอันดับหนึ่ง
จากนั้นเราจะไปที่หมายเลขสอง ซึ่งก็คือหน่วยความจำเสมือน และหมายเลขสาม คือไฟล์ PE ที่สามารถปฏิบัติการได้พกพา
โปรดดาวน์โหลดตัวอย่าง Lab 4 นี้ ซึ่งสามารถเข้าถึงได้จากส่วนทรัพยากรสำหรับวิดีโอนี้
ภายในนั้นคุณจะพบไฟล์ตัวอย่างจำนวน 3 ไฟล์
ตัวอย่างที่ 4-1, 4-2 และ 4-3
ตอนนี้เราจะมาศึกษาเรื่องการสร้างกระบวนการ
เราจะมาดูกันว่าระบบปฏิบัติการจะเปลี่ยนโปรแกรมให้เป็นกระบวนการได้อย่างไร
เพื่อเป็นตัวอย่าง เราจะดูโปรแกรม C
ลองมาพิจารณาโปรแกรม C ง่ายๆ นี้กัน
โปรแกรมนี้จะพิมพ์คำสั่ง Hello World จากนั้นเข้าสู่ลูป while แบบไม่สิ้นสุด
และนี่คือตัวอย่างที่ 4-1 ค.
เราได้รับตัวอย่างมาโดยไม่มีนามสกุลไฟล์เพื่อป้องกันไม่ให้คุณดำเนินการโดยไม่ได้ตั้งใจ
ดังนั้นหากคุณต้องการดำเนินการดังกล่าว คุณจะต้องเปลี่ยนชื่อมัน
และให้มัน
. นามสกุล. exe
ตอนนี้เราลองรันดูแล้วคุณก็เห็นแล้ว
พิมพ์
สวัสดีโลก
นี่คือไฟล์ปฏิบัติการที่ถูกคอมไพล์จากโค้ดต้นฉบับ
ดังนั้นโปรแกรมจึงดำเนินการและพิมพ์ข้อความ Hello world และหยุดอยู่แค่นั้นเพราะข้อความนั้นอยู่ในลูป while
แบบไม่มีที่สิ้นสุด
ตอนนี้เราจะตรวจสอบสิ่งนี้โดยใช้เครื่องมือที่เรียกว่า Process Hacker
เปิดโฟลเดอร์ FLARE แล้วไปที่โฟลเดอร์ Utilities และมองหา Process Hacker
และรันมัน
Process
Hacker ใช้เพื่อศึกษาโปรเซสที่โหลดและทำงานในหน่วยความจำ
นี่คือสิ่งที่คุณจะเห็นเมื่อเปิด Process Hacker ครั้งแรก
ในคอลัมน์แรก คุณจะได้รับชื่อของกระบวนการทั้งหมดที่กำลังทำงานอยู่ในหน่วยความจำในปัจจุบัน
หากเลื่อนลงมาจะเห็นตัวอย่าง 4-1 exe.
ซึ่งเป็นกระบวนการที่กำลังทำงานอยู่
แต่ละกระบวนการจะมีชื่อซึ่งเป็นชื่อของโปรแกรมที่สร้างกระบวนการนั้นขึ้นมา
อย่างไรก็ตาม ชื่อกระบวนการไม่ซ้ำกันในรายการกระบวนการ
กระบวนการสองกระบวนการขึ้นไปสามารถมีชื่อเดียวกันได้โดยไม่ขัดแย้งกัน
ในทำนองเดียวกัน สามารถสร้างกระบวนการต่างๆ มากมายจากไฟล์โปรแกรมเดียวกันได้
หมายความว่ากระบวนการต่างๆ หลายอย่างอาจมีชื่อเดียวกันและอาจมีเส้นทางปฏิบัติการของโปรแกรมเดียวกัน
ดังนั้นเพื่อระบุกระบวนการให้ชัดเจน
แต่ละกระบวนการจะมี ID เฉพาะที่เรียกว่า ID กระบวนการหรือ PID
โดยสรุปแล้ว
คอลัมน์ที่สองจะแสดง ID เฉพาะทั้งหมดสำหรับกระบวนการทั้งหมดที่กำลังทำงานอยู่
และคุณจะเห็นว่าตัวอย่าง
4-1 มี PID 1012 และไม่มี PID อื่นที่มีหมายเลขนี้
สิ่งนี้จึงทำให้ ID กระบวนการนี้มีความพิเศษเฉพาะตัวมาก
อย่างไรก็ตาม หากคุณเรียกใช้โปรแกรมอีกครั้ง โปรแกรมจะมี PID ที่แตกต่างกัน
และ PID นี้จะถูกกำหนดแบบสุ่มให้กับทุกกระบวนการ
มันจะเปลี่ยนแปลงทุกครั้งที่มีการเรียกใช้โปรแกรม แม้ว่าจะอยู่บนระบบเดียวกันก็ตาม
ลองวางเมาส์ไว้เหนือไฟล์แล้วคุณจะเห็นชื่อไฟล์ปฏิบัติการ PID และข้อมูลอื่น ๆ ที่เกี่ยวข้อง
เพื่อศึกษาขั้นตอนอย่างละเอียดมากขึ้น
คุณสามารถดับเบิลคลิกมันได้
มันจะเปิดหน้าต่างคุณสมบัติใหม่
และในหน้าต่างนี้ก็มีแท็บอยู่หลายแท็บ
คุณมีแท็บทั่วไปซึ่งเป็นแท็บหลัก
คุณยังมีเธรดด้วย
คุณมีโมดูล หน่วยความจำ และอื่นๆ
ตามที่เห็นที่นี่ ชื่อไฟล์รูปภาพจะแสดงรวมทั้งเส้นทางแบบเต็มด้วย
คุณยังสามารถดูบรรทัดคำสั่งได้
ตรงนี้เป็นไดเร็กทอรีเมื่อเริ่มต้นเป็นต้น
และยังระบุด้วยว่าผู้ปกครองของกระบวนการนี้คือ Explorer
และนี่ก็ได้รับการยืนยันในมุมมองที่นี่
Explorer คือผู้ปกครองของกระบวนการนี้
ตอนนี้เป็นเพราะเราเริ่มกระบวนการนี้โดยใช้ File Explorer
หน้าต่างนี้เรียกว่า Explorer
และหากเราเปิดตัวอะไรจากที่นี่ นั่นหมายความว่านี่คือรุ่นลูกของ Explorer นี้
สิ่งอื่นๆ ที่ต้องคอยดูคือพารามิเตอร์บรรทัดคำสั่ง
ตรงนี้ครับ.
ตัวเลือกบรรทัดคำสั่งจะแสดงพารามิเตอร์บรรทัดคำสั่งที่จัดไว้ให้กับกระบวนการ
ขณะวิเคราะห์ตัวอย่างมัลแวร์ สิ่งสำคัญคือต้องจับตาดูฟิลด์บรรทัดคำสั่ง เนื่องจากมัลแวร์บางชนิดยอมรับให้บรรทัดคำสั่งทำงานและแสดงพฤติกรรมที่เป็นอันตรายโดยไม่มีตัวเลือกบรรทัดคำสั่งที่เจาะจง
มัลแวร์อาจไม่ทำงานตามที่ตั้งใจไว้
ดังนั้นสิ่งนี้อาจหลอกนักวิเคราะห์และหลบเลี่ยงการตรวจจับได้
นี่คือวิธีที่คุณสามารถใช้ Process Hacker เพื่อวิเคราะห์กระบวนการที่กำลังทำงาน
แนวคิดที่สำคัญที่ต้องจำไว้ก็คือ ก่อนที่กระบวนการจะถูกดำเนินการและโหลดลงในหน่วยความจำ จะต้องเป็นไฟล์ในฮาร์ดดิสก์เสียก่อน
ระบบปฏิบัติการจำเป็นต้องโหลดไฟล์เข้าสู่หน่วยความจำและดำเนินการ
จากนั้นมันก็กลายเป็นกระบวนการ
ก่อนหน้านี้มันเป็นเพียงไฟล์
สำหรับวิดีโอนี้ก็มีเพียงเท่านี้
ฉันจะพบคุณอีกครั้งในบทเรียนถัดไป
ขอบคุณที่รับชมครับ.