模拟美萍加密狗--Rockey2虚拟狗(三)

    几经挣扎,我最终还是选择了虚拟设备的方法来模拟Rockey2加密狗。HID.DLL劫持+API劫持的办法技术上虽然简单些,但太繁琐了,不仅要转发大量的函数,还要Hook好几个API,向我这么懒的人可干不了这体力活,几经取舍还是选择了虚拟设备的方法,原因有一下几点:

1、劫持HID.DLL同样要分析描述符,并没有避开难点。相比Dll劫持+API劫持两项技术,写一个虚拟设备只需要攻破一个点,总体结构上简单了。昨天惧怕虚拟设备是因为从没做过USB,都说技术是一层窗户纸,静下心来慢慢分析,也没那么恐怖。

2、趁机学习一下Windows下的驱动编写(其实用的都是人家的框架,也没学着什么)

3、趁机学习一下USB通讯(这方面倒是真学到了不少)


    写虚拟狗首先要确认美萍认不认,从DSF的文档说明上看,虚拟设备的模拟是比较底层的,应用程序不会发现虚拟设备和真实物理设备的区别,就算有办法,估计美萍也不会费这么大事去识别的(当然,如果我真的成功了,估计美萍就要研究了,哈哈推动技术发展也是我的目的之一)。这里用到一个Tee8088大大的工具,其实就是一个劫持的HID.Dll,用来监听HID加密狗与狗通讯的。使用方法很简单,把这个HID.DLL考到美萍的目录下,正常运行美萍就行,监听到的数据会写在C盘根目录下的一个TXT里,实际使用了是另一个网友的改进版,输出的信息更全一点。一开始监听到的只有HidD_GetAttributes函数的调用,搜索监听到的VID、PID值发现是我的摄像头(哈哈,意外发现摄像头是HID设备。),运行插入虚拟狗的脚本(TestGenericHid.wsf)后出现了虚拟狗的VID、PID,我猜这是在枚举HID设备找狗 (后来OD看Rockey.dl也证实了我的想法),把HIDDevice.cpp 里的VID和PID改成R2的后(VID_096E PID_0201)监听数据多出来了HidD_GetPreparsedData 等函数的调用,依此确认虚拟设备原理上可行。这里有一点需要注意DSF运行时的文件夹里有一个默认的SoftHIDReceiver.dll,直接运行TestGenericHid.wsf脚本将调用这个dll,所以刚一开始时,发现改了HIDDevice.cpp里的VID PID居然不好用,还是例子里的值,用自己编译的SoftHIDReceiver.dll替换掉DSF文件夹里才成功。

    OK,既然可行那就一步步来吧,根据Rockey2的一般流程应该是先调用RY2_Find找狗,于是OD载入Rockey2.dll在RY2_Find开头打个断点,调试--调用Dll导出,选择RY2_Find,没有参数,调用时隐藏打钩,CALL!一步步跟看到了96E和201,是比较VID,PID,后面有个CALL就是就是进一步验证是否是R2了,跟进去发现只有HidP_GetCaps填充的数据结构HIDP_CAPS的FeatureReportByteLength=0x49是才能通过,于是修改报告描述符加一个Feature项目报表,Report Size =8位 Report Count=0x48(这样加上Report id的一字节正好等于0x49),再次编译虚拟HID设备,调用RY2_Find已经可以返回1了!下一步向RY2_Open进军!





模拟加密狗,实现加密狗的软复制. 安装指南: 1. 解压RAR文件。 2. 确认已经安装了最新的圣天诺加密锁驱动程序。 3. 在运行EDGESPRO11.EXE来读锁和解析数据之前,确认LPT或USB端口上连接有硬件锁。 4. 选择“Sentinel”选项签,在“新建Dng文件”选项中点击“保存”,选择路径位置 来新建一个保存最终结果的dng文件。然后点击“读锁和解析数据”按钮。耗费的时 间取决于加密算法类型以及有多少单元需要解析算法。 “使用指定的Developer Id”和“使用指定的Write Password”是高级选项,并不是 必选项。 “使用指定的Developer Id”选项:允许对没有硬件锁的模拟器进行数据读取和解析。 “使用指定的Write Password”选项:如果你知道并在此处输入WP,整个解析会跳过 对WP的解析,以加快进度。 5. 读锁和解析完成后,程序会对得到的数据进行加密,并保存到之前指定的路径位置。 6. 运行SENTEMUL2007.exe,选择“Driver”选项签,并点击“安装仿真驱动”按钮, 如果安装成功,则下方的仿真驱动状态会显示为“driver is installed”。 7. 现在你需要打开“Emulator"”选项签,然后点击“启动仿真服务”按钮。如果一切 顺利,你会看到“SENTINEL Emulator Service is running”的信息。 8. 打开“Dongles”选项签,点击“加载dump文件”按钮,打开之前指定路径位置上由 EDGESPRO11.EXE创建的Dng文件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值