Tự chế phần mềm khóa folder đơn giản

Xuất bản vào 10 tháng trước
Được xem 1103 lần



Có rất nhiều các phần mềm, tool hỗ trợ khoá thư mục trên internet, nhưng là một "vọc sĩ" thì ai cũng muốn tự tạo cho mình 1 tool nho nhỏ, vả lại việc tự chế tool theo hướng dẫn bài viết sau còn giúp thư mục bạn tránh khỏi sự tò mò của những người mượn máy.

Tự chế phần mềm khóa thư mục

Quan trọng là làm sao chúng ta tìm ra được cơ chế để khoá hoặc bảo mật hoặc giấu (đại loại vậy) thư mục của mình?

Tìm hiểu về CLSID

Hồi nhỏ, tôi đã từng đến việc set attribute của 1 folder thành hidden (thuộc tính ẩn), nhưng dường như cách này đã quá lỗi khi mà chúng ta (và ngay cả những em nhỏ) thừa biết cách setting folder option để xem các file mang thuộc tính hidden.

Và tôi tìm trên mạng, một bản chỉ tôi cách thêm ".{20D04FE0-3AEA-1069-A2D8-08002B30309D}" (chỉ chọn chuỗi trong ngoặc kép, kể cả dấu chấm) vào sau tên thư mục như một phần mở rộng, và kết quả là:


Thư mục của tôi đã biến thành My Computer, và khi click vào đó nó chuyển tôi vào My Computer, nhưng dữ liệu bên trong mà tôi lưu không hề thay đổi.

Chuyện gì đã xảy ra và chuỗi trên là gì?

Chuỗi trên gọi là Windows sử dụng chuỗi trên để định danh cho một đối tượng, gọi là CLSID là một chuỗi giá trị 128bit, mỗi chuỗi như vậy rất khó trùng lặp lại nhau nên Windows định nghĩa nó là globally unique identifier (đơn vị định danh toàn cầu).

Có rất nhiều các CLSID trong Windows chứ không riêng gì CLSID của My Computer

Một số các CLSID thông dụng trên Windows

CLSID Mô tả
{d20ea4e1-3957-11d2-a40b-0c5020524153} Administrative Tools
{21ec2o2o-3aea-1o69-a2dd-08002b30309d} Control Panel
{d20ea4e1-3957-11d2-a40b-0c5020524152} Fonts
{20d04fe0-3aea-1069-a2d8-08002b30309d} My Computer
{450d8fba-ad25-11d0-98a8-0800361b1103} My Documents
{208d2c60-3aea-1069-a2d7-08002b30309d} My Network Places
{1f4de370-d627-11d1-ba4f-00a0c91eedba} Network Computers
{7007acc7-3202-11d1-aad2-00805fc1270e} Network Connections
{645ff040-5081-101b-9f08-00aa002f954e} Recycle Bin

Vậy chúng ta chỉ việc tạo 1 tool cơ chế chuyển đổi tên thư mục là đã có thể có 1 tool khoá thư mục tự chế.

Tạo phần mềm khóa thư mục bằng các lệnh CMD

Đơn giản nhất tôi tạo 1 file bat, sử dụng các lệnh cmd để khoá thư mục theo cơ chế trên:

1. Mở notepad bằng cách mở hộp thoại Run (Windows + R) và gõ notepad rồi Enter

2. Gõ các lệnh:

cls
@ECHO OFF
title MyFolder Locker - EckOp
pause>nul

Trong đó các lệnh:

  • cls: viết tắt của clear screen, giúp xoá màn hình, làm tool của bạn thẫm mỹ hơn, có thể xoá
  • @echo off: tắt các echo message, làm tool bạn thẫm mỹ hơn, có thể xoá
  • title MyFolder Locker - EckOp: tạo tiêu đề cho thanh tiêu đề có thể thay đổi chữ MyFolder Locker - EckOp thành dòng chữ khác.
  • pause >nul: để tạm dừng chương trình

3. Tiếp theo, mình tạo một vùng chạy (nói theo kiểu IT là func), tên Main để cho người dùng nhập dường dẫn thư mục muốn khoá), tên LOCK để lock file, UNLOCK để mở lock file và FAIL để báo lỗi nếu sai pass, sai đường dẫn chẳng hạn.

cls
@ECHO OFF
title MyFolder Locker - EckOp

:MAIN
set id={20d04fe0-3aea-1069-a2d8-08002b30309d}
echo Nhap duong dan thu muc: 
set /p "tm=>"
if EXIST %tm% goto LOCK
if EXIST %tm%.%id% goto UNLOCK
goto FAIL

:LOCK
echo lock
pause>nul
exit

:UNLOCK
echo unlock
pause>nul
exit

:FAIL
echo Loi khong xac dinh
pause>nul

Ở đây tôi sẽ chọn CLSID My Computer ({21ec2o2o-3aea-1o69-a2dd-08002b30309d}), nên nếu bạn muốn chọn CLSID, bạn có thể thay đổi giá trị trên ở dòng 7.

  • (Dòng 6) set id=... : để tôi lưu clsid vào biến tên là id, có thể chỉnh clsid, không nên xoá
  • (Dòng 8) set /p "tm=>": để cho người dùng nhập vào, không nên xoá

