C, C++ cho Virus (Phần 1): Tổng quan và trình biên dịch

bloodplanet

Wh------
21/03/2015
7
51 bài viết
C, C++ cho Virus (Phần 1): Tổng quan và trình biên dịch
Đây là bài đầu tiên trong chuỗi bài nói sơ lược về việc sử dụng C/C++ cho việc lập trình virus.

1699953949235.png

Sơ lược về C/C++:

C được phát triển vào giữa những năm 1969 và 1973 bởi Dennis Ritchie tại AT&T Bell Labs, và được sử dụng để tạo ra hệ điều hành Unix. Và sau đó thì rất nhiều chương trình hay một phần của các chương trình được lập trình sử dụng ngôn ngữ C.

Vậy đâu là những thứ bạn cần chuẩn bị?


1. Một hệ điều hành:

Bạn có thể dùng Linux hoặc Windows đều được, nhưng do mục đích của chúng ta chủ yếu là virus cho Windows nên việc chúng ta sử dụng một hệ điều hành Windows sẽ thuận lợi hơn cho việc thử nghiệm tính năng của những thứ ta vừa viết. Bản thân mình thì đang sử dụng Windows XP SP2.
  • Hãy luôn nhớ một điều là tốt nhất chúng ta nên xây dựng một môi trường ảo cho việc thực hành và thử nghiệm, còn nếu không thì bạn có thể thực hiện ngay trên máy thật cũng không sao, nhưng điều này không nên.
  • Nếu bạn nào chưa biết sử dụng máy ảo thì có thể đọc thêm các bài viết trên mạng (vấn đề này đã có khá nhiều bài viết), ví dụ như bài viết trên cùng tìm kiếm được khi mình sử dụng từ khóa “hướng dẫn sử dụng vmware” bằng google: http://thuthuat.taimienphi.vn/huong-dan-cai-may-ao-bang-vmware-1514n.aspx
2. Một trình biên dịch:

Tất nhiên rồi, đoạn mã (code) sau khi bạn viết ra, máy tính sẽ không hiểu được phải chạy như thế nào. Máy tính chỉ hiểu được mã máy mà thôi, vì vậy bạn cần phải có một trình biên dịch để biên dịch từ đoạn mã sang mã máy để máy tính có thể hiểu và chạy được.

Bạn có thể sử dụng bất cứ trình biên dịch nào để thực hiện điều này, ví dụ một vài trình biên dịch như:
  • Microsoft Visual Studio (cái này thì là cả một bộ công cụ lớn rồi, nó có thể phục vụ cho những ai sử dụng .NET, C# (see sharp), C/C++, và còn phục vụ cho nhiều mục đích khác nữa).
  • Turbo C++.
  • Borland C.
  • Dev C++.
  • CodeBlocks.
  • C Free Standard.
Bản thân mình thì đang sử dụng Code Blocks, vì vậy nên mình sẽ hướng dẫn trên Code Blocks, các bạn khác sử dụng trình biên dịch khác thì nó cũng tương tự như vậy thôi (tuy nhiên có vài điểm khác nhau giữa các chương trình đấy, cái này các bạn sử dụng chương trình nào thì phải tự tìm hiểu chương trình đấy thôi). Code Blocks là một IDE (Integrated Development Environment) mã nguồn mở và miễn phí cho C, C++, và Fortran (một ngôn ngữ cổ, mà có thể nhiều bạn không biết, hiện nay ở Việt Nam vẫn còn được sử dụng trong ngành Vật lý, Vật lý hạt nhân,…).

Hướng dẫn cài đặt Code Blocks:

- Đầu tiên, tất nhiên rồi, bạn phải có bộ cài đặt trước. Bạn có thể tải trên trang chủ của Code Blocks là www.codeblocks.org/ hoặc bất cứ trang nào bạn thích (trên mạng có rất nhiều trang chia sẻ phần mềm, cái này thì tùy các bạn cảm thấy trang nào phù hợp với mình thôi).

- Công việc tiếp theo là chạy bản cài đặt đó, Next Next các thứ cho đến khi cài xong.

- Lưu ý một điều là Code Blocks sử dụng trình biên dịch mặc định là GNU GCC, nếu máy bạn có rồi thì chỉ cần tải Code Blocks phiên bản codeblocks-13.12-setup.exe về và cài đặt chỉnh đường dẫn trình biên dịch cho Code Blocks mà thôi. Còn nếu máy bạn chưa có GNU GCC thì bạn nên tải phiên bản codeblocks-13.12mingw-setup.exe về vì trong đó có sẵn bộ cài GNU GCC luôn.

- GNU GCC là trình biên dịch mặc định của Code Blocks, nhưng nếu bạn thích thì bạn có thể đổi sang dùng cái khác, cái này bạn có thể tùy chỉnh trong phần cài đặt (cụ thể mình sẽ nói trong phần khác).

- Sau khi cài đặt xong Code Blocks, có thể nó sẽ báo lỗi Can't find compiler executable in your search path (GNU GCC compiler) khi bạn mở chương trình. Cách khắc phục: Vào Settings > Compiler > ToolChainExecutables và kích chọn auto-detect và chương trình sẽ tự động tìm trình biên dịch bạn đã cài đặt.

Phần tiếp theo mình sẽ bắt đầu nói về chương trình đầu tiên sau khi các bạn đã cài đặt được Code Blocks.
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Re: C, C++ cho Virus - Phần 1 - Tổng quan và trình biên dịch

BackDoor rất có hứng thú với chuyện này.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: C, C++ cho Virus - Phần 1 - Tổng quan và trình biên dịch

Em hay dùng CB và VS 2010, đối với CB thì defaul compiler của CB là GCC++ có vẻ không hỗ trợ nhiều khi lập trình trên Windows, VS Compiler đã sửa một số hàm nhằm tăng tính bảo mật hơn , ví dụ printf -> printf_s, scanf_s, fscanf_s, fgets . Cá nhân mình thấy vẫn thích dùng VS 2010 hơn. Nếu không quen dùng IDE của VS 2010 thì có thể dùng CB và chọn trình biên dịch là VS Compiler (yêu cầu cài sẵn VS 2010)
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: C, C++ cho Virus - Phần 1 - Tổng quan và trình biên dịch

luffy;28607 đã viết:
Viết virus thì nên bắt đầu bằng Assembly.
Bạn làm chủ đề về ngôn ngữ này đi :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
luffy;n23316 đã viết:
Re: C, C++ cho Virus - Phần 1 - Tổng quan và trình biên dịch

Viết virus thì nên bắt đầu bằng Assembly.
Mong a viết một vài bài đơn giản về chủ đề này ạ :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
luffy kìa bạn ơi!
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
sunny;n52872 đã viết:

luffy đây, sao không đăng nhập được nick luffy nữa nhỉ? cái này mình đang viết rồi nhưng để ở blog cá nhân chứ chưa post lên.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Tốt lắm.Mong sớm đc xem phần 2!
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Người yêu dấu;n52875 đã viết:
luffy đây, sao không đăng nhập được nick luffy nữa nhỉ? cái này mình đang viết rồi nhưng để ở blog cá nhân chứ chưa post lên.
Mình vừa kiểm tra acc luffy vẫn bình thường mà, bạn đăng nhập báo lỗi là gì?

Lúc nào xong post lên chia sẻ cùng các bạn thành viên, mình thấy ít nhất có nopperabou91 muốn tham khảo đấy.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Anh chị em viết đi mình xem để học hỏi vọc vạch tý :)
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
A luffy cho em xin user name web đi :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên