首页
社区
课程
招聘
什么是狗驱动?
2005-1-10 00:31 19812

什么是狗驱动?

2005-1-10 00:31
19812
有感于坛子上诸多兄弟纷纷重写驱动成功,小第不才,想请教一下什么叫狗驱动?
    R4狗的RYDLL32.DLL,微狗的WIN32DLL.DLL,S3狗的SENSE3.DLL是狗的驱动程序吗?
    非也非也,那不过是狗的用户接口而已,真正驱动这些狗的是Rockey9X.vxd、Rockey4.sys、Rockey4usb.sys、sense3.vxd、sense3.sys、host95.vxd、rcmhdog.sys、rcusbwdm.sys等等VXD或SYS文件。
    正是这几个文件完成对端口等资源的访问,完成狗与用户的数据交换。简单举个例子来说,比如我有一只R4的狗,因为特殊的原因(比如提供给人做破解被软件公司发现),然后这只狗的硬件流水号被封杀了,可加密程序跟本没有通过
RYDLL32.DLL来读狗(再假设这个软件有一个疯狂的外壳或者有频繁的升级),我们应怎么处理?

    答案就是真正地改写驱动!

    以下部分只会用OD的请略过,因为ring3的调试器是根本跟踪不到0级的!

    用Sost-ice通过跟踪狗的真正的驱动程序,通常是在deviceiocontrol后用f8细跟,我们会断在VXD或SYS文件中,查找真正读写狗的调用吧。R4狗的读写调用是一个多功能函数,一个函数完成所有功能,大大方便了我们的调试。
   跟踪到读狗的CALL(怎么跟踪到就是功力所在了,嘿嘿),我们可以在堆栈中发现R4的数据接口原来正裸露在我们的面前!

     Rockey(WORD function, WORD* handle, DWORD* lp1,  DWORD* lp2, WORD* p1, WORD* p2, WORD* p3, WORD* p4, BYTE* buffer)

    当查狗时,查找锁
    输入参数:
    function = 1
    *p1 = pass1
    *p2 = pass2
    *p3 = pass3
    *p4 = pass4
    返回:
    *lp1 为锁的硬件 ID
    返回为 0 表示成功, 其它为错误码
    我们在*p1、*p2可以看到读狗的一级口令,读完狗后*lp1会返回当前狗的硬件ID,也就是流水号了。
    开锁时是这样的:
    打开锁
    输入参数:
    function = 3
    *p1 = pass1
    *p2 = pass2
    *p3 = pass3
    *p4 = pass4
    *lp1 = 硬件 ID
    返回:
    *handle 为锁的句柄
    返回为 0 表示成功, 其它为错误码
    通过开锁操作,我们得到了锁的句柄,以后对锁的操作都将是对这个句柄的操作了。
    比如我们看看怎么读锁的吧:
    读锁
    输入参数:
    function = 5
    *handle = 锁的句柄
    *p1 = pos
    *p2 = length
    buffer = 缓冲区的指针
    返回:
    buffer 中添入读入的内容
    返回为 0 表示成功, 其它为错误码
   
   再看看R4引以为傲的种子码:
   种子码
    function = 8
    *handle = 锁的句柄
    *lp2 = 种子码
    返回:
    *p1 = 返回码1
    *p2 = 返回码2
    *p3 = 返回码3
    *p4 = 返回码4
    返回为 0 表示成功, 其它为错误码
    读锁前的*lp2中就是种子,读完锁*p1 *p2 *p3 *p4分别就是得到的四个种子码了!

    当一切数据尽览无余时,我们还需要什么?回到刚刚的问题,我们想要修改流水号去欺骗软件,那在查狗或开狗后将我们伪造的流水传递回去不就OK?不过新的问题好象出来了,如果查狗时改了流水,开狗时会找不到狗的,因为我们的狗本来就不是这个流水,那么在开狗前显然要把这个假流水改回来!这样就真正解决了我们刚刚的问题!
    写这个短文不过有感而发,其实上面的一切在用户程序中也是基本一样的,不过如果用户程序有很难处理的壳或者升级频繁时,我们才有必要改写驱动。
   当驱动在你手中控制自如,用户程序与狗的数据交换透明在你眼前时,狗不再那么可怕了。(修改驱动造成的蓝屏死机以及进一步的CPU烧毁等概与本文无关,请勿来信问为什么)

    顺便做个小广告(看雪别封我ID哈,呵呵):双星五年磨砺,综合目前所有加密狗优缺点,打造出基于单片机加密的第四代狗中最强悍一款USB加密狗,年后即将推出,欢迎搞开发有用狗需求的朋友与我们联系!

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞8
打赏
分享
最新回复 (27)
雪    币: 414
活跃值: (531)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
nig 4 2005-1-10 07:53
2
0
###我们会断在VXD或SYS文件中

