C, C++ cho Virus - Phần 2 - Hello World

Thảo luận trong 'Virus/Malware' bắt đầu bởi bloodplanet, 02/10/15, 11:10 PM.

  1. bloodplanet

    bloodplanet Wh------

    Tham gia: 21/03/15, 11:03 PM
    Bài viết: 51
    Đã được thích: 7
    Điểm thành tích:
    18
    Xin chào tất cả các bạn, phần 1 mình đã nói sơ qua tổng quan về C/C++ cho virus và trình biên dịch ngôn ngữ lập trình Code Blocks. Các bạn có thể xem phần 1 tại đây:
    https://whitehat.vn/threads/14495.html?p=28569&viewfull=1#post28569

    Còn đây là nội dung phần 2:
    - Học cách tạo 1 project trong Code Blocks.
    - Chạy chương trình huyền thoại “Hello World”.
    - Giải thích code.

    1. Học cách tạo 1 project trong Code Blocks:
    Trước khi chúng ta bắt đầu và biên dịch đoạn mã (code) thì trước tiên chúng ta cần tạo một project để chương trình có thể quản lý code của bạn.
    Cách tạo 1 project mới:
    - Mở chương trình Code Blocks. Ở phía bên trái trên cùng ta chọn: File > New > Project. Một trình thuật sĩ (wizard) sẽ hiện ra như sau:
    [​IMG]
    - Tiếp theo chúng ta sẽ chọn Console application để có thể nhìn được đầu ra (output) của các lệnh (command) của mình. Tiếp theo chọn Go. Sau đó chương trình sẽ hiện ra một màn hình chào như sau:
    [​IMG]
    - Chọn Next. Sau đó sẽ đến cửa sổ hỏi chọn C hay C++. Ở đây chúng ta sẽ chọn C++.
    [​IMG]
    - Tiếp theo sẽ đến cửa sổ hỏi bạn muốn đặt tên project là gì và nơi lưu project. Bạn có thể đặt tên project theo ý muốn của bạn nhưng hãy nhớ là nên đặt tên với dấu “_” (gạch dưới) thay vì dấu cách (điều này là để tránh lỗi với debugger). Tiếp đến là chọn đường dẫn nơi lưu project. Bạn hãy tạo một thư mục riêng để lưu các project trong Code Blocks cho tiện. Sau đó chọn Next.
    - Tiếp theo là chọn các tùy chọn nâng cao, bạn hãy để mặc định và chọn Finish.
    2. Chạy chương trình huyền thoại “Hello World”.
    - Sau khi bạn tạo xong project. Bước tiếp theo bạn cần phải làm là gì?
    - Hãy nhìn vào phía bên trái màn hình. Bạn sẽ thấy một khung với tên gọi là Workspace. Và ở đó có tên project của bạn, ở đó sẽ có đường dẫn đến File main.cpp như sau: {Tên project} > Sources > main.cpp. Nháy đúp vào file main.cpp để mở nó ra (đấy là trong trường hợp nó chưa được mở ra thôi, còn thường thì mặc định là sau khi bạn tạo project mới nó đã được mở ra rồi).
    [​IMG]
    - Việc tiếp theo bạn cần làm chỉ là biên dịch file main.cpp mặc định đó mà thôi. Nhấn vào nút mình chỉ mũi tên đỏ trong hình vẽ là được.
    [​IMG]
    - Sau đó bạn sẽ thấy được kết quả của nó:
    [​IMG]
    - Vậy là bạn đã hoàn thành chương trình đầu tiên rồi, nhưng đây là chương trình “Hello World” được viết bằng ngôn ngữ C++, sau đây chúng ta sẽ thử biên dịch chương trình đó được viết bằng C. Các bạn copy đoạn code dưới đây dán đè vào màn hình biên soạn main.cpp của Code Blocks:
    #include
    #include

    int main()
    {
    printf("Hello World!
    ");
    getch();
    return 0;
    }
    - Biên dịch xong bạn sẽ thấy kết quả giống hệt như với đoạn code được viết bằng C++ trước đó.
    3. Giải thích code:
    Bây giờ mình sẽ giải thích ý nghĩa của đoạn code mà ta vừa biên dịch:
    - #include dòng này để khai báo tệp tiêu đề, trong trường hợp này là file stdio.h. Bởi vì trong chương trình ta sử dụng hàm printf() (nằm trong thư viện stdio – standard input/output, thư viện chứa các hàm thực hiện các thao tác vào ra chuẩn) và tương tự với #include để sử dụng getch() (console input/output, thư viện chưa các hàm thực hiện các thao tác vào ra qua bàn phím, màn hình…) nên ta phải khai báo với chương trình dịch gộp các thư viện đó vào chương trình. Nếu ta không gộp thư viện vào chương trình thì ta sẽ không thể sử dụng các hàm có trong thư viện đó.
    - int main() đây là hàm chính của chương trình. Tất cả các chương trình đều có hàm này (bạn hãy nhớ là tất cả). Nó là hàm đầu tiên mà chương trình gọi khi chạy. int ở đây đại diện cho kiểu mà chương trình chính trả về sau khi chạy xong. Đó là lý do vì sao ta có lệnh return 0; ở cuối chương trình.
    - Hai dấu mở ngoặc nhọn là để đánh dấu khối lệnh chứa bên trong nó.
    - printf("Hello World!
    ");
    đây là chỉ thị để in đoạn văn bản ra màn hình.
    - getch(); chỉ thị để dừng màn hình chờ gõ một phím bất kì thì kết thúc chương trình.
    - return 0; dòng này là để chỉ dẫn chương trình kết thúc bằng mã 0 (mã 0 đại diện cho chương trình kết thúc thành công). Về vấn đề return này khi nào có thời gian mình sẽ nói rõ hơn.
    - Một lệnh trong C sẽ kết thúc khi gặp phải dấu ;

    Vậy là chúng ta đã xong một chương trình đầu tiên rồi, phần tiếp theo mình sẽ bắt đầu với một lệnh cơ bản.
     
    Last edited by a moderator: 03/10/15, 10:10 AM
    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
  2. Koldeady

    Koldeady W-------

    Tham gia: 05/01/15, 03:01 PM
    Bài viết: 19
    Đã được thích: 0
    Điểm thành tích:
    16
    Re: C, C++ cho Virus - Phần 2 - Hello World

    ảnh bị lỗi không hiển thị 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
  3. sercect

    sercect W-------

    Tham gia: 20/09/15, 06:09 PM
    Bài viết: 19
    Đã được thích: 0
    Điểm thành tích:
    6
    Re: C, C++ cho Virus - Phần 2 - Hello World

    Bài viết hay :cool:
     
    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
  4. bloodplanet

    bloodplanet Wh------

    Tham gia: 21/03/15, 11:03 PM
    Bài viết: 51
    Đã được thích: 7
    Điểm thành tích:
    18
    Re: C, C++ cho Virus - Phần 2 - Hello World

    Moderator nào giải quyết giúp mình vụ ảnh bị lỗi với, mình có up mà nó không hiệ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
  5. newstudent

    newstudent W-------

    Tham gia: 16/09/15, 09:09 PM
    Bài viết: 4
    Đã được thích: 0
    Điểm thành tích:
    1
    Re: C, C++ cho Virus - Phần 2 - Hello World

    e thay đoạn code
    #include
    #include

    int main()
    {
    printf("Hello World!
    ");

    getch();
    return 0;
    }
    nhưng nó ko dừng màn hình chờ gõ 1 fím :(
     
    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
  6. Hackerstudent98

    Hackerstudent98 W-------

    Tham gia: 21/03/15, 06:03 PM
    Bài viết: 75
    Đã được thích: 16
    Điểm thành tích:
    18
    Re: C, C++ cho Virus - Phần 2 - Hello World

    anh làm bài nói về quan hệ binary , octal, decimal , hexadecimal :D cũng căn bản .
     
    Last edited by a moderator: 03/10/15, 12:10 PM
    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
  7. Hackerstudent98

    Hackerstudent98 W-------

    Tham gia: 21/03/15, 06:03 PM
    Bài viết: 75
    Đã được thích: 16
    Điểm thành tích:
    18
    Re: C, C++ cho Virus - Phần 2 - Hello World

    Bài hay căn bản quá a , hóng thêm a :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
  8. bloodplanet

    bloodplanet Wh------

    Tham gia: 21/03/15, 11:03 PM
    Bài viết: 51
    Đã được thích: 7
    Điểm thành tích:
    18
    Re: C, C++ cho Virus - Phần 2 - Hello World

    Thế lúc bạn chạy nó hiện ra màn hình chữ "Hello World" rồi tắt đi luôn à? Hay là biểu hiện khác? Bạn phải nói rõ ra vấn đề bạn gặp là gì mình mới dễ hiểu hơn chứ...
     
    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
  9. scila1996

    scila1996 W-------

    Tham gia: 29/06/13, 11:06 PM
    Bài viết: 21
    Đã được thích: 4
    Điểm thành tích:
    18
    Re: C, C++ cho Virus - Phần 2 - Hello World

    Nếu bạn nào không dùng được getch() trong conio.h thì có thể dùng system("pause") trong Windows.h

    Mã:
    #include 
    #include 
    
    
    int main()
    {
        std::cout
     
    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
  10. scila1996

    scila1996 W-------

    Tham gia: 29/06/13, 11:06 PM
    Bài viết: 21
    Đã được thích: 4
    Điểm thành tích:
    18
    Re: C, C++ cho Virus - Phần 2 - Hello World

    Các bạn lưu ý là các ký tự được đóng trong 2 dấu nháy kép đầu vào cuối được gọi là một chuỗi, mỗi ký tự trong chuỗi này được gọi là một ký tự (1 Byte hoặc 2 Byte) . Khi lập trình cơ bản trên Console thì các bạn hãy nắm rõ một số quy tắc đó là khi dùng để in kết quả ra Console thì chỉ được dùng chuỗi với các ký tự trong bảng mã ANSII , không được sử dụng các ký tự Unicode là các chữ có dấu như A, Ă, Â, Ơ, Ư vì nó không nằm trong bảng mã ANSII.

    Bảng mã ANSCII gồm tập hợp các ký tự có thể in ra và một số ký tự điều khiển như xuống dòng, tiếng bip, cách tab

    Simple ASCII Table_0.jpg
     
    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
  11. Hackerstudent98

    Hackerstudent98 W-------

    Tham gia: 21/03/15, 06:03 PM
    Bài viết: 75
    Đã được thích: 16
    Điểm thành tích:
    18
    Re: C, C++ cho Virus - Phần 2 - Hello World

    chắc tải nhầm code block không có compile rồi a , hồi xưa em mới học cũng bị buid nó không ra .
     
    Last edited by a moderator: 05/10/15, 09:10 PM
    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
  12. madawg

    madawg W-------

    Tham gia: 24/09/13, 01:09 PM
    Bài viết: 120
    Đã được thích: 19
    Điểm thành tích:
    38
    Re: C, C++ cho Virus - Phần 2 - Hello World

    ASCII -_- sai chính 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
  13. scila1996

    scila1996 W-------

    Tham gia: 29/06/13, 11:06 PM
    Bài viết: 21
    Đã được thích: 4
    Điểm thành tích:
    18
    Re: C, C++ cho Virus - Phần 2 - Hello World

    Đã sửa, gì mà soi kỹ thế :cool:
     
    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
  14. phamdien95

    phamdien95 W-------

    Tham gia: 03/06/15, 10:06 AM
    Bài viết: 2
    Đã được thích: 0
    Điểm thành tích:
    1
    Re: C, C++ cho Virus - Phần 2 - Hello World

    mình có đôi chút góp ý là nếu code = C thì phần mở rộng để là .c (vd: filenam.c)
    cho các bạn mới học phân biệt được, trình dịch 2 loại có đôi chút khác nhau :)))
     
    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
  15. newstudent

    newstudent W-------

    Tham gia: 16/09/15, 09:09 PM
    Bài viết: 4
    Đã được thích: 0
    Điểm thành tích:
    1
    Re: C, C++ cho Virus - Phần 2 - Hello World

    cái code thứ 2 được òy. chứ code trước nó có hiện Hello World nhưng nhanh quá không kịp nhìn, giữ Enter 1 hồi mới kịp nhì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