Trao đổi với tôi

http://www.buidao.com

6/8/10

[Anti Virus] Phương pháp nhận dạng Icon thư mục theo đặc trưng

Hi !
Cuối cùng cũng thi xong môn LS Đảng, giangho+ lại trở về với a e VNN ^^!
Trước đây thì giangho+ có đề cập đến phương pháp nhận dạng icon thư mục theo khái niệm. Tuy nhiên cách này có 1 vài nhược điểm
+ Cài đặt khó, thuật toán phức tạp (khó mà cài đặt chuẩn được)
+ Tốc độ xử lý chậm


Hôm nay mình xin mạn phép giới thiệu 1 phương pháp khác. Nhận dạng theo đặc điểm (hay đặc trưng). Chắc chắn bạn từng thấy dòng chữ kiểu như thế này trong CMND: “Có vết sẹo cách đuôi mắt phải khoảng 5cm”, … Đó là 1 đặc điểm riêng có thể dùng làm cơ sở nhận dạng.

Vậy với FolderIcon thì sao? ở đây mình tạm thời chỉ quan tâm đến Folder Icon của Windows XP

Ý TƯỞNG THUẬT TOÁN:



Các bạn thấy những đặc điểm cơ bản nào chung của 2 hình trên ?
** Màu chủ đạo vàng nhạt: Ở đây, để đơn giản giangho+ chỉ quét 1 vùng hình dấu + để xác định xem có tồn tại 1 lượng màu vàng không



** Các đường biên thì sao nhỉ ?



Ở đây mình sẽ chú ý vào góc tạo bởi 2 đường biên trái và dưới, nó có dạng như 1 hình chữ L nghiêng khoảng 20 độ.
Và đây là sau khi tìm biên :



Ta thấy các đường biên sẽ có dạng như sau



Sau khi tìm biên chúng ta chỉ cần xác định xem chúng có dạng như trên không. Mình chỉ cài đặt kiểm tra 2 biên, các bạn có thể kiểm tra thêm biên phải để tăng độ chính xác.

=> Như vậy chỉ cần dựa vào màu sắc và các đường biên ta đã có thể đoán được đó có phải là Icon của Folder không.

Các ưu, nhược điểm của phương pháp này:
* Ưu điểm
- Cài đặt đơn giản
- Tốc độ xử lý rất nhanh
* Nhược điểm:
- Phải các đặt riêng cho các kiểu Icon khác nhau
- Không phải lúc nào cũng chính xác

Để chứng minh tính hiệu quả thì người ta bao giờ có demo để kiểm chứng tính hiệu quả

Ở đây mình cũng xin viết 1 demo nhỏ để các bạn test cùng. Và đây là kết quả:


Kết quả là 68/68 trong khoảng thời gian ~0.5s
Một tốc độ khá ấn tượng đấy chứ nhỉ ^^!

Mình chỉ có 68 mẫu này (thanks dungcoi đã share 48 mẫu).
Hiện tại quét trên máy mình thì chương phát hiện ra trường hợp nhầm lẫn hoặc bỏ sót. Các bác test giùm giangho+ với nhé. Nếu có mẫu nào chưa detect được thì các bác có thể report lại (cùng mẫu virus đó) cho em nhé. Thanks

** Dự định tiếp theo:
+ Quét bộ nhớ
+ Cài đặt thêm 1 số “mánh” Heuristic đã trình bày ở đây
+ Scan with Shell
File được đính kèm
Kiểu file:  rar FakeFolderRecognition.rar‎ (137,0 KB, 0 xem)

RefLink: http://virusvn.com/forum/showthread.php?p=14604#post14604