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

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

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