- Tạo 1 file excel mới, đặt password cho VBA [VD: đặt pass là 1234] rồi save lại.
- Đổi phần đuôi của file excel vừa tạo [xls, xlsx, xlsm] thành .zip
- Dùng Winzip hoặc WinRar mở file zip rồi trích xuất file vbProject.bin trong folder xl ra ngoài.
- Dùng 1 trình HexEditor [trong VD, mình dùng XVI32] mở file vbProject.bin, tìm ký tự DPB=, sau đó ghi nhớ đoạn DPB="xxxxxxxxxxx...xxx"
- Thực hiện các bước 2.2 - 2.3 đối với file excel có VBA bị đặt password chưa biết.
- Dùng HexEditor mở file vbProject.bin và thay đoạn DPB="xxx" bằng đoạn mã có được ở bước 2.4, sau đó save lại.
- Mở thay file vbProject.bin đã sửa đè lên file cũ trong winzip.
- Đổi đuôi .zip thành đuôi cũ [xls, xlsx, xlsm]. OK, bây giờ bạn đã có password "1234" cho VBA của file excel bị khoá.
Bổ sung 2 là còn cách nữa, đơn giản hơn, với file xls, xlsm bị khóa vba only:
Code:
- [bỏ qua nếu đã là file .xls] mở file .xlsm rồi saveAs, chọn đuôi .xls -lưu
- cài Hex Edit ở đây
- mở file .xls bằng ctrinh mới cài
- ctrl-f, gõ DPB để tìm, enter, nhấp đúp thay DPB bằng DPx, save
- mở file .xls = excel bình thường, nó warning error thì Ok/Yes
- propertise cái module rồi đỗi lại pass gì cũng được