강의

멘토링

로드맵

BEST
Security & Network

/

Computer Security

Windows API hooks that will change your life if you understand them

You will acquire the skills to develop a security system by learning how to intercept the process in which a specific application calls various API functions. ※Absolutely no abuse!!!

(4.8) 30 reviews

469 learners

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

Reviews from Early Learners

What you will learn!

  • How to intercept Windows API calls

  • 64bit based IAT hook, Inline hook

  • How to create a simple security program or malware

A double-edged sword, we'll teach you the skills of both security software developers and malware developers!

"Security technology and hacking technology are so similar that they're practically a sheet of paper apart."

This lecture on Windows API hook technology is designed to assist security software developers. This API hook technology has been around for a long time and is exploited by both good and bad actors. ※Abusion prohibited.

※Caution, some of the examples used in this lecture may be recognized as malware by Windows Defender!

I recommend this to these people

Security software developers
The person you want to be

API hook technology is a technique that must be known, especially for those who want to develop various security programs that operate on PCs .

This class will help you learn only the essentials you need to know.

Before learning reversing techniques
For those who want to study advanced theories in advance

You can analyze the internal structure of a function at the assembly level. Above all, you can understand internal structures not visible in high-level languages and modify them as needed.

As a result, you will be able to gain a high-level understanding and find the answer to the question, 'What is a function?' on your own.

How malware works
Anyone who wants to know

This provides some insight into how malware is injected and executed into legitimate programs . Indeed, many security software uses similar techniques.

However, this lecture does not cover what is required for malware development.

After class

  • You'll gain a new level of understanding of "functions." Perhaps, by the end of this lecture, your understanding of functions will be complete.

  • You'll learn how to go down to the lowest level and solve problems. You'll experience a whole new world you could never have imagined in the world of traditional high-level programming languages.


  • You can update and execute the code of a specific function without terminating the running program developed in C/C++.

Features of this course

Understanding Windows API hooks will change your life.

Provides several techniques for inline hooks

Even when using inline hook technology, there are many specific methods. This lecture covers most of the known techniques and adds new ones to help implement more reliable hook technology . Stability is essential for security software applications.

A lecture that explains how it works

API hook technology itself boasts a high level of difficulty. Even experienced C/C++ developers may find it difficult to understand.

However , if you truly understand the principles, the code itself isn't that difficult. For that reason, I focus on the principles. Above all, I present proven code examples.

Learn about these things

Introduction to PE file structure IAT hook

This article briefly introduces the PE format, which is the format of Windows OS environment executable files (.exe, .dll), and covers how to intercept function calls by manipulating the IAT (Import Address Table) .

However, rather than going into depth about the PE format and related theories, we will cover only the minimum theory required to implement the Hook technique and, as a result, focus on the results of intercepting calls.

Inline hook

This is implemented by directly modifying the machine code of the target function whose calls you want to intercept. In some cases, this can drastically reduce the stability of the hook target. We also explain how to minimize this issue .

Also, most of the materials published on the Internet are based on the x86 environment, but considering that most systems are already 64-bit environments, we will also cover how to implement Inline hooks on the x64 platform .

Do you have any questions?

Q. I'm a student who wants to get a job at a company like AhnLab. Will this course be helpful?

There are differences depending on the field. However, if you're hoping to find a job in a field dealing with PC-level security, the content covered in this course is essential. Without it, you may struggle to find a job. Furthermore, if you want to be even more competitive, kernel driver development experience may also be necessary.

Q. After taking this class, will I be able to create a program like V3?

It helps develop some, if not all, of the features. API hook technology is only a part of the whole, not everything. Furthermore, the core of antivirus systems like V3 lies in the real-time monitoring engine, which is implemented as a kernel driver.

Q. I want to become a malware analysis expert. Will this course help me?

Yes, you've come to the right place! API hook technology is sometimes described as the "flower of reversing." It's as important and frequently used as it is. It's like a Japanese chef's sharp knife. I hope you'll make this course your own.

Things to note before taking the course