4. Bắt đầu tạo hàm Lock và Unlock.

Phần LOCK

Chúng ta sẽ bắt đầu cho user nhập pass, và xác nhận lại pass, nếu 2 lần nhập đều giống nhau thì tiến hành đổi tên thư mục theo cơ chế trên. Pass được lưu dưới dạng <tên_thư_mục>\eckop_<pass>.txt (có thể đổi cấu trúc lưu)

:LOCK
cls
echo KHOA THU MUC %tm%

:: Phần này để nhập và xác nhận pass
echo Nhap pass:
set /p "pass=>"
echo Nhap lai pass:
set /p "confpass=>"

:: Phần này để kiểm tra nếu sai pass thì cho fail
if NOT %confpass%==%pass% goto FAIL

:: Phần này để lock thư mục
echo mypass > %tm%\eckop_%pass%.txt
ren %tm% %tm%.%id%

:: Phần này để báo hoàn tất
cls
echo HOAN TAT

pause>nul
exit

Phần UNLOCK

Chúng ta sẽ kiểm tra pass bằng cách kiểm tra xem thư mục eckop_<pass>.txt có tồn tại không? Nếu có thì đúng pass và mở thư mục

:UNLOCK
echo MO KHOA THU MUC %tm%

:: Phần này để nhập pass
echo Nhap pass:
set /p "pass=>"

:: Phần này để xác nhận pass
if NOT EXIST %tm%.%id%\eckop_%pass%.txt goto FAIL

:: Phần này để mở khoá
ren %tm%.%id% %tm%
del %tm%\eckop_%pass%.txt

:: Phần này để báo hoàn tất
echo HOAN TAT
pause>nul
exit

5. Chương trình hoàn chỉnh

Sau khi hoàn tất, chúng ta có chương trình hoàn chỉnh sau.

cls
@ECHO OFF
title MyFolder Locker - EckOp

:MAIN
set id={20d04fe0-3aea-1069-a2d8-08002b30309d}
echo Nhap duong dan thu muc: 
set /p "tm=>"
if EXIST %tm% goto LOCK
if EXIST %tm%.%id% goto UNLOCK
goto FAIL

:LOCK
cls
echo KHOA THU MUC %tm%
echo Nhap pass:
set /p "pass=>"
echo Nhap lai pass:
set /p "confpass=>"
if NOT %confpass%==%pass% goto FAIL
echo mypass > %tm%\eckop_%pass%.txt
ren %tm% %tm%.%id%
cls
echo HOAN TAT

pause>nul
exit
echo MO KHOA THU MUC %tm%
echo Nhap pass:
set /p "pass=>"
if NOT EXIST %tm%.%id%\eckop_%pass%.txt goto FAIL
ren %tm%.%id% %tm%
del %tm%\eckop_%pass%.txt

echo HOAN TAT
pause>nul
exit

:FAIL
echo Loi khong xac dinh
pause>nul

Để xuất thành chương trình hoàn chỉnh, bạn chỉ cần lưu file dưới dạng file .bat, rồi dùng chương trình covert file bat thành file exe (tham khảo tại đây: http://www.f2ko.de/en/b2e.php)

Hỏi đáp vấn đề

Q. Cách làm trên liệu có an toàn tuyệt đối?
A:
Dĩ nhiên là không rồi, vì đơn thuần trên thế giới này chẳng có cái gì an toàn tuyệt đối cả =)) Nhưng cách này vẫn an toàn khi bạn dùng để che giấu bạn bè, người thân chẳng hạn, trường hợp là dân IT kinh nghiệm thì họ biết tổng cách này và phá dễ dàng.

Q: Lỡ user khoá các thư mục hệ thống (như system, windows) thì sao.
A:
chương trình vẫn báo hoàn tất nhưng không đổi được tên thư mục theo cơ chế trên. Phần này các bạn có thể hạn chế người dùng tọc mạch bằng cách thêm các lệnh kiểm tra đường dẫn

Q: Cách lưu pass như trên dễ bị phát hiện và mò ra.
A:
Hiển nhiên là vậy, nhưng chỉ đối với số người biết thủ thuật này, vì suy cho cùng nếu họ mò vào được thư mục khoá thì đồng nghĩa không cần pass thì cũng đã vào được cửa thôi. Bạn vẫn có thể khắc phục vấn đề này bằng việc lưu cách khác, registry chẳng hạn, rồi mã hoá chúng ^^

 


Các bài viết tương tự


COMMENT

1 bình luận

  • Vinh Phạm
    Vinh Phạm
    5 tháng trước
    Xin chào, blog mình vẫn còn non trẻ, ở giai đoạn demo bieu tuong
    Cám ơn bạn đã ghé thăm nha bieu tuong

    Giới thiệu
    Avatar của tui <3

    Biệt danh trong giới giang hồ là Ộp Do, cuồng màu xanh, yêu màu tím, thích mặc đồ đen. Có niềm đam mê với những dòng code vô tận, ngoài ra còn thích kinh doanh, đào tạo các kiểu 😂

    /imopdo
    tui@opdo.vn
    Hashtag
    Top