摘要: 文章目录: 01. 博文简介:02. 环境及工具准备:03. 分析 TP 所做的保护:04. 干掉 NtOpenProcess 中的 Deep InLine Hook:05. 干掉 NtOpenThread 中的 Deep InLine Hook:06. 干掉 NtReadVirtualMemory 中的 InLine Hook:07. 干掉 NtWriteVirtualMemory 中的 InLine Hook:08. 干掉 KiAttachProcess 的 InLine Hook:09. 干掉 NtGetContextThread 中的 InLine Hook:10. 干掉 NtSetC阅读全文
posted @ 2012-06-12 09:04 小宝马的爸爸 阅读(17508) 评论(36) 编辑
摘要: 文章目录: 01. 博文简介:02. 环境及工具准备:03. 分析 TP 所做的保护:04. 干掉 NtOpenProcess 中的 Deep InLine Hook:05. 干掉 NtOpenThread 中的 Deep InLine Hook:06. 干掉 NtReadVirtualMemory 中的 InLine Hook:07. 干掉 NtWriteVirtualMemory 中的 InLine Hook:08. 干掉 KiAttachProcess 的 InLine Hook:09. 干掉 NtGetContextThread 中的 InLine Hook:10. 干掉 NtSetC阅读全文
posted @ 2012-06-09 09:29 小宝马的爸爸 阅读(51937) 评论(30) 编辑
摘要: 文章目录: 1. 下载 SQLite3 源码: 2. 下载 SQLite3.dll 文件: 3. 生成 SQLite3.lib 文件 : 4. 生成或者下载 SQLite3 Shell 文件 : 5. 创建数据库以及数据表: 6. 总结: 1. 下载 SQLite3 源码: ...阅读全文
posted @ 2012-03-31 10:24 小宝马的爸爸 阅读(12584) 评论(4) 编辑
摘要: 文章目录: 1. Demo 效果展示: 2. 进程和端口乱扯淡: 3. 查询进程和端口的 API 的介绍: 4. 根据进程 ID 获得该进程所打开的 TCP 和 UDP 端口: 5. 根据端口号来获得打开该端口号的进程: 6. 小结: 1. Demo 效果展示: ...阅读全文
posted @ 2012-02-20 13:12 小宝马的爸爸 阅读(8520) 评论(10) 编辑
摘要: 文章目录: 1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Application 有何妙用: 5. MJ0011 关于 Native Application 的文章整理: 6. 互联网上其他关于 Native Application 的文章整理:...阅读全文
posted @ 2011-09-21 08:56 小宝马的爸爸 阅读(10953) 评论(10) 编辑
摘要: 文章目录: 1. 引子: 2. 获取当前系统下所有进程: 3. 服务管理(安装,启动,停止,卸载): 4. 应用程序和内核程序通信: 5. 小结: 1. 引子: 关于这个 SSDT Hook 实现进程隐藏和进程保护呢,这是最后一篇博文了, 在文章的结...阅读全文
posted @ 2011-09-05 23:03 小宝马的爸爸 阅读(12628) 评论(87) 编辑
摘要: 文章目录:                   1. 引子 – Demo 实现效果: 2. 进程隐藏与进程保护概念: 3. SSDT Hook 框架搭建: 4. Ring0 实现进程隐藏: 5. Ring0 实现进程保护: 6. 隐藏进程列表和保护进程列表的维护: 7. 小结:                  1. 引子 – Demo 实现效果:                ...阅读全文
posted @ 2011-09-04 18:10 小宝马的爸爸 阅读(40554) 评论(97) 编辑
摘要: 文章目录:                   1. 引子 – Hook 技术: 2. SSDT 简介: 3. 应用层调用 Win32 API 的完整执行流程: 4. 详解 SSDT: 5. SSDT  Hook 原理: 6. 小结:            1. 引子 – Hook 技术:       前面一篇博文呢介绍了代码的注入技术(远程线程实现),博文地址如下: http:...阅读全文
posted @ 2011-09-03 08:17 小宝马的爸爸 阅读(50190) 评论(35) 编辑
摘要: 昨天吧 , 好像是 , 看了中國老一輩的程序員 , 哈哈哈 , 鮑嶽橋 , 王志東 , 求伯君 , 王江民 ……一大堆的牛人偶像 , 雖然我出生在 80 后的末端 , 但由於對程序的嚮往 , 自然上面的這些頂級人物也都是有所瞭解的 , 想當年求伯君 …… 哈哈哈 …… 而後今天去了趟白細胞 , 翻出了一些個陳年老帖子 , 這不 , 就把這中國頂級黑客的名單給翻出來了咯 ! 讓大家共享一下 , 雖然遠離里做 NET 的居多,但是我相信每個人的內心里都有那麼一個關於黑客病毒木馬之類的夢吧 !這一次也該來大飽一下國內的頂級黑客了哦 ~ (下面小菜以膜拜的心態再次曝光各位大牛 , 實屬不敬 , 若不幸阅读全文
posted @ 2011-08-13 00:41 小宝马的爸爸 阅读(30656) 评论(32) 编辑
摘要: 引子           前些日子由于项目要求,在网上到处找资料,于无意中发现了 CodeProject 上的一篇很老的文章,文章标题为: Three Ways to Inject Your Code into Another Process 这篇文章呢,出来很久咯,还是 03 年的文章了,可惜我弄底层弄得时间不久哦,不然应该早就看过这篇大作了, 由于是大作,而且出来的又久了,自然在网上也...阅读全文
posted @ 2011-08-11 02:56 小宝马的爸爸 阅读(23507) 评论(48) 编辑
摘要: 引子 近来在 Windows 下摆弄了一阵子的服务程序,有在 C++ 下弄服务的,也在 C# 下弄服务的, 感觉在 C# 下弄服务蛮简单的の,C/C++ 的麻烦蛮多の(当然我的服务所要求的功能也是很简单的,就启动个进程), 只不过服务在安装啊、调试啊、卸载啊上面麻烦的要死,弄得我烦躁起来了, 而且对于服务的安装和卸载中间还有一个小插曲的, 因为我很早就知道可以使用 SCM API 来完成服务的安...阅读全文
posted @ 2011-08-07 19:30 小宝马的爸爸 阅读(8247) 评论(8) 编辑
摘要: 以前一直都是用 VS2008 + DDKWizard + WinDbg 来进行驱动程序的开发调试的, 使用 DDKWizard 来搭配调试环境呢,在 VS2008 下也还算方便, 因为不需要自己去设置一些什么包含文件啊,源代码路径啊之类的就可以直接编译驱动程序源码, 安装好 DDKWizard 后,在 VS2008 中就会自动出现一个开发驱动程序的项目框架, 就跟选择创建 WinForm 应用程序...阅读全文
posted @ 2011-07-31 15:51 小宝马的爸爸 阅读(23496) 评论(36) 编辑
摘要: 引子 前阵子曾提到过为了应某些人的需要,得做几个毕业设计,其中一个就是 Windows 的进程管理工具 。 在前期的规划中是做成比较高难度的那种 Windows 进程管理工具, 也就是在底层使用驱动程序来获取进程的信息,而在上层则使用 VC 做用户界面层的。 至于为什么在底层要使用驱动程序来获取进程信息而不是直接在上层使用高级语言来直接获取进程信息, 那是因为在上层中通过高级语言来获取进程信息时无...阅读全文
posted @ 2011-06-04 15:01 小宝马的爸爸 阅读(5388) 评论(137) 编辑
摘要: 由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 Game Over 了, 同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了, 而且其中还是有很多需要注意的地方的,所以在这里顺便做一个环境搭建的总结, 以后再要用的时候也会很方便的。 WDK 调试环境搭建: 安装 WDK: 自然首先是安装 WDK 了,这个好办,直接到官网上下载,然后安装就 OK 了, 注意的是,在安装中最好...阅读全文
posted @ 2011-05-06 10:12 小宝马的爸爸 阅读(8675) 评论(14) 编辑
摘要: 内容要点展示:内核中文件的使用内核定时器的使用IO_WORKITEM 的使用文章概要最近一个项目呢,是做一个基于 TDI 的防火墙,而在该防火墙的实现过程中呢,有对文件的处理,因为这个防火墙中涉及到日志文件,黑名单文件,白名单文件的处理,所以整个的 TDI 防火墙中对于文件处理这一块,就涉及到文件的创建,打开,读取,写入等等文件操作。而在内核中处理文件呢,自然有其特殊的一面,所以不太好操作。同时还需要有定时器的处理以及 IRQL 的控制等细节。文件操作概要在 Windows 操作系统的内核环境中,对于文件的路径和在应用层中的表示是不同的,在应用层中,我们对于文件的路径很简单,比如:E:\Dri阅读全文
posted @ 2011-04-09 14:01 小宝马的爸爸 阅读(4213) 评论(2) 编辑
摘要: 回忆刚进公司那会儿,手头的第一个工作就是完成虚拟键盘,也就是通过驱动程序向键盘端口写入数据, 这份活至今记忆犹新,那会儿写的是个过滤驱动程序,也就是将我的虚拟设备绑定到真实的键盘设备上, 当驱动程序编译完成以后,我也总是通过下面的这个工具来安装驱动程序, 每编译好一次就使用这个工具重新安装驱动一次,然后通过 DbgView 来打印消息, 那会儿还真傻,为了弄出这么个虚拟键盘,都不晓得安装了驱动多少...阅读全文
posted @ 2011-03-31 21:43 小宝马的爸爸 阅读(7004) 评论(10) 编辑
摘要: 引子由于这阵子必须得做几个小东西才行,估计着呢,是要做个 Windows 的任务管理器出来才行,但是在功能上呢,又必须得比 Windows 任务管理器强大一点,说实在的,在 Windows 7 里面的 Windows 任务管理器在功能上已经很强大了,而我这里说的强大一点呢,并不是说要在功能上比 Windows 7 的任务管理器还有多一些,而是在仿照 Windows 任务管理器的同时实现一些 Windows 任务管理器还没有实现的功能,比如在内存的管理上,Windows 任务管理器并没有针对于每一个进程均有对应的内存显示,所以在这里就可以加上一个功能,比如可以实现,当用户选定一个进程后,我可以采阅读全文
posted @ 2011-02-27 17:50 小宝马的爸爸 阅读(14784) 评论(15) 编辑
摘要: 引子 WRK 是微软于 2006 年针对教育和学术界开放的 Windows 内核的部分源码, WRK(Windows Research Kernel)也就是 Windows 研究内核, 在 WRK 中不仅仅只提供了 Windows 内核模块的部分代码,其还提供了编译工具, 也就是通过这个编译工具,你可以将你的 WRK 编译成一个 EXE 文件, 也就是内核可执行模块,然后你可以利用这个 ...阅读全文
posted @ 2011-01-08 21:01 小宝马的爸爸 阅读(23592) 评论(13) 编辑
摘要: 引子 前面介绍的几种用于实现进程之间通信的方法都是比较正统的方式, 像剪贴板,命名管道这些都还是用得比较多的, 而这里将介绍的是一种比较偏门的方法来实现进程间的通信, 所谓偏门呢,自然就是用的少,能够不用就不要使用。 其实这种方法就是通过动态链接库来实现进程间的通信。                             动态链接库(DLL)概述               既然是要...阅读全文
posted @ 2011-01-03 13:22 小宝马的爸爸 阅读(7904) 评论(4) 编辑
摘要: 引子 好,到这里呢,就需要介绍实现进程间通信的第四种方式了, 也就是通过命名管道来实现,前面介绍的那三种方式呢,都是有缺陷或者说局限性太强, 而这里介绍的命名管道相对来说,在这方面就做得好很多了, 比如,剪贴板的话只能实现本机上进程之间的通信, 而邮槽的话虽然是可以实现跨网络之间的进程的通信, 但麻烦的是邮槽的服务端只能接收数据,邮槽的客户端只能发送数据,太悲剧了, 而对于匿名管道的...阅读全文
posted @ 2011-01-02 18:50 小宝马的爸爸 阅读(26685) 评论(5) 编辑