终于有点魄力开源了。谨以此薄码献给天下的母亲们 2012-5-13开放下载 33 Comments

作者: A盾电脑防护   日期:2012年5月12日 18:15   分类:A盾电脑防护发布       1063 views
//************************************************************************************
//*
//*          A盾电脑防护 http://www.3600safe.com/
//*        
//*说明:
//*          终于有点魄力开源了。谨以此薄码献给天下的母亲们 2012-5-13。
//*
//*AD下:
//*          www.3600safe.com 是一个内核安全编程技术网站,收集了各种神牛的技术文章,
//*          搞内核编程的不妨把它当成一个资料库 :)
//*          
//************************************************************************************

阅读全文>>

A盾电脑防护 v0.2.5 26 Comments

作者: A盾电脑防护   日期:2008年12月29日 8:00   分类:A盾电脑防护发布       1461 views

*******************************************************************************************
A盾电脑防护:

官方网站:www.3600safe.com

支持系统:windows xp/2003/win7(32bit)

下载地址:A盾电脑防护0.2.5.rar

 

点击查看原图


****************************************************************************************
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2012-04-21 A盾电脑防护 v0.2.5:

"A盾电脑防护 v0.2.5"  

MD5: CAF8A97A2DF4B103581AB783E8983A78
SHA1: 468D13FBAD50BF34F4E3B06FD7C12DAEDD4FB7C7
CRC32: 361A1FFD

新增:
   
    1:查看进程线程
    2:占用文件句柄

修复:
  
    1:修复了界面的一个bug
    2:修复了A-ProtectSDK的一些bug

阅读全文>>

近期准备将“A盾电脑防护”开源 9 Comments

作者: A盾电脑防护   日期:2012年5月1日 19:04         372 views
“A盾电脑防护”开源计划(Free open-source anti rootkit software for winXP/2K3/7):

下了很大的决心,虽然没有用到什么高深的技术,很多代码也是从网上A的,

但是毕竟是自己花了好几个月的时间所写,从蓝屏到不蓝屏的高潮中体验到了无数快感。

“A盾电脑防护”经过了几个月的编写,更新,修改,从0.1beta,一路走到0.2.5,历经了28个版本,

基本上fixed了大部分蓝屏bug,能够稳定运行于xp/2003/win7系统。

现在“A盾电脑防护”遵守“取之网络,还于网络”的思想,决定开源。

这份代码对于内核编程初学者来说,是一份极具参考价值的代码,

希望能帮助到刚入门的内核编程的朋友。

如果有什么问题,或者希望跟我一起分享你修改之后的代码,请发邮件 asm32asm#gmail.com

Good luck。

ring0级暴力搜索内存检测系统隐藏进程(或Rootkit) 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 18:07   分类:进程       194 views

作者:自由天空

 

 

下面看代码吧,没时间了,等下十点还要上课,有不明白的可以留言。我会解答的。
 
不过这种方法还是很容易躲过,详细就不公布出来了,看来还是要找另外一种方法了。

阅读全文>>

r0下FSD inline hook防删除 1 Comments

作者: A盾电脑防护   日期:2012年5月1日 18:06   分类:文件/NTFS/ATAPI       88 views

作者:炉子

 

只拦截了Ntfs.sys上的,FastFat同Ntfs。感觉更像是一个inline hook的例子 呵呵 :)

阅读全文>>

PspTerminateProcess结束进程 1 Comments

作者: A盾电脑防护   日期:2012年5月1日 18:05   分类:进程       64 views

作者:Sysnap

 

  不知道写什么好,,就把以前的代码修饰下拿上来....暴力搜索PspTerminateProcess..汗..并不是很好...有时候蓝屏....而且现在很多杀软都inline hook这个函数...所以基本觉得没什么用途了....不过代码当成驱动程序...本身还是可以学习的...特别是对学习驱动想入门来说.....框架都基本差不多了......

主要是在用户态根据用户输入的进程名得到其PID,再把PID传给驱动程序,,,由驱动程序结束进程....呵呵..这里我帖驱动代码就好了...

驱动代码如下

阅读全文>>

PsLookupProcessByProcessId 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 18:04   分类:内核基础/内核Hook       58 views

作者:未知

 

调用完PsLookupProcessByProcessId之后记住要调用ObDereferenceObject,否则Object还会在内存中不被释放,进而导致调用这个API的进程在“退出”后,会有两种状态:在User层的状态是退出了,但在Kernel层的状态还是deleting(用softice的proc命令可以看到),这样当下次再访问这个进程的内存的时候就会蓝屏。奇怪的是在WinXP下才会这样,Win2000中貌似没事,不知道是巧合还是操作系统做了点什么手脚?(这也从另一个侧面反映出Win2000其实不够健壮),懒得细究了,反正弄清楚了也没法维护世界的和平。

阅读全文>>

