ศิลปะการ crack ซอฟต์แวร์

เราต้องมานิยามกันก่อนว่าการ crack ซอฟต์แวร์นั้นคืออะไร ถ้าเป็นนิยามของ wikipedia ก็หมายถึง

การเปลี่ยนแปลงซอฟต์แวร์เพื่อถอดถอนการป้องกันทางลิขสิทธิ์ หรือเพื่อถอดสภาวะสาธิต หรือเพื่อถอดเอาตัวเลขสำคัญ ๆ ซึ่งไว้บ่งบอกตัวผลิตภัณฑ์ออกมา

นิยามมันแคบนะแต่ก็เอาเหอะอย่าไปสนใจมันเลย เพราะศิลปะการ crack ซอฟต์แวร์ที่ผมจะโม้นั้น มันเป็นอีกสภาวะนึง โดยนิยามการ crack ซึ่งบัญญัติโดย taipedia นั้น หมายถึง

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

นิยามโหดไปหน่อย ตอแหลไปนิดนะ แต่มันก็เป็นความจริงนั่นแหล่ะ!!!

เมื่อสิบกว่าปีก่อนผมและผองเพื่อนนิยม crack ซอฟต์แวร์กันมากเลยครับ โดยเฉพาะเกมคอมพิวเตอร์จะเป็นเหยื่ออันโอชะของพวกเราเลย พวกเราชอบ crack เกมกันมาก ไม่ว่าจะเป็นเกมแบบ turn base หรือ RPG ซึ่งสาเหตุที่อยากจะ crack มันก็เพราะว่า “หมั่นไส้” มัน เพราะไม่สามารถจะเอาชนะมันได้เลย ถ้าหากว่าเราเลือกเกมนั้นในระดับที่ยากสูงสุด แบบว่าคอมพิวเตอร์มันจะเก่งกว่าเรามาก ผลิตเร็วกว่าเรามาก คิดเร็วกว่าเรามาก อะไรก็เหนือกว่าเราไปหมด

สมัยนั้นเกมส่วนใหญ่จะทำงานอยู่บนระบบปฏิบัติการ MS-DOS ครับ ดังนั้นรูปแบบการอ่านโปรแกรมเข้าสู่หน่วยความจำจึงยังเป็นแบบ real mode อยู่ การ crack ซอฟต์แวร์จึงไม่ใช่เรื่องยากนัก เพียงแค่มี HEX Editor เจ๋ง ๆ ซักตัวนึงก็สามารถทำได้แล้ว ซึ่งต่างจากสมัยนี้ที่โปรแกรมเป็นแบบ protected mode การ crack จึงยากกว่าเดิมอักโข

โดยหลักใหญ่แล้วการ crack ซอฟต์แวร์จะมีสองแบบครับ คือ

  1. การ crack ตัวไฟล์ execute และไฟล์ข้อมูลที่เกี่ยวข้อง หรือ
  2. การ crack ในขณะที่ซอฟต์แวร์กำลัง run อยู่ในหน่วยความจำ

แบบแรกแค่มี HEX Editor ก็โอเคแล้ว แต่ถ้าเป็นแบบหลังนี่คงต้องใช้ debuger อย่างเช่น debug หรือ softice เป็นต้น (แบบหลังนี่ผมเคยทำนะ แต่ผมกระจอก Assembly มากเลยครับ เลยดูไม่รู้เรื่องเลย แหะ ๆ)

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

save master of orion

ภาพข้างบนคือ save ของเกม Master of Orion ซึ่งเปิดดูโดย HEX Editor ทั่วไปครับ โดย Master of Orion นั้นเป็นเกมอวกาศแบบ turn base ที่เล่นบน MS-DOS (เก่าโคตร) ความน่าสนใจจะอยู่ที่เราต้องสร้างยานอวกาศเพื่อไปสู้กับเผ่าพันธุ์อื่น แล้วยานอวกาศของเราก็จะติดอาวุธได้ 4 ประเภท โดยอาวุธเราจะเจ๋งแค่ไหนก็ขึ้นอยู่กับการพัฒนาเทคโนโลยีของเผ่าพันธ์เราเป็นสำคัญ

