บทสรุปอื่นๆ


 


บทสรุปทั้งหมด   

 


Article

บทความอันเป็นประโยชน์รวมไว้ที่นี่ครับ

กลับไปยังบทความก่อนหน้า เคยสงสัยกันไหม code หลังรอมหมายถึงอะไร โดย คุณ potty


บทความเกี่ยวกับเกม


 

  วิธีการแก้ข้อมูลเกมระดับพื้นฐานไปจนถึงระดับสูง ตอนที่ 1
บทความโดยคุณ asiaspirit

โปรแกรมอิดิตข้อมูลที่นำมาสอนใช้แก้ข้อมูลเกมเป็นตัวนี้นะครับ Memory Doctor
อาจจะเก่าไปหน่อยแต่ตัวเล็กกระทัดรัดดีครับ

 MD.rar (336k)

พื้นฐานเกี่ยวกับการเก็บค่าตัวเลข

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

ค่าที่นิยมทำการแก้ไข

ส่วนมากจะเป็นค่าตัวเลขที่เห็นเด่นชัดเช่น HP MP EXP GOLD ซึ่งหลายๆคนน่าจะเคยแก้ด้วยตัวเองมาบ้างแล้ว

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ตัวอย่าง1. Hp



1. จากภาพผมใช้อีมู VirtuaNES หลังจากนี้จะเรียกย่อว่า VN เปิดรอมเกมไฟนอล3 ขึ้นมา และเปิดโปรแกรม Memory Doctor ซึ่งหลังจากนี้จะเรียกย่อว่า MD

เมื่อเปิดโปรแกรม MD ขึ้นมาแล้วให้คลิ๊กที่ Select Process แล้วเลือกที่อีมู VN เพื่อให้โปรแกรม MD จับการทำงานของอีมู VN

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

ผมก็จะทำการหาค่า 32 ใน โปรแกรมMD โดยกดที่ First Search คือค่าแรกที่เราต้องกรอกเพื่อจะเป็นตัวตั้งต้นในการค้นหาตำแหน่งที่เก็บค่าพลังของตัวละครที่สอง

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

ซึ่งตำแหน่งที่เก็บมีจำนวนกว้างมากทำให้เรายังไม่สามารถระบุค่าที่เก็บพลังได้ชัดเจน ให้เราดำเนินเกมไปจนตัวละครที่ 2 มีค่าพลังที่เปลี่ยนไป




2. จากภาพ ผมได้เล่นไปจนตัวละครที่2 พลังเปลี่ยนจาก 32 เป็น 18 แล้ว ดังนั้นให้กด Next Search เพื่อทำการหาค่าต่อจากตำแหน่งที่หามาได้ครั้งแรก ให้กรอก 18 ลงไป แล้วกด OK

ผลการค้นหาปรากฎว่า ตำแหน่งที่เคยเก็บค่า 32 แล้วเปลี่ยนค่าเป็น 18 นั้นมีอยู่เพียงสองตำแหน่ง แบบนี้แสดงว่าไม่ตำแหน่งใดก็ตำแหน่งหนึ่งในสองตำแหน่งนี้เป็นที่เก็บค่าพลังของตัวละครที่ 2




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

- การค้นหาข้อมูลที่มีขนาดของข้อมูลไม่เกิน 255 จะถูกเลือกเป็น 1 byte โดยอัตโนมัติ
ซึ่ง 1 Byte จะเก็บค่าได้ไม่เกิน 0-255 และ ที่ 2 byte จะเก็บได้ไม่เกิน 256-65535 และที่ 4 Byte จะเก็บได้ตั้งแต่ 65536 ขึ้นไป จนถึงซักอย่างจำไม่ได้

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

- ปุ่ม Freeze ในโปรแกรมเป็นการกำหนดให้ตำแหน่งนั้นๆคงค่าที่เราเลือกไว้ตลอดเวลา เช่นหากกรอกตำแหน่งที่เก็บค่าพลังไว้99แล้วfreezeไว้ เมื่อถูกศัตรูโจมตีไม่ว่าค่าพลังจะลดไปเท่าไหร่ก็ตาม ค่าพลังที่เหลืออยู่ก็จะเป็น 99 ตามที่เราได้เลือกไว้เสมอ

- ในโปรแกรมอื่นๆ อาจใช้ลักษณะหน้ายิ้มหรือ ติ๊กถูกก็มีผลเช่นเดียวกัน

- เทคนิคนี้สามารถนำไปใช้กับเงินหรือ mp exp status หรือ อะไรก็ตามที่สามาถเห็นเป็นตัวเลขเด่นชัดได้ทั้งหมด

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ตัวอย่าง2. Exp



ที่หน้าจอหลังจากการต่อสู้จบลง เมื่อมีการแสดงค่า Exp ที่ได้ ให่เราหาค่านั้นๆในโปรแกรม MD ซึ่งจากภาพคือ 13 ผลการค้นหามีจำนวนมาก ก็ให้เราไปสู้กับศัตรูกลุ่มใหม่แล้วทำซ้ำอีกครั้งจนเหลือค่าเดียว



จากภาพ หลังจากหาตำแหน่งที่เก็บค่า exp ที่ได้หลังจากต่อสู้พบแล้ว ผมลองแก้เป็น 255 ดู พบว่าหลังจากชนะก็ได้ประสบการณ์ตามค่าที่เรากรอกไว้
ครั้งต่อจะมาต่อให้สำหรับวิธีการแฮกเพิ่มจำนวนไอเทมกับวิธีเรียกไอเทมที่ต้องการออกมาครับ

บทความโดยคุณ asiaspirit

ไปยังบทความถัดไป วิธีโกงเกมส์บน MAME อย่างง่ายๆ โดย คุณ potty