[Excel] Unlock VBA Password ของไฟล์ .xls

ช่วงนี้ไปขึ้นระบบใหม่ สำหรับ UAT แล้วมีปัญหาที่เกิดขึ้น User บอกว่าตัวเลขที่คำนวณมันไม่ตรงกับ Excel แต่ปัญหาที่หนักกว่า คือ ตัว Excel ใช้มาจากรุ่นสู่รุ่น โดยยุคแรกๆ เป็น VBA แหละ ใช้มาเรื่อยๆ จนถึงปัจจุบันครับ (จริง Excel ไฟล์นี้ ควรจะได้ตั้งแต่ช่วงเก็บ Requirement นะ แต่ทางทีมที่ไปเก็บดันพลาด มาเจอไฟล์นี้อีกทีก็ตอน UAT เลย สิ่งที่ผมต้องทำ คือ นั่งแงะ Excel อันนี้ จากนั้นเอา Logic ใน Excel ไปปเทียบกับ Code ของระบบใหม่ครับ

การแกะรหัสของไฟล์ Excel (.xls) มีขั้นตอนง่ายๆ ดังนี้ครับ

  • ฺBackup ไฟล์ก่อนครับ
  • Download Hex Editor ครับ โดยใช้ Free Hex Editor Neo (ถ้ามีตัวอื่นสามารถข้ามขั้นตอนนี้ไปได้เลยครับ)
  • เปิดไฟล์ Excel(.xls) ด้วย Hex Editor ครับ
  • ค้นหาคำว่า DPB= จากนั้นเปลี่ยน(Replace) ไปเป็นคำว่า DPx= ครับ แนะนำให้ใช้ Feature Edit & Replace ครับ
  • จากนั้นกด Save
  • พอลองเปิด Excel มันจะแจ้งว่า ตัว DP มันผิดพลาดนะ ช่างมันครับ
  • เข้าไปที่ Visual Basic Editor ไม่เห็น Code ของ Business เดิมอีก
  • อย่าตกใจไปครับ คลิกขวาที่ Project >> เลือก VBAProject Properties ครับ
  • ไปที่ Tab Protection ใส่ Password ใหม่ลงไป และอย่าลืมติ๊ก Option Lock project for อiewing ด้วยครับ
  • กด OK เท่านี้สามารถแอบส่อง Code ได้แล้วครับ

Blog รูปเซ็นเซอร์เยอะนิดนึงนะครับ เพราะข้อมูลลูกค้า ^____^