ถ้าเล่นระดับยากสูงสุดล่ะก็ ไม่มีทางตามเทคโนโลยีของเผ่าพันธุ์อื่นได้เป็นอันขาด ซึ่งเมื่อเราโลว์เทคกว่าใคร ๆ ไอ้เรื่องจะสร้างยานอวกาศซึ่งติดอาวุธเจ๋ง ๆ ได้ก็ยิ่งไม่มีทางเข้าไปใหญ่ ดังนั้นสิ่งที่ทำได้ก็คือการ “โกง” โดยการ crack เพื่อแก้ไขข้อมูลยานอวกาศของเรา

จากภาพจะเห็นกรอบสีแดงที่ผมทำเครื่องหมายเอาไว้ ซึ่งกรอบสีแดงทั้งสี่กรอบนั้นก็คือจุดที่ใช้ระบุอาวุธทั้ง 4 ประเภทของยานที่ชื่อว่า “DARK STAR” นั่นเอง โดยยาน “DARK STAR” นั้นเป็นยานที่มีระบบอาวุธกระจอกมาก ไม่มีทางจะสู้กับเผ่าพันธุ์ไหนได้หรอก ดังนั้นต้องแก้ไขมัน …

แล้วสิ่งที่ผมทำก็ง่ายมากครับ นั่นก็คือการแก้ไขตัวเลขทั้ง 4 ตัวนั้น โดยตัวเลขแต่ล่ะตัวก็พอจะเดาได้ว่าน่าจะเป็นแบบ integer 2 ไบต์ แต่ในหลักความเป็นจริงแล้วใช้เพียงแค่ไบต์เดียว

หลังจากการใส่ตัวเลข 3A 00 3B 00 3C 00 และ 3E 00 เข้าไปแล้ว ก็จะทำให้ยาน “DARK STAR” กลายเป็นยานรบที่มีระบบอาวุธในระดับสุดยอดไปโดยปริยาย!!!

จะเห็นว่าจุดสำคัญในการ crack ซอฟต์แวร์นั้น มันไม่ได้อยู่ที่ความเก่งในการเขียนภาษาคอมพิวเตอร์ชั้นสูงแต่ประการใด หากแต่อยู่ที่ความสามารถในการคาดเดา โดยอาศัยความรู้ในเรื่องของ Assembly, Data Structure และ File Processing เป็นสำคัญ

ยุคสมัยนี้การ crack ซอฟต์แวร์คงจะมีน้อยลงเรื่อย ๆ แล้วกระมังครับ ด้วยเหตุเพราะความเปิดกว้างของ opensource ที่มีมากขึ้น ทำให้เราไม่จำเป็นต้องมา crack อะไรกันแล้ว แบบว่าถ้าไม่พอใจซอฟต์แวร์ตัวดังกล่าว ก็เชิญแก้ไขที่ source code ของมันเองเลยก็หมดเรื่อง

หรือไม่ … การ crack ซอฟต์แวร์ก็จะยังคงธำรงอยู่ เพียงแต่การจะทำได้มันลำบากยากขึ้น เพราะซอฟต์แวร์จะอยู่บน client น้อยลง แล้วย้ายไปทำงานที่ฝั่ง server มากขึ้น โดยอาศัยอินเตอร์เน็ตเป็นตัวเชื่อมประสานระหว่างกัน ตามหลักการของ Software as a Service ซึ่งเมื่อเป็นแบบนี้ ก็ไม่รู้จะ crack ยังไงดี เพราะชุดคำสั่งและข้อมูลมันอยู่ที่ฝั่ง server หมดแล้วนั่นเอง

ต่อไปคำว่า crack คงจะไม่มีใครใช้ เพราะเปลี่ยนไปใช้คำว่า hack กันหมดแล้วล่ะมั๊งเนี่ย อิ อิ

