
驱动内核
文章平均质量分 63
W1nds
每天进步一点点。
展开
-
Zw函数与Nt函数的分别与联系
in ring3:lkd> ? ntdll!ZwOpenProcessEvaluate expression: 2089999739 = 7c92dd7blkd> ?ntdll!NtOpenProcessEvaluate expression: 208999973转载 2011-09-02 10:25:12 · 4008 阅读 · 1 评论 -
关于未导出函数与导出但是未文档化的函数
未公开的函数(导出未文档化)是已经导出了,但是不能直接使用。使用方法:1。在驱动层使用MmGetSystemRoutineAddress加函数名去获取函数的地址2。在应用层使用Loadlibrary和GetProcessAddress(事先当然要先定义好原型)未导出函数的使用比较麻烦,一般要先获取那个函数所在模块的基地址,然后再通过特征码去得到函数地址。或者在某个函数内部进原创 2011-11-10 14:27:47 · 3202 阅读 · 0 评论 -
Ring0上调用未导出Zw函数通用函数
转自虾总前段时间写的一段无聊代码,可能对大家有点用。用于在驱动里调用一些没有直接导出的Zw函数,如ZwProtectVirtualMemory。在此感谢alpha提供思路。BOOLEAN CallZwFunction(CONST CHAR *FunctionName,PVOID pCallRet,ULONG ArgNum,...){ char *vl; BOOLEAN retval转载 2011-11-09 14:15:35 · 4085 阅读 · 2 评论 -
windbg双机调试时对R3函数下断
对于刚接触windbg的童鞋可能想在双机调试的环境下查看某个用户态函数的反汇编,可能会直接下直接断点,这是会产生如下提示的错误 Bp expression ‘*******’ could not be resolved, adding deferred bp这是因为没有切换到用户环境。可依次执行如下命令kd> !process 0 0 explorer.exePROCESS 8原创 2011-11-08 22:57:18 · 4797 阅读 · 2 评论 -
简单实现了下SSDT SHADOW HOOK
介绍: SSDT SHADOW HOOK可用于安全软件窗口保护、安全输入、截屏保护等。例如:挂钩NtUserFindWindowEx、NtUserGetForegroundWindow、NtUserBuildHwndList、NtUserQueryWindow、NtUserWindowFromPoint、NtUserSetParent、NtUserPostMessage、NtUs原创 2011-11-03 16:13:44 · 11152 阅读 · 1 评论 -
做了个隐藏进程跟保护进程的小工具
原理就是HOOK了SSDT的NtQuerySystemInformation和NtTerminateProcess工具基本用处不大不过代码还是有值得学习的地方需要源码的可以留邮箱http://download.youkuaiyun.com/detail/evi10r/3693788原创 2011-10-02 12:01:05 · 5521 阅读 · 19 评论 -
认识WRK(简介和编译)
WRK 是微软于 2006 年针对教育和学术界开放的 Windows 内核的部分源码,WRK(Windows Research Kernel)也就是 Windows 研究内核,在 WRK 中不仅仅只提供 Windows 内核模块的部分代码,其还提供了编译工具,也就是通过这个编译工具,你可以将你的 WRK 编译成一个 EXE 文件,也就是内核可执行模块,然后你可以利用这个 EXE 文件来取代操作原创 2011-10-30 14:01:33 · 7065 阅读 · 2 评论 -
关于SSDT HOOK取消内存写保护的问题
有些人说不去掉也不会蓝屏,照样能HOOK成功确实,我当时也是这样过。。。不过拿给别人机器一测试就蓝了网上找到了MJ给出的答案:当使用大页面映射内核文件时,代码段和数据段在一块儿,所以页必须是可写的,这种情况下直接改是没有问题的HKEY_LOCAL_MA原创 2011-10-02 15:49:54 · 4639 阅读 · 0 评论 -
天书笔记(2)---使用C++开发内核程序
1.使用C接口的标准声明 在C++中使用C编写的接口,要在前面加 extern "c"。 extern "C"{#include };extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT dri原创 2011-08-18 20:59:53 · 1698 阅读 · 0 评论 -
天书笔记(1)---逆向C基础
还有两个星期去学校了,在剩下的几天时间边玩边看书,争取能把天书夜读给看完吧,有点逆向跟驱动基础,希望可以完成任务。优快云上做做笔记,会的也当复习下。1.VS编译器查看反汇编代码:F9下断,F5调试程序,“调试”--“窗口”--“反汇编”或是直接ALT+82.mov原创 2011-08-17 11:13:55 · 1512 阅读 · 0 评论 -
自写API绕过R3下所有HOOK
拿FindWindow来做测试,先OD跟一下HWND hWnd=::FindWindow(_T("SciCalc"),_T("计算器"));::SendMessage(hWnd,WM_CLOSE,NULL,NULL);为了方便分析参数,给FindWindow也传递了类名。OD载入,bp FindWindowW,运行后断下来,来到FindWindowW里面77D2C9C5 5原创 2011-11-09 13:42:16 · 6985 阅读 · 4 评论