04 2021 档案
摘要:x86 SSDT Hook 32位下进行SSDT Hook比较简单,通过修改SSDT表中需要hook的系统服务为自己的函数,在自己的函数中进行过滤判断达到hook的目的。 获取KeServiceDescriptorTable基地址 要想进行ssdt hook,首先需要获得SSDT表的基地址。 因为K
阅读全文
摘要:X86 在C:\Windwos\System32\中存放着系统所有的dll文件,这些dll文件导出相应的系统API接口函数供我们的应用程序调用。其中最重要的四个dll文件:kernel32.dll,user32.dll,gdi32.dll,以及最重要的ntdll.dll(kernel32.dll,u
阅读全文
摘要:输入法注入原理 IME输入法实际就是一个dll文件(后缀为ime),此dll文件需要导出必要的接口供系统加载输入法时调用。我们可以在此ime文件的DllMain函数的入口通过调用LoadLibrary函数来加载需要注入的dll。 输入法注入实现 ime文件需要导出必要的接口函数。 ImeConver
阅读全文
摘要:内核调用用户 正常的系统调用过程为Ring3->Ring0->Ring3,而KeUserModeCallback提供了一种Ring0->Ring3->Ring0的方式,即从内核去用户层执行代码。 KeUserModeCallback ( IN ULONG ApiNumber, //对应函数在Kern
阅读全文
摘要:windows操作系统初始化 windows操作系统再初始化的过程中,当内核完全初始化而且各个组件也已经准备好后会加载一个个用户进程smss.exe(会话管理器),此进程会接着调用NtSetSystemInformation并传入SystemRegistryAppendStringInformati
阅读全文
摘要:在内核中通过调用此函数来枚举windows系统中已经加载的内核模块。 NTSTATUS ZwQuerySystemInformation ( SYSTEM_INFORMATION_CLASS SystemInformationClass, PVOID SystemInformation, ULONG
阅读全文
摘要:监控进程 NTSTATUS PsSetCreateProcessNotifyRoutineEx( PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine, BOOLEAN Remove ); 通过PsSetCreateProcessNotifyRoutineE
阅读全文
摘要:策略:VC编译器x64平台不支持内联汇编,我们利用在Source文件中直接添加asm文件,直接在asm文件中写汇编代码,然后将asm文件编译为OBJ文件。然后就可以在c++文件中声明asm文件中的函数后直接使用asm文件中用汇编写的函数。 设置步骤 先在源文件中添加一个asm文件 然后右击文件设置属
阅读全文