在9X中使用VXD技术,在NT以上用SYS的技术来进行层底的访问.
如果要修改时请注意不同的操作系统.

调试环境:建议使用2000 Server(或Pro) 打SP4补丁,+ SoftIce 2.7 (3.01)做调试.因为在NT以上,常用的调试软件只有Si可以进入ring 0的.9X下TR 的Ctrl + M可以进入ring 0级. 当然9X的还不少.

Si的程序要打上适当的补丁包,要不总是会有不少问题.
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
great123 2005-1-10 09:09
3
0
无所谓阿,不管是哪种,我们的目的就是让它正确的运行起来.

BTW:你说的那个狗跟阿拉丁的狗比起来有多少差距?
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hhtcb 2005-1-10 09:24
4
0
有个问题请教!
如果你都知道狗的数据:如硬件ID,一级密码、高级密码等数据
具体如何改写!给内存变量负值,不是这样吧!
请指教,谢谢!
雪    币: 225
活跃值: (146)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
ytcswb 3 2005-1-10 11:23
5
0
ding! 感谢奉献.....
雪    币: 1161
活跃值: (630)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
yaoyuan[CCG] 6 2005-1-10 12:06
6
0
阿拉丁的狗和我们开发的狗从强度上讲,应根本不是一个级别的产品。hasp用到的技术应可以说是比较落后的了。
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
great123 2005-1-10 12:31
7
0
哦,那我有兴趣帮你测试你的狗,怎么联系你?
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hhtcb 2005-1-10 15:45
8
0
我查了一下,我这边的Rockey4的狗驱动库是:rockeynt.sys rockvdd.dll rockusb.sys

雪    币: 3007
活跃值: (3552)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 5 2005-1-10 17:51
9
0
最初由 yaoyuan[CCG] 发布
有感于坛子上诸多兄弟纷纷重写驱动成功,小第不才,想请教一下什么叫狗驱动?
R4狗的RYDLL32.DLL,微狗的WIN32DLL.DLL,S3狗的SENSE3.DLL是狗的驱动程序吗?
非也非也,那不过是狗的用户接口而已,真正驱动这些狗的是Rockey9X.vxd、Rockey4.sys、Rockey4usb.sys、sense3.vxd、sense3.sys、host95.vxd、rcmhdog.sys、rcusbwdm.sys等等VXD或SYS文件。
正是这几个文件完成对端口等资源的访问,完成狗与用户的数据交换。简单举个例子来说,比如我有一只R4的狗,因为特殊的原因(比如提供给人做破解被软件公司发现),然后这只狗的硬件流水号被封杀了,可加密程序跟本没有通过
RYDLL32.DLL来读狗(再假设这个软件有一个疯狂的外壳或者有频繁的升级),我们应怎么处理?
........


