Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Security & Network

/

Computer Security

Móc API Windows sẽ thay đổi cuộc sống của bạn nếu bạn hiểu nó

Đạt được các kỹ năng phát triển hệ thống bảo mật bằng cách học cách chặn quá trình của một ứng dụng cụ thể gọi các hàm API khác nhau. ※ Tuyệt đối không được lạm dụng!!!

(4.8) 25 đánh giá

445 học viên

  • nullnull8537
windows
API
hook
해킹
windows-api
hooking
System Hacking
Reversing

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Cách chặn lệnh gọi API của Windows

  • Móc IAT dựa trên 64bit, Móc nội tuyến

  • Cách tạo chương trình bảo mật đơn giản hoặc mã độc

Như một con dao hai lưỡi, chúng tôi sẽ dạy bạn các kỹ năng của cả nhà phát triển phần mềm bảo mật và nhà phát triển phần mềm độc hại!

"Công nghệ bảo mật và công nghệ hack giống nhau đến mức chúng chỉ cách nhau một tờ giấy."

Bài giảng này về công nghệ hook API của Windows được thiết kế để hỗ trợ các nhà phát triển phần mềm bảo mật. Công nghệ hook API này đã tồn tại từ lâu và bị cả kẻ xấu lẫn kẻ xấu lợi dụng. ※ Nghiêm cấm lạm dụng.

※Lưu ý, một số ví dụ được sử dụng trong bài giảng này có thể bị Windows Defender nhận dạng là phần mềm độc hại!

Tôi giới thiệu điều này cho những người này

Nhà phát triển phần mềm bảo mật
Người mà bạn muốn trở thành

Công nghệ API hook là một kỹ thuật cần phải biết, đặc biệt là đối với những người muốn phát triển nhiều chương trình bảo mật khác nhau hoạt động trên PC .

Lớp học này sẽ giúp bạn chỉ học những kiến thức cơ bản cần biết.

Trước khi học các kỹ thuật đảo ngược
Dành cho những ai muốn nghiên cứu lý thuyết nâng cao trước

Bạn có thể phân tích cấu trúc bên trong của một hàm ở cấp độ hợp ngữ. Trên hết, bạn có thể hiểu các cấu trúc bên trong không hiển thị trong các ngôn ngữ cấp cao và sửa đổi chúng khi cần thiết.

Kết quả là, bạn sẽ có thể đạt được hiểu biết sâu sắc và tự mình tìm ra câu trả lời cho câu hỏi 'Hàm là gì?' .

Phần mềm độc hại hoạt động như thế nào
Bất cứ ai muốn biết

Điều này cung cấp cái nhìn sâu sắc về cách phần mềm độc hại được đưa vào và thực thi trong các chương trình hợp pháp . Thực tế, nhiều phần mềm bảo mật sử dụng các kỹ thuật tương tự.

Tuy nhiên, bài giảng này không đề cập đến những yêu cầu cần thiết để phát triển phần mềm độc hại.

Sau giờ học

  • Bạn sẽ có được hiểu biết mới về "hàm". Có lẽ, khi kết thúc bài giảng này, bạn sẽ hiểu đầy đủ về hàm.

  • Bạn sẽ học cách đi xuống tận cấp độ thấp nhất và giải quyết vấn đề. Bạn sẽ trải nghiệm một thế giới hoàn toàn mới mà bạn chưa bao giờ có thể tưởng tượng được trong thế giới ngôn ngữ lập trình cấp cao truyền thống.


  • Bạn có thể cập nhật và thực thi mã của một hàm cụ thể mà không cần dừng chương trình đang chạy được phát triển bằng C/C++.

Các tính năng của khóa học này

Hiểu được các hook của Windows API sẽ thay đổi cuộc sống của bạn.

Cung cấp một số kỹ thuật cho các móc nội tuyến

Ngay cả khi sử dụng công nghệ hook nội tuyến, vẫn có nhiều phương pháp cụ thể. Bài giảng này đề cập đến hầu hết các kỹ thuật đã biết và bổ sung các kỹ thuật mới để giúp triển khai công nghệ hook đáng tin cậy hơn . Tính ổn định là yếu tố thiết yếu cho các ứng dụng phần mềm bảo mật.