NT下实现不通过注册表加载驱动的方法 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 18:02   分类:内核基础/内核Hook       146 views

作者:未知

 

译者按:本文提供了一种在win NT下悄声无息的加载“驱动”的方法。这里所将的“驱动”并不是指平常的驱动,而是指将程序载入系统的内核中,采用该方式将不通过任何注册表项,因此将无法使用任何方法(包括各种杀毒软件)查出这一加载项,达到隐藏自身的目的。为了翻译的方便,本人暂将里面提到的Driver直接译作“驱动”,本人E文也不是很好,之所以翻译这篇文章是想给大家提供以下参考。错译之处在所难免,希望各位兄台多多批评指正。

译文:

阅读全文>>

LIST_ENTRY结构 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 18:01   分类:内存       50 views

作者:未知

 

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

作者: A盾电脑防护   日期:2012年5月1日 17:59   分类:Ntos/SSDT       40 views

作者:未知

 

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

作者: A盾电脑防护   日期:2012年5月1日 17:58   分类:Ntos/SSDT       48 views
作者:未知

阅读全文>>

fsd hook里获取文件全路径 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 17:56   分类:文件/NTFS/ATAPI       60 views

作者:cmjrm888


以前有人跟我说在fsd hook里去获取文件的全路径非常的复杂,恰好这话又被我记住了。于是我在以前写的一个fsd hook的程序中凑合着使用了FILE_OBJECT里的FileName。但是今天上午我尝试了一下,原来获取全路径很简单。代码如下:

阅读全文>>

DeviceIoControl中的控制码 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 17:55   分类:内核基础/内核Hook       60 views

作者:未知

 

函数作用以及对应的数据结构值得参考

 

以下内容全部来自于MSDN,里面部分内容一时不知道怎么翻译,为了不浪费太多的时间,所以暂时用“暂缺”代替,以后有机会再补上。内容繁多,差错难免,不当之处,敬请指正。

 

一、DeviceIoControl()各参数的简单说明

 

    利用DeviceIoControl()函数可以实现对系统硬件的操作,该函数通过向指定设备的驱动程序发送控制码从而让该设备执行相应的操作。函数原型为:

BOOL DeviceIoControl(

    HANDLE hDevice,

    DWORD dwIoControlCode,

    LPVOID lpInBuffer,

    DWORD nInBufferSize,

    LPVOID lpOutBuffer,

    DWORD nOutBufferSize,

    LPDWORD lpBytesReturned,

    LPOVERLAPPED lpOverlapped

);


阅读全文>>

一句话让XueTr卸载不了我们的驱动 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 17:53   分类:内存       129 views
作者:KiDebug

阅读全文>>

恢复tcpip.sys的dispatch hook 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 17:50   分类:内存       54 views
作者:未知

阅读全文>>

鬼影里的ZwSystemDebugControl 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 17:46   分类:内核基础/内核Hook       82 views

作 者: Fypher

 

/***************************************************************************************

*

*    分析了一下“鬼影”病毒,从里面扒了段代码出来。

*

*    该段代码调用 ZwDebugSystemControl 在 Ring3 恢复 SSDT,并摘除

*    PsSetLoadImageNotifyRoutine、PsSetCreateProcessNotifyRoutine、

*    PsSetCreateThreadNotifyRoutine 三个钩子。

*

*    代码里 bug 较多,我用注释标示出来了,保留原味儿,未做修改。

*

*    逆向 by Fypher

*    http://hi.baidu.com/nmn714

*

****************************************************************************************/

阅读全文>>

windows内核 win7 和 xp下 hook过滤KiFastCallEntry的不同之处(远离360的hook) 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 17:42   分类:内核基础/内核Hook       78 views

作 者: basketwill

 

我们先看下hook  kiFastCallentry 点的汇编代码:

阅读全文>>

老技巧csrss遍历进程,但是发现_CSR_PROCESS结构可获取的信息不是很多 0 Comments

作者: A盾电脑防护   日期:2012年5月1日 17:40   分类:进程       55 views

作者: jasonnbfan

 

看到老帖csrss遍历进程挺有意思,随便写了个,确实能发现隐藏进程,比如启动SOD的od也能便利到PID和TId,但无法获取更多的信息,本想可以通过DebugFlags判断进程是否被调试,可惜完全不行...

 

遍历代码,lua写的...

阅读全文>>

3600safe0.2新界面预览 3 Comments

作者: A盾电脑防护   日期:2012年3月22日 22:08   分类:A盾电脑防护花边新闻       258 views
点击查看原图

3600safeSDK扩展----(Mini 3600safe version) 0 Comments

作者: A盾电脑防护   日期:2012年3月11日 16:52   分类:A盾电脑防护花边新闻       281 views

/***
***
*** 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的头文件,里面包含了编程需要的数据结构,以及申请内存的大小限制