首页
社区
课程
招聘
[旧帖] [分享]机器狗的ring0代码---第1代(非常精减) 0.00雪花
发表于: 2009-8-13 21:16 3622

[旧帖] [分享]机器狗的ring0代码---第1代(非常精减) 0.00雪花

2009-8-13 21:16
3622

这个源代码是我反汇编第一代机器狗的,很老了,很适合我们新手。
其实我早就在看雪上注册了一个ID,不常用,但忘了是什么名了,这个月买了电脑,就从新注册个ID吧。(目的还是为了取得注册码,废话到此为止)

#include <ntddk.h>
(1)#define DR0_DEVICE_NAME                 "\\Device\\Harddisk0\\DR0"

NTSTATUS
(2)DriverEntry(
  IN OUT PDRIVER_OBJECT   DriverObject,
  IN PUNICODE_STRING     RegistryPath
  )
{
   (3)   NTSTATUS     ntStatus;
    PDEVICE_OBJECT DRO_DeviceObject = NULL;   // ptr to device object
    PFILE_OBJECT     DRO_FileObject;
    ANSI_STRING           SourceString;
  UNICODE_STRING DRO_DeviceName;   

(4)          RtlInitAnsiString(&SourceString, DR0_DEVICE_NAME);
          RtlAnsiStringToUnicodeString(&DRO_DeviceName, &SourceString, TRUE);

(5)IoGetDeviceObjectPointer(&DRO_DeviceName, 0x80,&DRO_FileObject, &DRO_DeviceObject);
(6)DRO_FileObject->DeviceObject->AttachedDevice=0;
(7)return STATUS_SUCCESS;
}

使用说明:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        将其编译成驱动,加载,就OK了,ring3层就用WinHex改写文件吧。

注释:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
由于给新手看(包括我),我注释详细点
(1)定义硬盘连接符,这个是windows系统的;
(2)驱动入口函数;
(3)定义许多变量;
(4)初始化字符串;
(5)根据设备名,取得驱动的文件对象和设备对象;
(6)把文件对象的设备对象的附加对象清零,穿透完成;
(7)不管如何,返回成功。

我来说说:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
机器狗是2009年的毒王,大家都很关注,所以弄这个来
原理是:
        以前的文件过滤驱动都是调用IoAttachDevice来附加驱动的,其最终会在要附加的驱动的对象的附加对象上填上驱动的对象,将其清零就可以了,非常简单。

字数贵精不贵多,祝看雪多出大牛,谢谢!


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (18)
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
2
这个早就人尽皆知了吧……
另外第一代机器狗驱动应该还有改IDT的代码,不过我没看明白其作用是什么。
2009-8-13 21:40
0
雪    币: 371
活跃值: (72)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
改IDT的代码的代码中,是有关内存的中断门,(page fail),可能是DRO_FileObject->DeviceObject->AttachedDevice=0中要改写内存,防蓝屏的吧,呵呵,大多数文章都说是检查IDT,去掉也可以。
2009-8-14 18:51
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还是不明白,一点都不明白。从那入手呢?
2009-8-14 20:13
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
卧槽,果然精简
2009-8-22 19:41
0
雪    币: 11
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看的不太懂呀
2010-3-25 10:54
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
7
精简 顶 好帖子
2011-9-29 11:11
0
雪    币: 11075
活跃值: (17602)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
暂时还看不懂啊,来学习一下
2011-10-14 14:36
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
That is used for me
2011-10-26 08:25
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
都是大牛啊  看看
2011-10-26 08:53
0
雪    币: 6
活跃值: (1141)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
取其精华啊,牛b
2011-10-26 09:12
0
雪    币: 334
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不知道是什么,要找些资料了解。
2011-10-26 12:38
0
雪    币: 292
活跃值: (153)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
It   can   Be   used!
2011-10-26 12:53
0
雪    币: 217
活跃值: (68)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
14
虽然是老帖子 但是还是有帮助 楼主威武~~~~
2011-11-22 16:42
0
雪    币: 81
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
楼主果然是牛人。。精简!
2011-11-22 16:46
0
雪    币: 76
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
2011-11-23 01:49
0
雪    币: 81
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
楼主能不能发一份比较全的代码给我分析下。
谢谢。邮箱:tytytytyty87@163.com
2011-11-23 18:14
0
雪    币: 43
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
非常强大,学习了。
2011-11-23 18:57
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
CDG
19
内核不懂,但是支持楼主
2011-11-26 00:14
0
游客
登录 | 注册 方可回帖
返回
//