Một bài giảng giải thích cách thức hoạt động

Bản thân công nghệ API hook đã có độ khó cao. Ngay cả các nhà phát triển C/C++ giàu kinh nghiệm cũng có thể thấy khó hiểu.

Tuy nhiên , nếu bạn thực sự hiểu các nguyên tắc, thì bản thân đoạn mã không hề khó. Vì vậy, tôi tập trung vào các nguyên tắc. Trên hết, tôi trình bày các ví dụ mã đã được chứng minh.

Tìm hiểu về những điều này

Giới thiệu về cấu trúc tệp PE IAT hook

Bài viết này giới thiệu ngắn gọn về định dạng PE, đây là định dạng của các tệp thực thi môi trường hệ điều hành Windows (.exe, .dll) và đề cập đến cách chặn các lệnh gọi hàm bằng cách thao tác IAT (Bảng địa chỉ nhập) .

Tuy nhiên, thay vì đi sâu vào định dạng PE và các lý thuyết liên quan, chúng tôi sẽ chỉ đề cập đến lý thuyết tối thiểu cần thiết để triển khai kỹ thuật Hook và do đó tập trung vào kết quả của việc chặn cuộc gọi.

Móc nội tuyến

Điều này được thực hiện bằng cách trực tiếp sửa đổi mã máy của hàm mục tiêu mà bạn muốn chặn các lệnh gọi. Trong một số trường hợp, điều này có thể làm giảm đáng kể tính ổn định của mục tiêu hook. Chúng tôi cũng giải thích cách giảm thiểu vấn đề này .

Ngoài ra, hầu hết các tài liệu được công bố trên Internet đều dựa trên môi trường x86, nhưng xét đến việc hầu hết các hệ thống đều là môi trường 64-bit, chúng tôi cũng sẽ đề cập đến cách triển khai các móc nối nội tuyến trên nền tảng x64 .

Bạn có thắc mắc nào không?

H. Tôi là sinh viên và muốn tìm việc tại một công ty như AhnLab. Khóa học này có hữu ích không?

Có sự khác biệt tùy thuộc vào lĩnh vực. Tuy nhiên, nếu bạn đang hy vọng tìm được việc làm trong lĩnh vực liên quan đến bảo mật máy tính cá nhân, nội dung được đề cập trong khóa học này là rất cần thiết. Nếu không có nó, bạn có thể gặp khó khăn trong việc tìm việc. Hơn nữa, nếu bạn muốn cạnh tranh hơn nữa, kinh nghiệm phát triển trình điều khiển hạt nhân cũng có thể là một yếu tố cần thiết.

H. Sau khi học lớp này, tôi có thể tạo ra một chương trình như V3 không?

Nó giúp phát triển một số, nếu không muốn nói là toàn bộ, các tính năng. Công nghệ API hook chỉ là một phần của tổng thể, chứ không phải là tất cả. Hơn nữa, cốt lõi của các hệ thống diệt virus như V3 nằm ở công cụ giám sát thời gian thực, được triển khai như một trình điều khiển kernel.

H. Tôi muốn trở thành chuyên gia phân tích phần mềm độc hại. Khóa học này có giúp ích gì cho tôi không?

Vâng, bạn đã đến đúng nơi rồi! Công nghệ API hook đôi khi được ví như "bông hoa của sự đảo ngược". Nó quan trọng và được sử dụng thường xuyên như chính bản thân nó. Nó giống như con dao sắc bén của đầu bếp Nhật Bản. Tôi hy vọng bạn sẽ biến khóa học này thành của riêng mình.

Những điều cần lưu ý trước khi tham gia khóa học

Môi trường thực hành

  • Hệ điều hành và Phiên bản (OS): Windows 11

  • Công cụ được sử dụng: Cộng đồng Visual Studio 2022

  • Thông số kỹ thuật của PC: Bất kỳ máy tính nào có thể chạy Visual Studio mà không gặp vấn đề gì đều đủ.

