Computer

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

พอผมได้มาเรียน C++ ก็เลยได้รื้อฟื้นความหลังกับ Dos อีกครั้ง หลังจากไม่ได้จับมานานหลายปี จะว่าไป คำสั่งใน Dos หลาย ๆ คำสั่งก็สะดวกกว่าใน Windows ซะอีกครับ ยกตัวอย่างเอาง่าย ๆ เลย เวลาเราก็อปไฟล์หลาย ๆ ไฟล์มา แล้วบังเอิญว่ามันมีบางไฟล์ที่มันเสีย มันอ่านไม่ได้ พอ Windows มันก็อปถึงไฟล์ที่มันอ่านไม่ได้ เท่านั้นแหละนั้น มันก็จะขึ้น Error มาทันทีเลยว่า "อ่านไม่ได้นะเว้ย ไม่ก็อปต่อแล้วนะ" ซึ่งก็สร้างความรำคาญให้ผมอย่างมากเลยโดยเฉพาะตอนจะก็อปไฟล์จากแผ่น MP3 เก่า ๆ ลงคอม เวลาที่มีไฟล์อ่านไม่ออกหลายไฟล์มาก พอเจอไฟล์เสียปุ๊บ มันก็หยุด เราก็ต้องไปเริ่มก็อปใหม่อีก โดยข้ามไฟล์ที่มันเสียไป แล้วถ้าเกิดมันมีไฟล์เสียหลาย ๆ ไฟล์ มันก็ต้องมาก็อปใหม่หลาย ๆ รอบ

แต่ Dos มันฉลาดกว่า Windows ครับ เวลาเราสั่งก็อปไฟล์มาหมดทั้ง Folder แล้วเกิดมีไฟล์ไหนที่มันอ่านไม่ได้ มันก็จะขึ้นมาถามว่า "มีไฟล์ที่ก็อปไม่ได้อยู่นะ จะให้ลองใหม่อีกที ข้ามไฟล์นี้ไป หรือเลิกก็อปไปเลย (Abort, Retry, Ignore)" ซึ่งเราก็แค่กด Retry ไป มันก็จะก็อปต่อให้เรื่อย ๆ จนเสร็จ สบายกว่า Windows เยอะ แถมวิธีนี้ยังอาจสามารถใช้ก็อบไฟล์ออกมาจากแผ่นที่มันอ่านไม่ออกได้ด้วย โดยเฉพาะแผ่นโปรแกรมเก่า ๆ ที่พอใส่แผ่นเข้าไปแล้ว Windows มันจะพยายามอ่านแผ่น พยายามอ่านรายละเอียดของไฟล์มาให้เราเห็น แล้วมันอ่านไม่ออกมันก็แฮ้งค์ไปเลย ก็ใช้ Dos ก็อปเอาครับ จบ

รู้มั้ยครับว่าคำสั่ง Dos เนี่ย มันมี Help บอกรายละเอียดการใช้อยู่นะ ก็แค่พิมพ์ชื่อคำสั่ง ตามด้วย /? มันก็จะแสดงวิธีใช้ออกมา เช่น พิมพ์ format /? มันก็จะบอกว่า คำสั่ง format เนี่ย มันใช้ทำอะไรยังไง

คำสั่ง copy ของ Dos เนี่ย สามารถใช้รวมเนื้อหาของไฟล์เข้าด้วยกันได้ครับ ตัวอย่างเช่น copy text1.txt+text2.txt text3.txt ก็หมายความว่า เอาเนื้อหาจากไฟล์ text1.txt มารวมกับไฟล์ text2.txt แล้วไปเซฟเป็นไฟล์ใหม่ชื่อ text3.txt อันนี้มีประโยชน์มาก ๆ เลยนะ โดยเฉพาะตอนเขียนโปรแกรม แบ่งส่วนกันไปทำ พอแต่ละคนทำเสร็จเรียบร้อย ตรวจทานแล้ว ก็สั่งให้มันเอา Code ทั้งหมดมารวมกันเลย

