
Rootkit/驱动底层
文章平均质量分 56
sysprogram
这个作者很懒,什么都没留下…
展开
-
编译FileMon出错
<br />今天下载了FileMon,编译之后,提示一个错误信息<br /> <br />E:/Data/100397/2007112823434719/FileMon/sys>build<br />BUILD: Compile and Link for x86<br />BUILD: Loading c:/winddk/7600.16385.1/build.dat...<br />BUILD: Computing Include file dependencies:<br />BUILD: Start t原创 2010-06-29 16:42:00 · 1899 阅读 · 0 评论 -
booloader编写
nasm boot.asm -o boot.bin org 07c00h ; 告诉编译器程序加载到7c00处 mov ax, cs mov ds, ax mov es, ax call DispStr ; 调用显示字符串例程 jmp $ ; 无限循环DispStr: mov ax, BootMessage mov bp, ax ; ES:BP = 串地址 mo原创 2016-08-01 14:41:53 · 637 阅读 · 1 评论 -
获取ntoskrnl的基址
使用NtQuerySystemInformation来检索加载的模块,从加载模块里面搜索出ntoskrnl.exe模块 NTSTATUS Status; PUCHAR BaseAddress = NULL; NTSTATUS ntStatus; PMODULES pModules; ULONG NeededSize; pModules = (PMODULES)&pModules;原创 2016-08-01 14:12:55 · 1241 阅读 · 0 评论 -
VMware+Win7+windbg 双机调试
一. vmware 设置1. 添加串口2.选择输出到命名管道3. 命名管道名称 \\.\pipe\com_1, 该端是服务器, 另一端是虚拟机二. 系统设置bcdedit /copy {current} /d "Windows 7 copy"bcdedit /debug ONbcdedit /bootdebug ONbcdedit /dbgsetting原创 2016-06-16 17:13:09 · 3129 阅读 · 0 评论 -
Ring3下实现进程保护,不用hook
今天在分析一款木马的时候,发现做了进程保护,没加驱动,也没做hook,能做进程保护,感觉非常奇怪,原来是这么一回事,mark一下吧!#include "stdafx.h"#include #include #pragma comment(lib,"Advapi32.lib")BOOL Ring3ProtectProcess(){ HANDLE hProcess = ::Get原创 2014-05-04 16:42:54 · 7039 阅读 · 11 评论 -
DbgPrint 格式字符串
1) 直接打印字符串。DbgPrint(“Hello World!”);2) 空结尾的字符串,你可以用普通得C语法表示字符串常量 char variable_string[] = “Hello World”; DbgPrint(“%s”,variable_string);3) 空原创 2011-07-27 21:05:08 · 1306 阅读 · 0 评论 -
Win7下使用DbgPrint
在Win7下默认DbgPrint输出信息后,使用DbgView看不到内容。新建一个reg文件,双击导出就行了。 Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Con原创 2011-07-27 21:08:04 · 9343 阅读 · 1 评论 -
PspTerminateProcess 结束冰刃进程
#include typedef NTSTATUS (*PSPTERPROC) ( PEPROCESS Process, NTSTATUS ExitStatus );PSPTERPROC MyPspTerminateProcess ;NTSTATUSPsLookupProcessByProcessId( IN HANDLE ProcessId,原创 2010-03-31 12:25:00 · 1882 阅读 · 0 评论 -
Windbg+VirtualBox调用内核
已经快三年没搞驱动了,前阵子由于工作的需要,看了看自己以前的百度老博客,玩了玩内核Hook,没想到蓝屏了。这下没办法,得用Windbg调试下。我机器上装的是VirtualBox虚拟机。Windbg+VirtualBox调试内核,还真没玩过。以前玩的都是Windbg+VMware。 反正原理也差不多,试试看。。1、添加串口2、设置Boot.ini里的文件3、启动Windb原创 2011-06-24 23:20:00 · 2217 阅读 · 0 评论 -
通过进程ID得到进程名
在内核中,通过进程ID,得到进程名称,有多种方法。我使用了两种方法,第一种是使用ZwOpeProcess得到句柄然后ObReferenceObjectByHandle函数得到PEPROCESS结构,然后char *ProcessName = (char*)EProcess + 0x174;第二种方法是得到PEPROCESS结构之后,使用PsGetProcessImageFileName函数得到进程名。具体代码如下:#include#includeUCHAR* PsGetProcessImageF原创 2011-05-21 11:38:00 · 11027 阅读 · 1 评论 -
ntdll.dll和ntoskrnl.exe中的NT*和ZW*函数区别
<br />以NtOpenProcess和ZwOpenProcess为例,结合Windbg的lkd调试来说明<br />1、Q:ntdll.dll中的Nt*和Zw*区别?<br />lkd> u ntdll!zwopenprocess l4<br />ntdll!ZwOpenProcess:<br />7c92d5fe b87a000000 mov eax,7Ah //函数服务号<br />7c92d603 ba0003fe7f mov edx,of原创 2010-08-11 20:20:00 · 2917 阅读 · 0 评论 -
Zw*与Nt*的区别
<br />某些Zw*和Nt*函数既在ntdll.dll中导出又在ntoskrnl.exe中导出,他们有什么区别呢?<br />我们分三部分比较:<br />step 1: ntdll.dll中的Zw*和Nt*有什么区别?<br />step 2: ntoskrnl.exe中的Zw*和Nt*有什么区别?<br />step 3: ntdll.dll中的Zw*与ntoskrnl.exe中的Zw*有什么区别? <br /> ntdll.dll中的Nt*与ntoskrnl.exe中的Nt*有什么区别原创 2010-08-11 19:20:00 · 1506 阅读 · 0 评论 -
VMWare安装DOS系统实现文件共享
由于Virtual PC 2007之后不再支持dos下的文件共享功能,所以我就使用VMware安装和使用dos1.下载镜像http://www.bootdisk.com/bootdisk.htm下载DOS 6.22,下载回来的是一个boot622.exe文件, 放在vmware+xp里的运行,记得在vmware添加一个软盘在xp系统里双击运行boot622.exe, 会do原创 2016-08-02 13:24:58 · 2630 阅读 · 0 评论