终于有点魄力开源了。谨以此薄码献给天下的母亲们 2012-5-13开放下载 33 Comments
A盾电脑防护 v0.2.5 26 Comments
下载地址:A盾电脑防护0.2.5.rar
近期准备将“A盾电脑防护”开源 9 Comments
ring0级暴力搜索内存检测系统隐藏进程(或Rootkit) 0 Comments
r0下FSD inline hook防删除 1 Comments
PspTerminateProcess结束进程 1 Comments
作者:Sysnap
不知道写什么好,,就把以前的代码修饰下拿上来....暴力搜索PspTerminateProcess..汗..并不是很好...有时候蓝屏....而且现在很多杀软都inline hook这个函数...所以基本觉得没什么用途了....不过代码当成驱动程序...本身还是可以学习的...特别是对学习驱动想入门来说.....框架都基本差不多了...... 主要是在用户态根据用户输入的进程名得到其PID,再把PID传给驱动程序,,,由驱动程序结束进程....呵呵..这里我帖驱动代码就好了... 驱动代码如下 |
PsLookupProcessByProcessId 0 Comments
作者:未知
调用完PsLookupProcessByProcessId之后记住要调用ObDereferenceObject,否则Object还会在内存中不被释放,进而导致调用这个API的进程在“退出”后,会有两种状态:在User层的状态是退出了,但在Kernel层的状态还是deleting(用softice的proc命令可以看到),这样当下次再访问这个进程的内存的时候就会蓝屏。奇怪的是在WinXP下才会这样,Win2000中貌似没事,不知道是巧合还是操作系统做了点什么手脚?(这也从另一个侧面反映出Win2000其实不够健壮),懒得细究了,反正弄清楚了也没法维护世界的和平。
NT下实现不通过注册表加载驱动的方法 0 Comments
作者:未知
译者按:本文提供了一种在win NT下悄声无息的加载“驱动”的方法。这里所将的“驱动”并不是指平常的驱动,而是指将程序载入系统的内核中,采用该方式将不通过任何注册表项,因此将无法使用任何方法(包括各种杀毒软件)查出这一加载项,达到隐藏自身的目的。为了翻译的方便,本人暂将里面提到的Driver直接译作“驱动”,本人E文也不是很好,之所以翻译这篇文章是想给大家提供以下参考。错译之处在所难免,希望各位兄台多多批评指正。
译文:
LIST_ENTRY结构 0 Comments
作者:未知
LIST_ENTRY是一个常见的 Windows 2000 数据类型是 LIST_ENTRY 结构,列表 2-7 给出了该结构的定义。内核使用该结构将所有对象维护在一个双向链表中。一个对象分属多个链表是很常见的, Flink 成员是一个向前链接,指向下一个 LIST_ENTRY 结构, Blink 成员则是一个向后链接,指向前一个 LIST_ENTRY 结构。通常情况下,这些链表都成环形,也就是说,最后一个 Flink 指向链表中的第一个 LIST_ENTRY 结构,而第一个 Blink 指向最后一个。这样就很容易双向遍历该链表。如果一个程序要遍历整个链表,它需要保存第一个 LIST_ENTRY 结构的地址,以判断是否已遍历了整个链表。如果链表仅包含一个 LIST_ENTRY 结构,那么该 LIST_ENTRY 结构必须引用其自身,也就是说, Flink 和 Blink 都指向其自己。
typedef struct _LIST_ENTRY
{
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY; KeServiceDescriptorTable 结构及修改内存保护写的方法 0 Comments
作者:未知
KeServiceDescriptorTable:是由内核(Ntoskrnl.exe)导出的一个表,这个表是访问SSDT的关键,具体结构是
typedef struct ServiceDescriptorTable {
PVOID ServiceTableBase;
PVOID ServiceCounterTable(0);
unsigned int NumberOfServices;
PVOID ParamTableBase;
}
其中,
ServiceTableBase :System Service Dispatch Table 的基地址。
NumberOfServices 由 ServiceTableBase 描述的服务的数目。
ServiceCounterTable 此域用于操作系统的 checked builds,包含着 SSDT 中每个服务被调用次数的计数器。这个计数器由 INT 2Eh 处理程序 (KiSystemService)更新。
ParamTableBase 包含每个系统服务参数字节数表的基地址。
System Service Dispath Table(SSDT):系统服务分发表,给出了服务函数的地址,每个地址4子节长。
System Service Parameter Table(SSPT):系统服务参数表,定义了对应函数的参数字节,每个函数对应一个字节。如在0x804AB3BF处的函数需0x18字节的参数。
SSDT Hide RegValue 0 Comments
fsd hook里获取文件全路径 0 Comments
作者:cmjrm888
以前有人跟我说在fsd hook里去获取文件的全路径非常的复杂,恰好这话又被我记住了。于是我在以前写的一个fsd hook的程序中凑合着使用了FILE_OBJECT里的FileName。但是今天上午我尝试了一下,原来获取全路径很简单。代码如下:
DeviceIoControl中的控制码 0 Comments
作者:未知
函数作用以及对应的数据结构值得参考
以下内容全部来自于MSDN,里面部分内容一时不知道怎么翻译,为了不浪费太多的时间,所以暂时用“暂缺”代替,以后有机会再补上。内容繁多,差错难免,不当之处,敬请指正。
一、DeviceIoControl()各参数的简单说明
利用DeviceIoControl()函数可以实现对系统硬件的操作,该函数通过向指定设备的驱动程序发送控制码从而让该设备执行相应的操作。函数原型为:
BOOL DeviceIoControl(
HANDLE hDevice,
DWORD dwIoControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned,
LPOVERLAPPED lpOverlapped
);
一句话让XueTr卸载不了我们的驱动 0 Comments
恢复tcpip.sys的dispatch hook 0 Comments
作者:未知
鬼影里的ZwSystemDebugControl 0 Comments
作 者: Fypher
/***************************************************************************************
*
* 分析了一下“鬼影”病毒,从里面扒了段代码出来。
*
* 该段代码调用 ZwDebugSystemControl 在 Ring3 恢复 SSDT,并摘除
* PsSetLoadImageNotifyRoutine、PsSetCreateProcessNotifyRoutine、
* PsSetCreateThreadNotifyRoutine 三个钩子。
*
* 代码里 bug 较多,我用注释标示出来了,保留原味儿,未做修改。
*
* 逆向 by Fypher
* http://hi.baidu.com/nmn714
*
****************************************************************************************/
windows内核 win7 和 xp下 hook过滤KiFastCallEntry的不同之处(远离360的hook) 0 Comments
老技巧csrss遍历进程,但是发现_CSR_PROCESS结构可获取的信息不是很多 0 Comments
作者: jasonnbfan
看到老帖csrss遍历进程挺有意思,随便写了个,确实能发现隐藏进程,比如启动SOD的od也能便利到PID和TId,但无法获取更多的信息,本想可以通过DebugFlags判断进程是否被调试,可惜完全不行...
遍历代码,lua写的...
3600safe0.2新界面预览 3 Comments
3600safeSDK扩展----(Mini 3600safe version) 0 Comments
/***
***
*** Copyright (C) 2011-2018 3600safe(http://www.3600safe.com/). All rights reserved.
***
***/
想开发属于自己的安全工具,又苦于时间和内核技术的限制而抱憾吗?
3600safeSDK.h 开放了3600safe的大部分功能,让你轻松就能写出属于自己的安全软件
助你完成你的“Anti-Rootkit Tool”的梦想
电脑已经成为生活的一部分,没有一款属于自己的安全工具/反病毒工具,你都不好意思说你是玩电脑的
//**********************************************************************
//3600safeSDK文件列表:
//**********************************************************************
C:.
│ readme.txt
│
├─example
│ │ 3600safeConsole.cpp //3600safeSDK实现3600safe枚举SSDT的例子
│ │ 3600safeConsole.h
│ │ 3600safeConsole.sln
│ │ 3600safeConsole.vcxproj
│ │ 3600safeKernelModule.h //3600safe的内核驱动模块
│ │ Install.cpp
│ │ Install.h
│ │ ntdll.lib
│ │
│ └─Release
└─include
3600safeSDK.h //3600safeSDK的头文件,里面包含了编程需要的数据结构,以及申请内存的大小限制