แต่ข้อดีมันยังไม่หมดแค่นั้นครับ จำโปรแกรมฝังไฟล์ไว้ในรูปภาพที่ผมบอกข้างบนได้มั้ย นั่นแหละ เราสามารถใช้คำสั่ง copy ทำแบบนั้นได้เหมือนกัน

ลองเข้า Dos แล้วพิมพ์ copy /? ดูนะครับ (ใครเข้า Dos ไม่เป็น ก็คลิกที่ Start > Programs > Accessories > Command Prompt จะเห็นหน้าจอดำ ๆ นั่นแหละครับ Dos หรือถ้าอยากเข้าแบบง่าย ๆ ก็ Start > Run พิมพ์ cmd กด Enter ก็ได้ผลแบบเดียวกัน)

เห็นรึยังครับ copy /? เราสามารถทำอะไรได้บ้าง มีที่เด็ด ๆ อยู่อันนึงครับ คือ /b Indicates a binary files. เจ้าคำสั่งนี้แหละครับ เอาไว้สำหรับรวมไฟล์เข้าด้วยกัน เดี๋ยวผมจะสาธิตอะไรเล็ก ๆ น้อย ๆ ให้ดู

ผมจะสาธิตการฝังไฟล์ Zip เข้าไปไว้ในไฟล์ Jpg โดยที่สามารถกดดูรูปภาพได้ แถมยังคลิกขวา Extract ไฟล์ออกมาได้อีก เราอาจจะนำมาประยุกต์ใช้เป็นการเก็บข้อความลับส่วนตัวก็ได้ หรือจะเอาไปทำอย่างอื่น ก็แล้วแต่สะดวก

สิ่งที่ต้องเตรียม

1. ใช้ Dos เป็น ใช้ไม่เป็นก็ลองหัดดู ไม่ได้ยาก
2. ไฟล์รูปอะไรก็ได้ 1 รูป ขนาดไฟล์ให้ใหญ่กว่าไฟล์ที่เราจะฝัง แนะนำให้เป็นไฟล์ JPG
3. ไฟล์ที่จะเอาไปฝังในรูป แนะนำให้เป็นนามสกุล .Zip เท่านั้นครับ

เริ่มเลยนะ

1. เอาไฟล์รูป + ไฟล์ที่จะซ่อน ไปกองไว้ที่ C:\ ครับ เพื่อความสะดวก
2. เปลี่ยนชื่อไฟล์ภาพเป็น file1.jpg ไฟล์ที่จะฝังเป็น file2.zip
3. เข้า Dos พิมพ์ cd.. ไปเรื่อย ๆ จนกว่าจะเห็น C:\>
4. พิมพ์ copy /b file1.jpg+file2.zip file3.zip แล้วกด Enter
5. จะได้ไฟล์มา 1 ไฟล์ ชื่อว่า file3.zip พอลองดับเบิ้ลคลิกเปิดดู อ้าว เปิดไม่ได้ซะงั้น
6. แต่คลิกขวา สามารถ Extract ไฟล์ออกมาได้ครับ
7. ยังไม่หมดนะ พิมพ์ ren file3.zip file3.jpg แล้วกด Enter
8. file3.zip เมื่อสักครู่ ก็เปลี่ยนชื่อเป็น file3.jpg แล้วเรียบร้อย
9. ลองดับเบิ้ลคลิกดู โอ้ว ดูรูปได้สบาย ไม่มีปัญหา

เสร็จแล้วครับ วิถีมาร ก็อปไฟล์รูปไป เปิดเครื่องไหนก็เห็นเป็นแค่ไฟล์รูปธรรมดา แต่ถ้าเปลี่ยนนามสกุลเป็น .zip ก็สามารถแตกไฟล์ลับที่ซ่อนไว้ออกมาได้ทันที

นี่ครับ ตัวอย่างไฟล์ที่ผมทำ ดูเอาเองนะครับว่าฝังไฟล์อะไรไว้ จะเอาไปใช้ทำอะไรได้ ก็ดูเอาเองละกัน 555+

ใครสนใจศึกษาเพิ่มเติมก็ไปดูได้ที่เว็บของ Microsoft เลยนะครับ

ปล. ไฟล์ตัวอย่างอยู่ด้านล่างครับ ลอง Save ไปศึกษาดู