Tài liệu học tập

  • Tài liệu PPT sử dụng trong bài giảng được cung cấp ở định dạng PDF.

  • Ví dụ đầy đủ (x86, x64 được cung cấp riêng)

Kiến thức và biện pháp phòng ngừa của người chơi

  • Kỹ năng lập trình ngôn ngữ C ở mức độ mà bạn không gặp khó khăn khi sử dụng con trỏ
    (Trình độ lập trình C bắt đầu từ con số 0)

  • Kinh nghiệm đọc một số mã đã dịch ngược để gỡ lỗi (bắt buộc)

  • Hiểu biết về cấu trúc dữ liệu tuyến tính và kinh nghiệm triển khai danh sách liên kết trong C (bắt buộc)


  • Hiểu về việc thay đổi tên trong C++ (bắt buộc)

  • Kinh nghiệm lập trình hệ thống Windows (bắt buộc)

  • Kinh nghiệm lập trình socket đủ để hiểu các ví dụ trò chuyện TCP/IP đơn giản (tùy chọn)


Đã tạo khóa học này
Người chia sẻ kiến thức
👨‍💻

Tôi là Ho-seong Choi, 'Nhà phát triển giải trí' của kênh truyền hình Leisurely Developer.

  • Nhà phát triển tường lửa PC đầu tiên của Hàn Quốc (mà mọi người đều ghét)

  • Một nhà phát triển C/C++ 30 năm kinh nghiệm, đã nghiên cứu ngôn ngữ C từ năm 1992.

  • Một người có kinh nghiệm thực hiện nhiều dự án quốc gia và hơn 15 năm kinh nghiệm giảng dạy về phát triển !

  • Tác giả của cuốn sách giới thiệu ngôn ngữ C phổ biến , "Lập trình C: Hướng dẫn đọc đơn giản cho người mới bắt đầu"



Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Các nhà phát triển muốn hiểu sâu hơn về bản chất của cấu trúc và chức năng bên trong của các ứng dụng dựa trên C/C++

  • Bất cứ ai muốn phát triển phần mềm bảo mật

  • Bất kỳ ai muốn thực hiện kỹ thuật đảo ngược trong môi trường Windows

Cần biết trước khi bắt đầu?

  • Hiểu biết cao về ngôn ngữ C

  • Lập trình hệ thống Windows (trung cấp trở lên)

Xin chào
Đây là

36,737

Học viên

2,107

Đánh giá

1,093

Trả lời

4.9

Xếp hạng

24

Các khóa học

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^  

Chương trình giảng dạy

Tất cả

27 bài giảng ∙ (4giờ 6phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

25 đánh giá

4.8

25 đánh giá

  • light038368님의 프로필 이미지
    light038368

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    63% đã tham gia

    • nullnull8537
      Giảng viên

      良い評価をありがとうございます。:)

  • regniuslee7454님의 프로필 이미지
    regniuslee7454

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    • nullnull8537
      Giảng viên

      良い評価をありがとうございます。:)

  • pjoonheeq님의 프로필 이미지
    pjoonheeq

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    63% đã tham gia

    • nullnull8537
      Giảng viên

      良い評価をありがとうございます。:)

  • sh919park5281님의 프로필 이미지
    sh919park5281

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    33% đã tham gia

    • nullnull8537
      Giảng viên

      良い評価ありがとうございます。:)

  • aceoftop1975님의 프로필 이미지
    aceoftop1975

    Đánh giá 94

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    (25/06/29/日 08:51) 講義を聞いて、hookを理解しました。printf("Hello world"); は今まで簡単だと思っていましたが、とても複雑なものだったのですね。良い講義を作ってくださり、ありがとうございます。

    • nullnull8537
      Giảng viên

      ワオ!猛勉強モードで突っ走っていらっしゃるのですね。インコーディングを超え、APIフックまで手を広げられたのですね。熱い夏を学びに情熱を燃やすのも、素敵な選択ではないかと思います。私が応援します。ありがとうございます。:)

1.402.898 ₫

Khóa học khác của nullnull8537

Hãy khám phá các khóa học khác của giảng viên!