cho mình hỏi các phần mềm diệt virut chue yếu hiện nay như bkav antirut hay các cái nổi tiếng khác được viết chủ yếu bằng ngôn ngữ gì ạ và tại sao và còn yêu cầu những kiến thức gì để viết ra những chương trình như vậy
Các phần mềm diệt virus được viết chủ yếu bằng ngôn ngữ gì?
BKAV được viết bằng C/C++ bạn nhé.Để viết được 1 chương trình như vậy thì cần:
- Hiểu và có thể sử dụng assembly, không phải để lập trình mà chủ yếu khi dịch ngược mã nguồn 1 chương trình cần đọc được mã assembly
- Hiểu rất sâu về hệ điều hành, phải có tính cẩn thận vì chỉ cần 1 lệnh lỗi là có thể khiến máy bị treo hoặc làm hỏng máy khách hàng.
- …
Em tưởng là C# chứ ạ
muốn học viết pm diệt virus thì bạn nên xin vào BKaV thực tập
tất cả tool, hàm diệt đều là C :3
tai sao phai la c chu khong phai la c# hay java
C/C++ có ưu thế làm việc với system hơn (vì C# nó include nhiều thứ vào rồi, và hướng tới viết các app ở tầng trên hơn là làm việc với các tầng phía dưới. Nên C# làm việc với app, web tốt hơn nhiều nếu làm việc với C/C++. C/C++ mà ngồi viết một cái app với giao diện đơn giản như Notepad thì siêu tốn công).
Chính vì thế, C/C++ chạy cũng nhanh hơn nhiều nếu làm việc với tầng phía dưới.
còn về thuật toán cảu các phần mềm thì sao ạ
Thuật toán thì mình nghĩ không phụ thuộc vào ngôn ngữ. Tất nhiên, mỗi ngôn ngữ lại có bộ thư viện, ext riêng nên có thể cách viết cũng sẽ # nhau 1 chút. Ví dụ, nếu bạn có thuật toán về kiểm tra 1 con virus A chẳng hạn:
- De-assembly file .exe mà nó lây nhiễm
- Tìm tới địa chỉ đoạn code, offset ==> ah, lệnh này tương ứng với đoạn mã if () để check system, giả sử bọn virus nó làm như sau: nếu check hệ thống có av, ẩn mình, else, chưa có, tìm các file exe cùng trong thư mục, ghi đè đoạn nhiễm vào vùng địa chỉ, offset từ …
- Xóa cái đoạn lây nhiễm đó đi.
Nếu làm bằng PHP, liệu bạn có thư viện de-assemble không? Viết lại thì sẽ khó khăn thế nào? ^^
anh hoc ve bao mat ha anh
viet phan mem diet viryt cho android chang han
Phần lớn các antivirus trên PC ngày nay có phần BackEnd được viết bằng C/C++ và phần FrontEnd được viết bằng những ngôn ngữ hỗ trợ các thư viện GUI mạnh mẽ hơn như Delphi.
Thông thường trong một công ty chuyên phát triển các sản phẩm diệt virus, team phát triển sẽ tập trung vào công việc của mình là phát triển các tính năng của anti theo yêu cầu. Team phân tích sẽ tập trung vào việc phân tích các mẫu mã độc thu thập được để tìm ra dấu hiệu nhận dạng bổ sung vào CSDL nhận dạng của anti, đồng thời team phân tích cũng sẽ phối hợp với các team nghiên cứu để phát triển các tính năng mới cho anti.
Để có thể tự mình viết một antivirus, chắc chắn việc đầu tiên là cần phải thành thạo những ngôn ngữ mình lựa chọn để viết anti, am hiểu sâu về kiến trúc máy tính, kiến trúc hệ điều hành, có kiến thức về mã độc, nhận dạng mã độc, phân tích mã độc…
Về thuật toán, một anti có thể sử dụng nhiều thuật toán nhận dạng mã độc. Sử dụng thuật toán nào và ra sao là “tuyệt chiêu” của từng người viết.
Tham khảo: http://khotailieu.com/luan-van-do-an-bao-cao/ky-thuat-cong-nghe/ts-tiep-can-may-hoc-va-he-chuyen-gia-de-nhan-dang-phat-hien-virus-may-tinh.html
http://sj.ctu.edu.vn/ql/docgia/download/baibao-10576/08-TRUONG%20MINH%20NHAT%20QUANG(62-71).pdf
và các tài liệu khác của Trương Minh Nhật Quang.