1.Windows API 

主要是存放在c:\WINDOWS\system32下面所有的dll

2.几个重要的DLL

Kernel32.dll:最核心的功能模块,比如管理内存、进程和线程相关的函数

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

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

2.分析ReadProcessMemory

拖入ida截图如下:

 

会跳转另一个模块ntReadVirtualMemory

实际上读取进程内存是在0环实现的,ntdll的NtReadVirtualMemory也没有干什么事情

.text:7C92D9E0                 mov     eax, 0BAh       ; NtReadVirtualMemory

这个和0BAh是函数的编号,只要进0环都要提供编号

.text:7C92D9E5                 mov     edx, 7FFE0300h

这个7FFE0300h也是一个函数,这个函数决定了用什么方式进零环

这几行代码的含义是,提供一个编号,找到一个函数,通过这个函数进入零环

练习:自己分析writeprocessmemory并且分析,自己重写三环调零环的实现过程,这样做避免别人对自己调用的函数挂钩子

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