看来我得跟老大忙活了,过年好,年后忙――ABC。
雪    币: 1866
活跃值: (95)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
dalao 1 2005-1-10 23:12
10
0
补充一下!如果是直接改狗的原始驱动改的时候一定要注意代码重定位的问题!不然蓝屏没商量!最好是增加一块新空间来写代码!
雪    币: 244
活跃值: (105)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
脱壳请教 1 2005-1-10 23:28
11
0
呵呵,想不到YAOYUAN还是把这个文章放出来了!
雪    币: 85496
活跃值: (198820)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
linhanshi 2005-1-11 00:42
12
0
最初由 yaoyuan[CCG] 发布
有感于坛子上诸多兄弟纷纷重写驱动成功,小第不才,想请教一下什么叫狗驱动?
R4狗的RYDLL32.DLL,微狗的WIN32DLL.DLL,S3狗的SENSE3.DLL是狗的驱动程序吗?
非也非也,那不过是狗的用户接口而已,真正驱动这些狗的是Rockey9X.vxd、Rockey4.sys、Rockey4usb.sys、sense3.vxd、sense3.sys、host95.vxd、rcmhdog.sys、rcusbwdm.sys等等VXD或SYS文件。
正是这几个文件完成对端口等资源的访问,完成狗与用户的数据交换。简单举个例子来说,比如我有一只R4的狗,因为特殊的原因(比如提供给人做破解被软件公司发现),然后这只狗的硬件流水号被封杀了,可加密程序跟本没有通过
RYDLL32.DLL来读狗(再假设这个软件有一个疯狂的外壳或者有频繁的升级),我们应怎么处理?
........


ok!!!
I know you from :linhanshi@yahoo.com.cn
雪    币: 159
活跃值: (69)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
yongpeng 1 2005-1-11 15:29
13
0
看到高手出招了,哈哈,学习....
雪    币: 85496
活跃值: (198820)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
linhanshi 2005-1-11 22:47
14
0
我今天看了又看文章......
雪    币: 217
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
骨灰C 2005-1-12 08:46
15
0
是接口的啊
雪    币: 4611
活跃值: (1993)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
oep1 4 2005-1-12 12:31
16
0
驱动(.SYS),用WIN32DASM的静态反编译就是驱动的程序流程吗?

用32DASM反编译过一个S3的SYS,看起来很费力。
雪    币: 258
活跃值: (230)
能力值: ( LV12,RANK:770 )
在线值:
发帖
回帖
粉丝
qiweixue 19 2005-1-12 12:39
17
0
最初由 骨灰C 发布
是接口的啊

嘿嘿,有PLMM在!!
支持一把!!
来一篇介绍你那狗驱动接口的多态吧~~,看看有多变态!!!
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
螳螂 2005-1-12 16:30
18
0
我懂了,写此文的真正目的是为了后面的广告

如果不是为了来做广告,楼主可能不会写这些内容的:D
雪    币: 227
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
vcboy 2005-1-12 17:41
19
0
:D 其实只要做假的结口就可以完全搞定!!~~~
雪    币: 1161
活跃值: (630)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
yaoyuan[CCG] 6 2005-1-12 17:50
20
0
双星的产品还需要做广告吗?
雪    币: 227
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
vcboy 2005-1-12 18:26
21
0
:D 哈哈哈~~~~,20楼说的没有错。
而且这也算不上什么很深的文章!~~
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
螳螂 2005-1-13 10:24
22
0
10楼的签名似乎违规了
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无名人 2005-1-15 06:30
23
0
收藏!谢谢!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kunyuan 2005-1-21 17:58
24
0
请问楼主,你的加密产品与现在主流的产品区别在哪里,好在哪里,期待中
雪    币: 425
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
鸡蛋壳 2005-1-21 18:47
25
0
最初由 kunyuan 发布
请问楼主,你的加密产品与现在主流的产品区别在哪里,好在哪里,期待中


区别在于他不是主流,人们对他的研究几乎等于零,所以可以顶上一段美好的时光。
游客
登录 | 注册 方可回帖
返回