首页
社区
课程
招聘
[原创]真假Rockey2完整源码
发表于: 2018-3-23 11:48 18568

[原创]真假Rockey2完整源码

2018-3-23 11:48
18568
前段时间工作需要接触了一个程序,其中用到了飞天诚信的Rockey2加密狗。
以前对加密狗接触比较少,刚好借此机会学习了一下加密狗的一些基本知识,并对Rockey2的接口库Rockey2.dll进行了一些简单的分析和重写。
主要内容放在附件里了,包括三个程序,TrueRockey2,FakeRockey2,Rockey2Test

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

真Rockey2的代码比较长,但也不复杂,跟普通的HID设备操作程序差不多,有兴趣的自己看一看
假Rockey2的代码就比较简单了,这里直接贴出来:
int WINAPI RY2_Find()
{
	//返回值表示找到的狗的个数,返回1表示找到了一个狗
	return 1;
}

int WINAPI RY2_Open(int mode,DWORD uid,DWORD *hid)
{
	//返回值表示打开的狗的序号,返回0表示打开第0个狗成功,并返回HID的值
	*hid = 0x11223344;
	return 0;
}

void WINAPI RY2_Close(int handle)
{
	//do nothing
}

int WINAPI RY2_GenUID(int handle,DWORD *uid, char *seed,int isProtect)
{
	return RY2_SUCCESS;
}

int WINAPI RY2_Read(int handle,int block_index,char *buffer512)
{
	//如果是字符串的话,从配置文件中读取比较方便
	//否则可以修改为从文件中读取,可自行发挥
	char szBuffer[512] = {0};
	char szBlockName[64] = {0};
	sprintf(szBlockName,"Block%d",block_index);
	GetPrivateProfileString("CONFIG",szBlockName,"",szBuffer,512,g_szConfigFilePath);
	strcpy(buffer512,szBuffer);
	return RY2_SUCCESS;
}

int WINAPI RY2_Write(int handle,int block_index,char *buffer512)
{
	char szBlockName[64] = {0};
	sprintf(szBlockName,"Block%d",block_index);
	WritePrivateProfileString("CONFIG",szBlockName,buffer512,g_szConfigFilePath);
	return RY2_SUCCESS;
}

int WINAPI RY2_Transform(int handle, int len, BYTE *data)
{
	return RY2_SUCCESS;
}

int WINAPI RY2_GetVersion(int handle)
{
	//要求返回版本号,这里随便给一个
	//某些版本的Rockey2.dll提供的该函数接口可能不一样
	return 0x010F;
}

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

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

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

不过呢,Rockey2也比较老了,现在的狗大部分都不止是存储而已,基本都带有自己的处理器。
所以本代码也就是纯供学习,了解一下思路和基础知识,希望对感兴趣的人有点帮助。
对于需要硬复制狗的同学们,万能的淘宝上是可以定制UID和HID的哦。

顺便吐槽一下看雪的编辑器真的挺不好用的,自动吃回车,插入的代码段也看不到效果。。。预览功能也没找到

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

最后于 2018-3-23 11:49 被achillis编辑 ,原因:
上传的附件:
收藏
免费 3
支持
分享
最新回复 (20)
雪    币: 7903
活跃值: (3836)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好东西  必须顶!
2018-3-23 12:14
0
雪    币: 862
活跃值: (329)
能力值: ( LV9,RANK:165 )
在线值:
发帖
回帖
粉丝
3
哈哈,赞一个
2018-3-23 12:37
0
雪    币: 1201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
说的好,鼓掌!
2018-3-23 12:47
0
雪    币: 421
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不错,很有价值,赞一个,这里面水很深……………
2018-3-23 14:26
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
赞一个
2018-3-23 14:39
0
雪    币: 60
活跃值: (1010)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个狗没有内部运算?
2018-3-23 16:53
0
雪    币: 44
活跃值: (641)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
yangya 这个狗没有内部运算?
可以有变换算法!这样就不管用了!
2018-3-29 18:28
0
雪    币: 2
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
现在有rockey8了,楼主可以搞一搞。
最后于 2018-4-4 16:47 被梧桐絮编辑 ,原因:
2018-4-4 16:47
0
雪    币: 223
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
先顶一个      有yt88教程不      从简单的入手
2018-6-7 00:06
0
雪    币: 310
活跃值: (2227)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
感谢楼主分享
2018-6-7 11:19
0
雪    币: 0
活跃值: (221)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这个真不错 谢谢楼主 顾名思义 模拟啊
2018-12-7 04:47
0
雪    币: 31
活跃值: (87)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
13
mark 感谢分享
2018-12-11 00:19
0
雪    币: 2223
活跃值: (866)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
感谢分享,这个确实是好东西!
2018-12-17 17:36
0
雪    币: 175
活跃值: (2326)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
没有模拟过R2狗,模拟一个试试。
2019-10-18 14:14
0
雪    币: 8635
活跃值: (4825)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jgs
16
谢谢楼主提供,学习,收藏
2019-12-6 14:15
0
雪    币: 197
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
rockey2hid模拟源码(编译通过)
可以模拟hid,uid。生成hid.dll
支持win10
https://download.csdn.net/download/huangxuehai/13991788
2020-12-31 14:33
0
雪    币: 17
活跃值: (82)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
谢谢分享,学习了            
2021-3-20 09:43
0
雪    币: 2811
活跃值: (3364)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
黄薛海 rockey2hid模拟源码(编译通过) 可以模拟hid,uid。生成hid.dll 支持win10 https://download.csdn.net/download/huangxuehai ...
有没易语言版本的,整个来我买
2021-4-21 09:16
0
雪    币: 34
活跃值: (231)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
前辈您好!你的假狗程序对我这样小白非常适应。但,我用测试读取原狗里数据,只有0区数据,看你测试里也只有0区数据。可能我没整明白,还是程序你没有发全啊?请前辈不忙时,再帮我发一份:422286056@qq.com,非常感谢!
2021-6-8 19:57
0
雪    币: 965
活跃值: (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
感谢楼主分享
2021-8-4 14:28
0
游客
登录 | 注册 方可回帖
返回
//