[tags]crack,hack,คอมพิวเตอร์,ซอฟต์แวร์,debug,debugger[/tags]

Related Posts

10 thoughts on “ศิลปะการ crack ซอฟต์แวร์

  1. พี่ไท้ครับ ถ้าว่างๆ ผมอยากให้พี่ไท้ เขียนเกี่ยวกับเรื่องของ Project หน่อยครับ
    ว่า Project คืออะไร ในเชิงวิชาการอ่ะครับ

  2. ในเซฟไฟล์สมัยนี้เขาเข้ารหัสกันเกือบหมดแล้วไม่ใช่เหรอครับ และรูปแบบข้อมูลก็เริ่มเปลี่ยนจากข้อมูลดิบๆเรียงกันมาเป็น XML ที่ถ้าถอดรหัสได้ก็สามารถใช้ text editor เปิดได้เลย

    ลักษณะการแฮ็ค/แคร็คช่วงหลังๆจึงเป็นการปลอมข้อมูล XML แปลงข้อมูลที่ส่งไปยังเซิร์ฟเวอร์ หรือการถอดรหัสเสียมาก ส่วนวิธีการใช้ Hex editor หรือการล้วงเข้าไปใน memory ก็เริ่มใช้ไม่ได้แล้วในตอนนี้

  3. มาแซวเรื่องเกมส์ Master of Orion ครับ

    สมัยนั้นกี่แผ่นดิสก์เกตนะครับ >.

  4. อือม ผมไม่แน่ใจว่า ถ้าผมเขียนเรื่อง project management แล้วจะมีคนอ่านหรือเปล่าน่ะสิครับคุณ Bank_Xavi เพราะเรื่อง project management มันเป็นเรื่องสำคัญก็จริง แต่พอเอามาเล่าแล้ว มัน … น่าเบื่อมากเลยอ่ะ

    เป็นอย่างที่คุณ ABZee บอกไว้ทุกประการครับ ปัจจุบันเป็นเช่นนี้จริง ๆ ส่วนหัวข้อนี้เล่าเรื่องอดีตอันไกลโพ้นครับ อิ อิ ^-^

    อันนั้นเรียก hack ครับคุณ xinexo แต่ก็ … คนในนั่นแหล่ะ เอา bot มาปล่อย คนในที่ว่านี่ใช่คุณ xinexo อ๊ะเปล่าเนี่ย? อ้าวไม่ใช่ ต้องโน่นคุณ jedineko ต่างหาก รายนั้นถึงจะเป็นคนในตัวจริง เมื่อไหร่น้อ AsiaSoft จะเข้าตลาดหลักทรัพย์ฯซะที รอ ร้อ รอ

    เออแฮะ สมัยนั้นมีฮาร์ดดิสก์ 80MB แล้วคุณเอ แหม ๆ แซวซะ อิ อิ

  5. นึกถึงสมัยที่แก้เซฟไฟล์ Romance of Three Kingdom II ให้ขงเบ้งมีความสามารถในการรบ 100 ให้ลิโป้ฉลาด 100 เลยครับ

  6. นึกถึงวันวาน
    จำได้ว่าเคย Crack ไฟล์แบบนี้ด้วย
    แต่จำเกมส์ไม่ได้แล้วครับ เมื่อสิบกว่าปีก่อน ฮาฮา

    คุ้นๆว่าจะเป็น สามก๊ก หรือเกมส์ประมาณนี้อีกเกมส์ ว้าจำไม่ได้..เกมส์อะไรหว่า

  7. เราเด็กน้อยสิเนี้ย แค่แก้ไฟล์ text กับ ไฟล์ XML
    แก้เรื่อง คะแนนกับภาพ เอาภาพอื่นมาใส่
    เล่นเกมสวนมากเอามันอย่างเดี่ยวเลย ไม่ชอบ crack เท่าไหร

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *