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并且分析,自己重写三环调零环的实现过程,这样做避免别人对自己调用的函数挂钩子