软件加密狗Rockey2复制破解源码分析

前段时间工作需要接触了一个程序,其中用到了Rockey2加密狗。
刚好借此机会学习了一下加密狗的一些基本知识,并对Rockey2的接口库Rockey2.dll进行了一些简单的分析和重写。


主要内容放在附件里了,包括三个程序,TrueRockey2,FakeRockey2,Rockey2Test

链接: https://pan.baidu.com/s/1_mlFwuU9ysCR6WT3fwB0wQ   提取码: 3tsm 


程序介绍:
TrueRockey2 顾名思议,这是真正的Rockey2.dll的源码,可以对真实的狗进行查找、读、写等操作
FakeRockey2 这个是假的Rockey2.dll,只提供了相应的接口,用来模拟Rockey2狗
Rockey2Test 这个是个简单的Rockey2的测试程序


真Rockey2的代码比较长,但也不复杂,跟普通的HID设备操作程序差不多,有兴趣的自己看一看
假Rockey2的代码就比较简单了,这里直接贴出来:

QQ截图20191024152142.png


假Rockey2的模拟方式非常简单,就是要啥给啥。
程序说要找狗,那就给它一个
程序说要写狗,那就把写的内容存起来先
程序说要读狗,那就返回点内容(自定义或之前写的内容)给它


上面是用了配置文件的方式来存储模拟狗数据,这对于字符串类的数据比较合适。
如果是二进制数据,可以换成普通的文件来存储就可以了。
Rockey2共有5个块,每块大小512字节,所以一个大小为2560字节的文件就可以模拟。
这样只需要修改数据文件就可以模拟修改狗内的数据,而不需要每次修改这个模拟的Rockey2程序。


对于不使用RY2_Transform的普通程序来说,只是Find/Read/Write的话,用“真Rockey2.dll+真狗”能做到的事,用一个假的Rockey2.dll就可以完全做到。
读者可以分别在使用真假Rockey2.dll的情况下运行Rockey2Test,可以看到效果完全是一样的。
而且大多数时候,这类程序都会拖着一个Rockey2.dll,直接用我们的假Rockey2.dll替换掉这个动态库是最简单的破解方法。


不过呢,Rockey2也比较老了,现在的狗大部分都不止是存储而已,基本都带有自己的处理器。
所以本代码也就是纯供学习,了解一下思路和基础知识,希望对感兴趣的人有点帮助。
对于需要硬复制狗的同学们,关注:逆向开发技术网


推荐

  • QQ空间

  • 新浪微博

  • 人人网

  • 豆瓣

取消