Cách phá mật khẩu VBA trong Excel

Nếu bạn sử dụng mật khẩu bảo vệ VBA trong excel nhưng lại không nhớ mật khẩu thì hãy đọc bài viết dưới đây để phá bỏ mật khẩu VBA đó.

Cách thiết lập mật khẩu

Nếu bạn đang tìm cách crack mật khẩu VBA thì có lẽ bạn đã biết cách thiết lập nó. Tuy nhiên, ở đây, tôi sẽ nói qua về cách thiết lập loại hình bảo vệ này.

Tới tab Developer trong Excel và nhấp chọn Macros.

Nhấp chọn Macros

Nếu bạn không thấy tab Developer, tới File > Options, sau đó chọn Customize Ribbon. Bây giờ, di chuyển nhóm lệnh Developer từ bảng bên trái sang bên phải.

Di chuyển nhóm lệnh Developer từ bảng bên trái sang bên phải

Khi bạn đã chọn Macros trong tab Developer, nhập tên cho Macro của bạn (đây chỉ là ví dụ, nên bạn có thể nhập tên khác tùy ý), sau đó nhấp chọn Create.

Nhập tên cho macro và nhấp chọn Create

Sao chép và dán code dưới đây vào Visual Basic Editor. Đây là một Macro đơn giản cho phép nhập văn bản được trích dẫn vào ô A1. Nó không có mục đích thực sự, nhưng ở đây, chúng ta cần tạo một file để bảo vệ bằng mật khẩu.

Range("A1").Value = "Password Protected"

Bạn nên kết thúc như thế này.

Module1 (Code)

Trong Visual Basic Editor, điều hướng tới Tools > VBAProject Properties.

Tools > VBAProject Properties

Tới tab Protection để thiết lập mật khẩu. Bạn cũng cần tích vào ô bên cạnh Lock project for viewing.

Nhập mật khẩu vào tích chọn ô Lock project for viewing

Nhấp OK, đảm bảo bạn đã lưu tài liệu Excel dưới dạng tệp XLSM. Giờ thì chúng ta có thể kiểm tra xem mật khẩu vừa tạo đã hoạt động chưa. Đóng tài liệu, sau đó mở lại, tới tab Developer và nhấp chọn Visual Basic.

Nhập mật khẩu VBA để mở tài liệu

Khi bạn truy cập tài liệu VBAProject, bạn sẽ thấy cửa sổ nhắc nhập mật khẩu. Bây giờ chúng ta lại tìm cách để loại bỏ mật khẩu này.

Cách phá mật khẩu

Đầu tiên, chúng ta sẽ cần tải xuống một trình soạn thảo Hex. Nếu bạn chưa có, HxD (ứng dụng soạn thảo mã hex) sẽ là một lựa chọn thay thế miễn phí khá ổn.

Tải HxD

Tải Hex

Quá trình này sẽ có một chút khác biệt tùy thuộc vào việc chúng ta đang crack mật khẩu trong file XLS cũ hay file XLSM mới. Nếu bạn đang làm việc với file cũ, bạn có thể bỏ qua phần dưới đây.

Chuẩn bị file XLSM

Chúng ta cần thực hiện thêm một số công tác chuẩn bị để xóa mật khẩu khỏi file XLSM. Tìm file XLSM trên ổ cứng, sau đó đổi tên cho nó, thêm đuôi .zip vào cuối.

Tiếp theo, mở file bằng phần mềm nén như WinRAR hoặc 7-Zip. Bạn nên tìm một thư mục có tên xl.

Tìm thư mục có tên xl

Trong thư mục này, bạn cần tìm kiếm một tập tin có tên vbaProject.bin.

Tìm kiếm một tập tin có tên vbaProject.bin

Trích xuất tập tin này và mở nó bằng Hex Editor.

Vô hiệu hóa mật khẩu

Đây là lúc thiết lập mật khẩu khác. Tạo một tài liệu Excel ảo, thêm Macro vào nó và thiết lập mật khẩu như đã mô tả ở phần trên. Tiếp theo, chúng ta sẽ lấy mã Hex quy định mật khẩu và chèn nó vào trong file mà chúng ta muốn truy cập.

Khi bạn đã thiết lập tập tin đó, lưu nó lại và thực hiện giống như quy trình kết thúc file vbaProject.bin ở trên. Hãy nhớ mật khẩu nhé!

Bây giờ, bạn sẽ có cả hai file vbaProject.bin cùng mở trong Hex Editor.

Sử dụng Ctrl + F trong file bạn đã tạo để tìm chuỗi dưới đây:

CMG=

Đây là sự khởi đầu của code quy định mật khẩu hiện tại. Chúng ta cần sao chép và dán 3 giá trị sau:

CMG=
DPB=
GC=

Dưới đây bạn có thể thấy cách tôi thực hiện.

Chép và dán 3 giá trị trong hình

Chuyển code này sang file vbaProject.bin khác và đặt nó trong vị trí tương ứng. Lưu file hex đã chỉnh sửa lại.

Giờ thì xóa file vbaProject.bin gốc khỏi tài liệu mà chúng ta đang cố gắng loại bỏ mật khẩu. Thay thế nó bằng tệp vbaProject.bin đã được chỉnh sửa, sau đó, đổi tên tệp của nó từ .zip sang .xlms hoặc .xls.

Mở tệp trong Excel. Trở lại tab Developer và nhấn Visual Basic, sau đó thử truy cập menu Project. Bạn sẽ thấy cửa sổ nhắc nhập mật khẩu, mật khẩu ở đây chính là cái mà chúng ta đã thiết lập trong tài liệu Excel ảo.

Nhập mật khẩu

Vậy là bạn có thể truy cập lại tập tin rồi.

Kết luận

Thủ thuật này có thể rất tiện dụng khi bạn quên mật khẩu và bạn cần truy cập ngay một Macro VBA được bảo vệ bằng mật khẩu. Tuy nhiên, nó cũng sẽ minh họa một lỗ hổng bảo mật lớn đang hiện diện trong Excel. Nhìn chung, trong trường hợp cấp bách, bạn có thể dùng cách này để mở mật khẩu VBA trong Excel.

Thứ Ba, 27/06/2017 17:23
4,17 👨 65.314
4 Bình luận
Sắp xếp theo
  • Đại Xuân
    Đại Xuân

    không rõ rang cụ thể bước thay đôi code bác ơi


    Thích Phản hồi 11/07/23
    • Nguyễn Minh
      Nguyễn Minh

      chào Ad mình cần Ad Support với, để mở khóa file excel có pass vba , lâu quá quên Ad ơi

      Thích Phản hồi 11:21 30/01
      • Nguyễn Minh
        Nguyễn Minh

         Thanks Ad nhiều nhiều

        Thích Phản hồi 11:21 30/01
        • Son Nguyen
          Son Nguyen

          chào bạn mình cần bạn hỗ trợ để mở khóa file mình làm lâu mà quên mk bạn giúp mình với mình gửi bạn cf 0777977164

          Thích Phản hồi 02/11/23
          ❖ Microsoft Excel