API函数的调用过程

API函数的调用过程(ring3)

Windows API

  1. Application Programing Interface (应用程序接口) 简称API函数

  2. Windows 有多少个API?
    主要是存放在C:\WINDOWS\system32下面所有的dll

  3. 几个重要的dll
    Kernel32.dll:最核心的功能模块,比如管理内存,进程和线程相关的函数等.

User32.dll:是Windows用户界面相关的应用程序接口,如创建窗口和发送消息等.

GDI32.dll全称是Graphical Device Interface(图形设备接口),包含用于画图和显示

Ntdll.dll:大多数API都会通过这个dll进入内核(0环)

绝大部分核心功能是在0环实现的,3环只是使用了0环提供给他的一个接口.

Kernel32.dll ->ReadProcessMemory

在C:\WINDOWS\system32\目录下找到kernel32.dll模块,放到IDA中 查看ReadProcessMemory的代码

在这里插入图片描述

我们看到在用户层的核心功能模块中的ReadProcessMemory函数再将参数压栈后,又调用了另一个模块的函数NtReadVirtualMemory

ReadProcessMemory:
ring3所做的事情:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值