---
title: "Hooking技术"
author: "Perrin Yong"
author_profile: https://www.pystone.net/profile/
published_by: "Perrin Yong"
canonical: https://www.pystone.net/notes/hooking-techniques/
type: note
content_role: unspecified
visibility: public
id_stability: rename-stable
source_path: "10-计算机、信息技术与工程/01-系统基础与网络安全/计算机与操作系统/Hooking技术.md"
content_hash: e5cd18e8019f1ba5ca964cd81f62921ac6df39496105e73d2078564768bf36cb
knowledge_version: 224c990773de.5fa8af6e39fa
site_commit: 224c990773de166d23a886306577dd90379529ce
notes_commit: 5fa8af6e39fa3891d1b9b4832bfa6c4e0ecaaf0a
---
# Hooking技术

﻿# Hooking技术

> 创建时间：2022/2/26 18:55

* Term
    * Usages
      * debugging and extending functionality
      * benchmarking programs
      * used by malicious code
    * Methods
      * Source modification
      * Runtime modification
      *   * Ref

## Term

hooking - covers a range of techniques used to alter or augment the behaviour of an operating system, of applications, or of other software components by intercepting function calls or messages or events passed between software components.

### Usages

#### debugging and extending functionality

Examples:
intercepting keyboard or mouse event messages before they reach an application.
intercepting operating system calls in order to monitor behavior or modify the function of an application or other component

#### benchmarking programs

for example frame rate measuring in 3D games, where the output and input is done through hooking.

#### used by malicious code

For example, rootkits, pieces of software that try to make themselves invisible by faking the output of API calls that would otherwise reveal their existence, often use hooking techniques.

### Methods

#### Source modification

#### Runtime modification

####

## Ref

https://en.wikipedia.org/wiki/Hooking
