บทความนี้เป็นคำแนะนำที่ครอบคลุมเกี่ยวกับวิธีอ่านเนื้อหาของ RAM ในคอมพิวเตอร์ของคุณ ป>
Random Access Memory (RAM) เป็นองค์ประกอบสำคัญของระบบคอมพิวเตอร์ และมีหน้าที่จัดเก็บข้อมูลชั่วคราวที่ระบบต้องการเพื่อทำหน้าที่ต่างๆ ของมัน แต่เนื้อหาของ RAM อาจมีความผันผวน และมักจะสูญหายไปเมื่อระบบถูกปิด
วิธีหนึ่งที่จะรักษาเนื้อหาของ RAM ไว้คือการดำเนินการถ่ายโอนข้อมูล RAM ซึ่งเป็นกระบวนการคัดลอกเนื้อหาของ RAM ไปยังอุปกรณ์จัดเก็บข้อมูล เช่น ฮาร์ดไดรฟ์ คุณสามารถวิเคราะห์ดัมพ์ RAM และข้อมูลที่อยู่ในนั้นสามารถให้ข้อมูลเชิงลึกอันมีค่าเกี่ยวกับสถานะของระบบ ณ เวลาที่ถ่ายโอนข้อมูล
ในบทความนี้ ผมจะอธิบายขั้นตอนการอ่านเนื้อหาของ RAM พร้อมอธิบายว่า RAM dump คืออะไร และมีประโยชน์อย่างไรในการวิเคราะห์ระบบคอมพิวเตอร์ นอกจากนี้ ฉันจะให้คำแนะนำแบบทีละขั้นตอนเกี่ยวกับวิธีการถ่ายโอนข้อมูล RAM และวิธีวิเคราะห์ข้อมูลผลลัพธ์
ทำไมต้องอ่านข้อมูล RAM
การอ่านข้อมูลจากแผ่นดิสก์เป็นสิ่งที่คุณคุ้นเคย แต่เราสามารถอ่านข้อมูลโดยตรงจาก RAM ซึ่งเป็นแหล่งจัดเก็บข้อมูลที่สำคัญที่สุดได้หรือไม่
ในฐานะนักพัฒนา เราสามารถตรวจสอบความซับซ้อนของพื้นที่และเจาะลึกเข้าไปใน RAM เพื่อทำความเข้าใจว่าเกิดอะไรขึ้น
การเข้าถึงและการอ่านเนื้อหาของ RAM อาจมีประโยชน์ในหลายสถานการณ์ กรณีการใช้งานทั่วไปกรณีหนึ่งคือสำหรับการแก้ไขปัญหาและวินิจฉัยปัญหาเกี่ยวกับระบบคอมพิวเตอร์ ด้วยการตรวจสอบเนื้อหาของ RAM คุณสามารถรับข้อมูลเชิงลึกเกี่ยวกับสถานะของระบบ ณ เวลาใดเวลาหนึ่งได้ ป>
ตัวอย่างเช่น หากคอมพิวเตอร์ของคุณขัดข้องกะทันหัน การตรวจสอบเนื้อหาของ RAM สามารถช่วยให้คุณระบุสาเหตุของการขัดข้องได้
กรณีการใช้งานอีกประการหนึ่งคือสำหรับการวิเคราะห์ทางนิติเวช เมื่อตรวจสอบระบบคอมพิวเตอร์เพื่อหาหลักฐานการกระทำผิด การตรวจสอบเนื้อหาของ RAM สามารถให้ข้อมูลเชิงลึกอันมีค่าเกี่ยวกับกิจกรรมที่ดำเนินการบนระบบได้ ป>
ตัวอย่างเช่น ผู้เชี่ยวชาญด้านความปลอดภัยอาจใช้การวิเคราะห์ RAM เพื่อตรวจสอบว่ากระบวนการใดทำงานบนระบบหรือเพื่อระบุไฟล์ที่เพิ่งเข้าถึง
นอกจากนี้ การเข้าถึงและอ่านเนื้อหาของ RAM ยังมีประโยชน์สำหรับนักพัฒนาซอฟต์แวร์และนักวิจัยอีกด้วย ด้วยการวิเคราะห์ข้อมูลที่จัดเก็บไว้ใน RAM นักพัฒนาสามารถรับข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพของซอฟต์แวร์ของตน และระบุปัญหาที่อาจเกิดขึ้นหรือปัญหาคอขวดได้ นักวิจัยยังสามารถใช้การวิเคราะห์ RAM เพื่อศึกษาพฤติกรรมของมัลแวร์หรือเพื่อพัฒนาเครื่องมือและเทคนิคด้านความปลอดภัยใหม่ๆ
โดยรวมแล้ว การเข้าถึงและการอ่านเนื้อหาของ RAM จะมีประโยชน์สำหรับการแก้ไขปัญหา การวิเคราะห์ทางนิติวิทยาศาสตร์ การพัฒนาซอฟต์แวร์ และการวิจัย โดยให้วิธีที่มีคุณค่าในการรับข้อมูลเชิงลึกเกี่ยวกับการทำงานภายในของระบบคอมพิวเตอร์ และสามารถช่วยระบุปัญหาและภัยคุกคามด้านความปลอดภัยที่อาจเกิดขึ้นได้
ก่อนที่เราจะเจาะลึกรายละเอียด เรามาดูระบบการตั้งชื่อกันก่อน นี่อาจเป็นความรู้ทั่วไป แต่คุณจะต้องเข้าใจคำศัพท์เฉพาะเมื่อคุณอ่านคู่มือนี้ ดังนั้นจึงคุ้มค่าที่จะทบทวน
มีอุปกรณ์ฮาร์ดแวร์ทางกายภาพที่เรียกว่า RAM (ซึ่งย่อมาจาก Random Access Memory) ได้แก่ หน่วยความจำกายภาพ CPU ฮาร์ดดิสก์ และส่วนประกอบทางกายภาพอื่นๆ
นอกจากนี้เรายังมีระบบปฏิบัติการอีกด้วย ระบบปฏิบัติการจะพูดคุยกับชิ้นส่วนฮาร์ดแวร์ที่เรียกว่า "เคอร์เนล" อยู่เสมอ และนี่คือลักษณะที่สำคัญที่สุดประการหนึ่งของซอฟต์แวร์นี้
หากเราพิจารณาสิ่งต่าง ๆ จากมุมมองของผู้ใช้ เราจะลงชื่อเข้าใช้ระบบปฏิบัติการในตอนแรกเพื่อให้สามารถดำเนินงานของเราได้ ซึ่งส่วนใหญ่รวมถึงการเรียกใช้แอปพลิเคชัน
เคอร์เนลคืออะไร
เคอร์เนลเป็นส่วนพื้นฐานของระบบปฏิบัติการที่ยอมรับคำสั่งจากผู้ใช้ด้วยความช่วยเหลือของโปรแกรมที่เราทำงานเบื้องหลัง สิ่งนี้อาจเกิดขึ้นได้ไม่ว่าโปรแกรมที่เราทำงานเบื้องหลังจะเป็นอย่างไรก็ตาม
ทุกอย่างที่ต้องคำนวณได้รับการจัดการโดยหน่วยประมวลผลกลาง (CPU) แต่ไม่ว่าเราจะทำอะไรและจัดการบริการที่ CPU มอบให้ ข้อมูล คำแนะนำ โค้ด และโปรแกรมทั้งหมดจะต้องผ่านหน่วยความจำเข้าถึงโดยสุ่ม (RAM)
นี่หมายความว่าผลลัพธ์ของสิ่งที่เราทำกับข้อมูล ณ เวลาใดก็ตามจะมีอยู่บนหน่วยความจำ หากคุณเป็นโปรแกรมเมอร์และกำลังสร้างโครงสร้างข้อมูลบางประเภท แสดงว่าข้อมูลทั้งหมดจะอยู่ด้านบนของ RAM
เราสามารถไปที่ RAM ได้โดยตรงและดูว่าโครงสร้างข้อมูลถูกสร้างขึ้นอย่างไรและจัดเรียงอย่างไร และเราจะเห็นว่าความซับซ้อนของพื้นที่ทำงานอย่างไร
ตัวอย่างเช่น หากเรากำลังพูดถึงเว็บเบราว์เซอร์ใดๆ เช่น Chrome อาจมีข้อบกพร่องด้านความปลอดภัยเกิดขึ้นในแอปพลิเคชัน ดังนั้นวิธีที่มีประสิทธิภาพมากที่สุดคือไปที่ RAM และตรวจสอบว่าข้อมูลทำงานอย่างไร
สมมติว่าคุณเปิดเว็บไซต์ที่ปลอดภัยใน Chrome (หรือเบราว์เซอร์ใดๆ ก็ตาม) เช่น gmail.com ข้อมูลใดๆ ที่คุณป้อนใน Gmail รวมถึงชื่อผู้ใช้และรหัสผ่านของคุณจะถูกส่งผ่านทางอินเทอร์เน็ตไปยังเซิร์ฟเวอร์ที่ดำเนินการโดย Google ข้อมูลนั้นได้รับการเข้ารหัสอย่างสมบูรณ์ และจะถือเป็นเรื่องท้าทายหากเป็นไปไม่ได้ที่จะถอดรหัสรหัสผ่าน
แต่ในการป้อนรหัสผ่าน คุณอาจใช้คอมพิวเตอร์ที่มีแป้นพิมพ์ติดอยู่ หลังจากนั้นบางโปรแกรมจะเข้ารหัสข้อมูลและส่งไปยังอินเทอร์เน็ต ซึ่งหมายความว่าในตอนแรก ข้อมูลของคุณแสดงอยู่ใน RAM
ประการแรก รหัสผ่านคือข้อมูลมาตรฐาน และรหัสผ่านจะไปอยู่ที่ด้านบนของ RAM จากนั้นบางโปรแกรมจะเข้ารหัสข้อมูลและส่งไปยังอินเทอร์เน็ต หากคุณสามารถเข้าถึง RAM ได้ คุณสามารถตรวจสอบเพื่อดูว่ารหัสผ่านของคุณได้รับการเข้ารหัสหรือไม่ และกระบวนการนี้ค่อนข้างตรงไปตรงมา
ลองดูตัวอย่างเพื่อดูว่ามันทำงานอย่างไร เราจะแกล้งทำเป็นว่า "a" เป็นตัวแปรและ "9" เป็นข้อมูล เมื่อเรารันโปรแกรม ข้อมูลนี้จะโหลดเข้าสู่ RAM เมื่อโปรแกรมสิ้นสุด ข้อมูลจาก RAM จะหายไปแม้ว่าจะยังไม่มีใครพิสูจน์ได้ก็ตาม แต่ในกรณีนี้ และเราสามารถพิสูจน์ได้ด้วยการสอบสวนเพียงเล็กน้อย
แล้วเราจะตรวจสอบได้อย่างไรว่าข้อมูลนี้ยังคงอยู่ใน RAM หลังจากที่แอปพลิเคชันทำงานเสร็จแล้วหรือไม่ หากข้อมูลถูกโหลดที่ด้านบนสุดของหน่วยความจำ
RAM จะถูกล้างออกจากเนื้อหาเหล่านี้ในไม่ช้า "RAM dump" คือกระบวนการในการจับ RAM ทั้งหมด สิ่งนี้แสดงให้เห็นถึงรูปแบบจริงที่ทำให้ชุดข้อมูลทั้งหมดสามารถเข้าถึงได้และโหลดลงใน RAM เป็นครั้งแรก และคุณจะได้เรียนรู้วิธีจับหรือแยกข้อมูลจากหน่วยความจำต่อไป
เพื่อที่จะบรรลุเป้าหมายนี้ คุณจะต้องมีซอฟต์แวร์บางรูปแบบ ด้วยเหตุนี้เป้าหมายของโปรแกรมนี้ก็คือการเดินทางเข้าไปในหน่วยความจำให้ไกลขึ้น มันจะเข้าสู่หน่วยความจำและดึงข้อมูลที่เก็บไว้ทั้งหมดจากหน่วยความจำก่อนดำเนินการต่อ
LiME คืออะไร
ตัวแยกหน่วยความจำ Linux ซึ่งบางครั้งเรียกว่า LiME เป็นซอฟต์แวร์ที่ทรงพลัง เป็นสิ่งที่คุณใช้เพื่อแยกหน่วยความจำจาก Linux ซอฟต์แวร์ชิ้นนี้เรียกอีกอย่างว่าไดรเวอร์หรือเรียกอีกอย่างว่าโมดูล เนื่องจาก RAM เป็นอุปกรณ์ที่ทำให้สิ่งต่างๆ ซับซ้อนยิ่งขึ้น
เราจำเป็นต้องมีไดรเวอร์บางรูปแบบเพื่อเข้าถึงอุปกรณ์เพื่อที่เราจะได้ลองอ่านเนื้อหาของอุปกรณ์ได้ LiME เป็นตัวอย่างของไดรเวอร์ และหากคุณคุ้นเคยกับ Linux คุณอาจรู้ว่าในการสร้างฟังก์ชันไดรเวอร์ใดๆ คุณต้องโหลดไดรเวอร์นั้นด้วยความช่วยเหลือจากเคอร์เนล
ภายในบริบทของ Linux ไดร์เวอร์ยังถูกเรียกว่าโมดูลอีกด้วย ดังนั้น LiME จึงเป็นโมดูลเคอร์เนล Linux เราสามารถเข้าถึงสิ่งที่เรียกว่าโมดูลเคอร์เนลที่โหลดได้ ซึ่งช่วยให้เราสามารถติดตั้งโมดูลบนระบบปฏิบัติการได้
เราได้ครอบคลุมพื้นหลังเพียงพอแล้ว ตอนนี้เรามาดูกันว่าเราจะแยกเนื้อหาของ RAM ได้อย่างไร เราจะดำเนินการตามกระบวนการทีละขั้นตอนแบบลงมือปฏิบัติจริง
ตั้งค่า และการติดตั้ง
ดังนั้นสิ่งเดียวที่เราต้องการคือไดรเวอร์ LiME นี่คือลิงค์สำหรับดาวน์โหลดโมดูลนี้:https://github.com/gursimarsm/LiME
ตอนนี้ให้บู๊ตระบบ Linux ของคุณ (ฉันใช้ RedHat Enterprise Linux) คุณสามารถใช้ 08 คำสั่งตรวจสอบจำนวน RAM ที่ใช้งาน ความพร้อมใช้งาน และรายละเอียดอื่นๆ ของฉันมีลักษณะเช่นนี้:
เอาต์พุตจากการรัน
17 คำสั่ง ป>
ในการเข้าถึง RAM เราจำเป็นต้องมีซอฟต์แวร์บางตัวที่เคอร์เนลสามารถโหลดโมดูลเพิ่มเติมบางส่วนได้ ในกรณีของเรา ชื่อโมดูลคือ LiME ดังนั้น ซอฟต์แวร์ที่เราติดตั้งจึงเรียกว่า “การพัฒนาเคอร์เนล ” และ “ส่วนหัวเคอร์เนล ". ซอฟต์แวร์สองชิ้นนี้คือสิ่งที่เราจำเป็นต้องติดตั้งเพื่อดำเนินการต่อไป ซึ่งก็คือการใช้โมดูล LiME
หากคุณต้องการติดตั้งซอฟต์แวร์ คุณควรกำหนดค่า "yum" ไว้ สำหรับบริบท ยำ เป็นคำสั่งที่คุณสามารถใช้เพื่อติดตั้งซอฟต์แวร์ในระบบปฏิบัติการ RedHat Linux ฉันจะสาธิตวิธีกำหนดค่าในภาคผนวกเพื่อใช้อ้างอิง
การติดตั้ง ป>
ตอนนี้คุณได้ติดตั้งซอฟต์แวร์นั้นแล้ว คุณต้องมีซอฟต์แวร์เพิ่มอีกชิ้นหนึ่งเนื่องจากคุณต้องดาวน์โหลดไดรเวอร์บางตัวจาก GitHub ดังนั้น ตอนนี้คุณต้องติดตั้ง Git หากคุณยังไม่มี คุณสามารถทำได้โดยใช้คำสั่ง 29 . คุณต้องกำหนดค่าบัญชีของคุณเพื่อให้สามารถทำงานกับมันได้
# git config --global user.name "Your Name"
# git config --global user.email "you@example.com"
ฉันแชร์พื้นที่เก็บข้อมูลด้านบน เป็นโมดูลเคอร์เนลที่โหลดได้ (LKM) ช่วยให้คุณได้รับหน่วยความจำทั้งหมดจากระบบปฏิบัติการ Linux หรือระบบปฏิบัติการภาษาใดๆ ก็ตาม (รวมถึงอุปกรณ์ Android เนื่องจาก Android ใช้ Linux เช่นกัน)
คุณสามารถดาวน์โหลดโมดูลได้โดยใช้ 31 คำสั่ง
หลังจากดาวน์โหลดแล้ว คุณจะต้องย้ายไปยังไดเร็กทอรีของซอฟต์แวร์ คุณจะพบหลายโฟลเดอร์ที่นั่น แต่หากต้องการรันโค้ดหลัก คุณต้องย้ายไปยังไดเร็กทอรี "src"
ในไดเร็กทอรีนี้ คุณจะพบหลายโปรแกรมที่ใช้ภาษา C ดังนั้นเพื่อที่จะใช้งานไฟล์เหล่านี้ คุณจะต้องคอมไพล์ไฟล์เหล่านั้น หากต้องการทำเช่นนั้น คุณสามารถใช้ 48 คำสั่ง ติดตั้งดังนี้:
# yum install make
# yum install gcc
ในไดเร็กทอรี /LiME/src/ ให้รัน 58 คำสั่งให้คอมไพล์โค้ดทั้งหมด
หากคุณพบข้อผิดพลาด อาจเป็นเพราะเราใช้ LiME เวอร์ชันล่าสุด และมาพร้อมกับฟีเจอร์ใหม่ที่เรียกว่า orc metadata create หากต้องการใช้คุณลักษณะนี้ คุณต้องติดตั้งอีกหนึ่งสิ่งที่เป็นส่วนหนึ่งของ LiME ที่เรียกว่า 65 . คุณสามารถทำได้โดยใช้ yum ดังที่คุณเห็นด้านล่าง:
วิธีการติดตั้ง
73 ป>
หลังจากนั้นหากตอนนี้เรารัน 88 คำสั่งจะขอให้คอมไพเลอร์ GCC รวบรวมโค้ดทั้งหมด หลังจากการคอมไพล์ มันจะสร้างไฟล์อ็อบเจ็กต์สุดท้ายหนึ่งไฟล์ที่เรียกว่าไฟล์อ็อบเจ็กต์เคอร์เนล และนั่นคือโมดูลสุดท้ายใน LiME
เอาต์พุต ป>
คุณสามารถค้นหาไฟล์นี้ในไดเรกทอรีเดียวกันได้โดยใช้ 92 คำสั่ง
วิธีใช้โมดูล
ด้วยโมดูลนี้ ตอนนี้เคอร์เนลสามารถจับหรืออ่าน RAM ทั้งหมดได้แล้ว ตามค่าเริ่มต้น เราไม่สามารถอ่าน RAM ทั้งหมดได้ในครั้งเดียว แต่ตอนนี้เราทำได้เนื่องจากโมดูล LiME
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโมดูล LiME คุณสามารถใช้ 105 คำสั่ง พิมพ์ 117 พร้อมด้วย 124 . นี่จะแสดงรายละเอียดเพิ่มเติม เช่น ตำแหน่งที่ไฟล์พร้อมใช้งาน และยังแสดงโมดูลหรือไดรเวอร์ทั้งหมดที่มาพร้อมกับพารามิเตอร์พิเศษบางประเภทด้วย ทุกพารามิเตอร์มีประโยชน์บางประการ
modinfo ป>
ที่นี่เราจะใช้พารามิเตอร์สองตัวซึ่งสำคัญมาก:137 และ 144รหัส> .
155รหัส> คือเมื่อเราอ่าน RAM ทั้งหมด เราต้องเก็บข้อมูลของ RAM ไว้เป็นไฟล์บางไฟล์ ดังนั้น เพื่อระบุไฟล์ปลายทางที่เราต้องการสร้าง เราต้องให้ข้อมูลเฉพาะเจาะจงตรงนี้
พารามิเตอร์ถัดไป 160 ระบุรูปแบบที่เราต้องการอ่านข้อมูล RAM ดังนั้นในกรณีนี้เราต้องการอ่านรูปแบบของ RAM ตามที่เป็นอยู่ ข้อมูลที่จัดเก็บไว้ใน RAM ส่วนใหญ่จะอยู่ในรูปแบบไบนารี่ และเราต้องการอ่านข้อมูลทั้งหมดในรูปแบบไบนารี่นั้นเท่านั้น และบันทึกข้อมูลในรูปแบบ Raw
ดังนั้น รูปแบบจะเป็นไฟล์ Raw และจัดเก็บไว้ในไฟล์ทุกที่ที่เราระบุเส้นทาง
ในที่สุดก็ถึงเวลาอ่านข้อมูลจาก RAM มาดูคำสั่งหลักที่จะช่วยให้เราเริ่มอ่าน RAM ทั้งหมดกันดีกว่า
การสาธิต
พิมพ์รหัสผ่านสำหรับบัญชี Gmail ของคุณใน Chrome สำหรับการสาธิตนี้ ซึ่งจะช่วยให้คุณเรียนรู้วิธีบันทึกข้อมูลจาก RAM และดูว่ารหัสผ่านของคุณถูกเข้ารหัสหรือไม่
หากต้องการตรวจสอบทั้งสองสิ่งนี้ ให้ย้ายไปที่พรอมต์คำสั่งแล้วตรวจสอบว่าข้อมูลยังคงอยู่ใน RAM หรือไม่ คุณจะต้องโหลดโมดูลเฉพาะโดยใช้คำสั่ง 178 . ซึ่งจะช่วยให้คุณแทรกโมดูลได้
คัดลอกเส้นทางที่สมบูรณ์ของโมดูลและวางพร้อมกับ 187 คำสั่ง
196 คำสั่ง ป>
โมดูลนี้จะถูกโหลดด้วยความช่วยเหลือของเคอร์เนล โมดูลจะเริ่มจับข้อมูลทั้งหมดจาก RAM และจะจัดเก็บไว้ในไฟล์ เช่น myram.data
นอกจากนี้ยังจะโหลดการถ่ายโอนข้อมูลหน่วยความจำทั้งหมดหรือการถ่ายโอนข้อมูล RAM ลงในไฟล์นี้และรูปแบบที่เราต้องการจับภาพ ดังนั้นรูปแบบจะเป็นรูปแบบดิบ
เราจะใช้พารามิเตอร์ทั้งสองนี้ (ไม่ต้องกังวลกับเรื่องนี้ในตอนนี้) เราต้องการเพียงสองพารามิเตอร์ในการดำเนินการ และทันทีที่เรากดคำสั่งนี้ ข้อมูลใดก็ตามที่เรามีจะถูกบันทึกและจัดเก็บไว้ในไฟล์นี้โดยเฉพาะ โดยทั่วไปคำสั่งนี้จะใช้เวลาไม่กี่วินาที ขึ้นอยู่กับความเร็วของ CPU และจำนวนข้อมูลที่เรามีใน RAM
คำสั่ง ป>
วิธีการอ่านข้อมูล
ตอนนี้เรามีไฟล์นี้ myram.data และข้อมูลทั้งหมดของ RAM จะถูกเก็บไว้ในไฟล์นี้ เนื่องจากเราบันทึกข้อมูลนี้ในรูปแบบดิบ ข้อมูลจึงอยู่ในรูปแบบไบนารี หากเราพยายามอ่านข้อมูลนี้จากไฟล์นี้โดยตรง ในฐานะมนุษย์ เราจะไม่สามารถอ่านข้อมูลดังกล่าวได้ แม้ว่าเราจะลองใช้บรรทัดเริ่มต้นโดยใช้คำสั่ง head เพื่ออ่านบางบรรทัดจาก 10 บรรทัดแรกก็ตาม
เอาต์พุต ป>
ดังนั้นเราจึงสามารถใช้คำสั่ง “cat” ซึ่งจะอ่านข้อมูลทั้งหมด แต่สิ่งเดียวกันนี้กำลังจะเกิดขึ้น – มันจะอ่านข้อมูลทั้งหมด แต่ข้อมูลจะแสดงในรูปแบบไบนารี่ จากนั้นเราจำเป็นต้องใช้ฟังก์ชันไปป์กับคำสั่งนี้และรวมเข้ากับคำสั่งใหม่ที่เรียกว่า 200 :
คำสั่ง ป>
สตริงคือคำสั่งที่จะแปลงข้อมูลเป็นข้อความปกติในรูปแบบที่มนุษย์สามารถอ่านได้
เอาต์พุต ป>
รายการจะดำเนินต่อไปเรื่อยๆ คุณสามารถขัดจังหวะได้โดยใช้ Ctl+C .
ในตอนนี้ การดูและอ่านข้อมูลทั้งหมดไม่ได้มีความหมายอะไรมากนัก เรารู้ว่าข้อมูลบางอย่างที่อยู่ใน RAM คือรหัสผ่านที่เรียกว่า mywebpasswordgmail ดังนั้น เพียงเพื่อยืนยันว่าข้อมูลนี้มีอยู่บน RAM เราจึงสามารถใช้ไปป์อีกหนึ่งรายการพร้อมกับ 219 คำสั่ง คำสั่ง grep ช่วยให้เราจัดเรียงข้อมูล
cat /myram.data | strings | grep mywebpasswordgmail
ตอนนี้เรากำลังค้นหาสตริงนี้ในข้อมูลทั้งหมด มันจะแปลงข้อมูลเป็นข้อความปกติ และเมื่อใดก็ตามที่สตริงนั้นปรากฏขึ้น grep จะคว้าบรรทัดนั้นแล้วให้เราเริ่มค้นหา จากนั้นแสดงข้อมูลนี้ให้เราดู
ดังนั้น อย่างที่คุณเห็นจากตัวอย่างง่ายๆ นี้ ไม่ว่าคุณจะพิมพ์อะไรบนคีย์บอร์ดก็สามารถเข้าไปใน RAM ได้เช่นกัน แม้ว่าจะเป็นรหัสผ่านของคุณหรือเว็บไซต์ที่ปลอดภัยประเภทใดก็ตามที่คุณกำลังท่องเว็บ ข้อมูลของคุณก็จะอยู่บน RAM เช่นกัน ไม่สำคัญว่าคุณรันโปรแกรมอะไร หากคุณพิมพ์โดยใช้แป้นพิมพ์ ทุกอย่างจะโหลดบน RAM และสามารถแตกไฟล์ได้ สิ่งนี้เรียกว่าการถ่ายโอนข้อมูลหน่วยความจำ
LiME มอบความสามารถอันทรงพลังอื่นๆ มากมายให้กับเรา ขณะนี้ เรากำลังเก็บข้อมูลโดยตรงจากระบบที่เราดำเนินการ แต่เรายังสามารถเรียกใช้ LiME บนระบบได้ และสามารถบันทึกข้อมูลแบบเรียลไทม์และส่งข้อมูลผ่านเครือข่ายไปยังคอมพิวเตอร์เครื่องอื่นได้
สิ่งนี้หมายความว่าอย่างไร? ลองคิดแบบนี้:ตัวอย่างเช่น มีคนเปิดเว็บไซต์และกำลังพิมพ์บางอย่างแบบเรียลไทม์ ข้อความทั้งหมดนี้กำลังถูกส่งไปยังคอมพิวเตอร์เครื่องอื่นแบบเรียลไทม์
เราไม่ได้พูดถึงตัวบันทึกคีย์ เราแค่พูดถึง RAM ไม่ว่าจะเกิดอะไรขึ้นในขณะที่โปรแกรมใด ๆ กำลังทำงานอยู่ ฐานข้อมูลจะจัดเก็บข้อมูลบางส่วนไว้ โปรแกรมกำลังอ่านข้อมูลจากส่วนอื่นของฮาร์ดดิสก์ และทุกสิ่งที่เกิดขึ้นบน RAM จะสามารถบันทึกได้แบบเรียลไทม์โดยระบบและส่งผ่านเครือข่ายไปยังคอมพิวเตอร์เครื่องอื่น
บทสรุป
ในที่สุดเราก็มาถึงจุดสิ้นสุดของบทความนี้แล้ว ฉันหวังว่าคุณจะสนุกกับมันและได้เรียนรู้สิ่งใหม่ๆ
ฉันยินดีรับฟังข้อเสนอแนะและการสนทนาบน LinkedIn เสมอ ติดต่อฉันด้วยข้อความโดยตรง
หากคุณสนุกกับการเขียนของฉันและต้องการให้ฉันมีแรงบันดาลใจ ลองเริ่มต้นใช้งาน GitHub และรับรองทักษะที่เกี่ยวข้องบน LinkedIn
จนถึงตอนต่อไป อยู่อย่างปลอดภัยและเรียนรู้ต่อไป
เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพ่นซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานในตำแหน่งนักพัฒนา เริ่มต้น