สืบเนื่องจากต้องการแปลเกม จึงจำเป็นต้องแก้ไข binary file ตอนแรกนึกว่าง่ายๆ คล้ายๆกับการอ่าน text file แต่มันไม่เหมือนส่ะทีเดียว เมื่อไปค้นใน google ก็พบวิธีทำดังนี้
กรณี1 เขียนข้อมูล 1 byte ลงไปใน binary file เริ่มจาก ...
fp = open("test1.smc","r+b") เปิดไฟล์แบบอ่านและเขียน
fp.seek(0x17,0) เลื่อนไปตำแหน่งที่ต้องการจากจุดเริ่มต้น
fp.write("x5F") ก็จะเขียนค่า 0x5F ลงไปที่ตำแหน่งนั้น
fp.close() แล้วก็ปิดไฟล์ส่ะ
กรณี2 ถ้าข้อมูลเยอะ ทำไงดี ก็...
import binascii
hb = binascii.a2b_hex("ABCAA1234B") เพื่อแปลงค่าก่อน และก็ทำเดิมคือ
fp.write(hb)
ก็เรียบร้อย ^ ^