Practice environment

  • Operating System and Version (OS): Windows 11

  • Tools used: Visual Studio 2022 Community

  • PC specifications: Anything that can run Visual Studio without any problems is sufficient.

Learning Materials

  • PPT materials used in the lecture are provided in PDF format.

  • Full example (x86, x64 provided separately)

Player Knowledge and Precautions

  • C language programming skills at a level where you have no difficulty using pointers
    (C programming level starting from scratch)

  • Experience reading some disassembled code for debugging purposes (required)

  • Understanding of linear data structures and experience implementing linked lists in C (required)


  • Understanding C++ name mangling (required)

  • Windows system programming experience (required)

  • Socket programming experience sufficient to understand simple TCP/IP chat examples (optional)


Created this course
Knowledge sharer is
👨‍💻

This is Ho-seong Choi, the 'Leisurely Developer' of Leisurely Developer TV.

  • Developer of Korea's first PC firewall (that everyone hates)

  • A 30-year C/C++ developer who has studied the C language since 1992.

  • A man with experience in carrying out numerous national projects and over 15 years of development lecture experience !

  • Author of the popular C language introductory book , "C Programming: A Simple Beginner's Guide to Reading"



Recommended for
these people

Who is this course right for?

  • Developers who want to gain a deep understanding of the internal structure and functions of C/C++ based applications.

  • Anyone who wants to develop security software

  • Anyone who wants to try reverse engineering in a Windows environment

Need to know before starting?

  • High level of understanding of C language

  • Windows system programming (intermediate or higher)

Hello
This is

39,181

Learners

2,381

Reviews

1,129

Answers

4.9

Rating

25

Courses

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

Curriculum

All

27 lectures ∙ (4hr 6min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

30 reviews

4.8

30 reviews

  • 황성주님의 프로필 이미지
    황성주

    Reviews 1

    Average Rating 4.0

    4

    100% enrolled

    • 널널한 개발자
      Instructor

      좋은 평가 고맙습니다. :)

  • shlim1님의 프로필 이미지
    shlim1

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

  • sungjae.jang님의 프로필 이미지
    sungjae.jang

    Reviews 4

    Average Rating 4.0

    4

    100% enrolled

    강의 만드시느라 고생하셨습니다. 제가 리눅스 시스템 프로그래밍에 약간의 경험이 있다보니 전체 내용을 이해하는데에는 큰 어려움은 없었습니다. 다만, 수강자분들이 다음에 공부할 것이 무엇인지 그 길을 찾는데 어려움이 있지 않을까 생각합니다. 사실은 제가 그런 느낌을 받긴 했거든요. 마지막 부분의 TCP 전송에 대한 hooking에서 MS에서 지원해주는 공식인터페이스가 있다고 언급해주신 부분을 LLM에 문의하니 WFP를 알려주네요. 이렇게, 다음 공부를 위한 공식적인 단어 몇개만 알려주셨어도 다음 과정을 찾아가는데 도움이될거 같습니다. 감사합니다.

    • 문제점에 대한 구체적인 피드백 진심으로 감사드립니다. 애석하게도 어느 정도 예상이 되었던 내용을 그대로 지적해주셨습니다. :) 이 강의는 정말로 API hook만 설명하고자 하였습니다. 잘 사용할 일이 없는 기술이고 이론으로 알아두는 것으로 충분하다 판단했습니다. 이것을 활용해 어떻게 사용하는 것인지 구체적인 수준으로 넘어갈 경우 강의가 아니라 기술 컨설팅 처럼 답변을 해야 할 상황이 올 것이라 우려한 점도 있습니다. 별 하나의 아쉬움을 기억하고 향후 강의제작에 참고하도록 하겠습니다. 다시 한 번 감사 말씀 드립니다. :)

  • 채광은님의 프로필 이미지
    채광은

    Reviews 1

    Average Rating 5.0

    5

    63% enrolled

  • 이형일님의 프로필 이미지
    이형일

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

$51.70

nullnull8537's other courses

Check out other courses by the instructor!