首页
社区
课程
招聘
请大侠帮分析一下这是什么密码学算法?
发表于: 2004-12-27 20:14 6350

请大侠帮分析一下这是什么密码学算法?

2004-12-27 20:14
6350
这是某软件加密算法中的一段,eax的初值为0051B330,即指向下表,ecx指向注册码:

0051B330  39 31 29 21 19 11 09 01 3B 33 2B 23 1B 13 0B 03  
0051B340  3D 35 2D 25 1D 15 0D 05 3F 37 2F 27 1F 17 0F 07
0051B350  38 30 28 20 18 10 08 00 3A 32 2A 22 1A 12 0A 02
0051B360  3C 34 2C 24 1C 14 0C 04 3E 36 2E 26 1E 16 0E 06

004DCD79  /mov bl,byte ptr ds:[eax]        从上表中取一字节
004DCD7B  |mov ecx,ebx
004DCD7D  |and cl,7                        取后三位a
004DCD80  |and ecx,0FF
004DCD86  |push ecx
004DCD87  |mov ecx,7
004DCD8C  |pop edi
004DCD8D  |sub ecx,edi                7-a
004DCD8F  |mov edi,1
004DCD94  |shl edi,cl                        1<<7-a
004DCD96  |xor ecx,ecx
004DCD98  |mov cl,bl
004DCD9A  |shr ecx,3
004DCD9D  |movzx ecx,byte ptr ds:[esi+ecx]
004DCDA1  |and edi,ecx
004DCDA3  |je short un-GoodN.004DCDBF
004DCDA5  |mov ecx,edx
004DCDA7  |and ecx,7
004DCDAA  |push ecx
004DCDAB  |mov ecx,7
004DCDB0  |pop ebx
004DCDB1  |sub ecx,ebx
004DCDB3  |mov bl,1
004DCDB5  |shl bl,cl
004DCDB7  |mov ecx,edx
004DCDB9  |shr ecx,3
004DCDBC  |or byte ptr ss:[esp+ecx],bl
004DCDBF  |inc edx
004DCDC0  |inc eax
004DCDC1  |cmp edx,40
004DCDC4  \jnz short un-GoodN.004DCD79

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (18)
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
2
Oh,It's the IP of DES:)
2004-12-28 12:06
0
雪    币: 213
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
手上有一软件:
已知采用了DES加密

想问问一般情况下有没有可能写出注册机,

序列号=加密(硬件指纹)=16位
解密(序列号的后8位,乱七八糟,输入的注册码)

可能的话,需要那些工作。
2004-12-28 17:38
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
4
最初由 d1y2j3 发布
手上有一软件:
已知采用了DES加密

想问问一般情况下有没有可能写出注册机,

........


看看密钥哪里来,文件中固定的还是怎么的
2004-12-28 17:45
0
雪    币: 213
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
硬盘指纹和密钥,都知道了

正在确定那里是解密的地方...
2004-12-28 18:54
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
最初由 cnbragon 发布
Oh,It's the IP of DES:)


高人呀,能看出来。谢谢指点!再请教一下它的逆运算是什么样子?
2004-12-28 18:54
0
雪    币: 213
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
可以先用密码学的工具查一下,
免的自己看死了还看不懂是怎么回事
2004-12-28 19:33
0
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
8
最初由 moon 发布


高人呀,能看出来。谢谢指点!再请教一下它的逆运算是什么样子?


DES 的解密算法是它本身,只不过把密钥次序倒过来用即可:)
2004-12-28 22:33
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
9
最初由 cnbragon 发布


DES 的解密算法是它本身,只不过把密钥次序倒过来用即可:)


谢谢!可这里的密钥怎样看呀,是怎么个“倒”法,具体讲一下吧。
2004-12-29 19:32
0
雪    币: 213
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
参考一下我手上这个软件是这样的:
5FG2PHB8是硬盘序列号,ST320410A是硬盘型号;
B320410A是加密密钥;
密钥是硬盘型号凑出来的;
软件序列号是0772AC916D4D9538;
比如输入的注册码XXXXXXXX;
DES加密(5FG2PHB8,B320410A)=0772AC916D4D9538;
DES解密(XXXXXXXX,0772AC91)=6D4D9538;

用于DES加密和解密的密钥是一样的,
版主说的是里面的子密钥。不过子密钥不用管了,
只要找到加密函数入口的参数初始密钥就可以了。
不过确定哪个是真正的初始密钥,要仔细看了。
2004-12-29 20:07
0
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
11
Yah
DES的解密过程和DES的加密过程完全类似,只不过将16圈的子密钥序列K1,K2……K16的顺序倒过来。即第一圈用第16个子密钥K16,第二圈用K15,其余类推。

<<看雪论坛精华5>>中有两篇讲DES的文章,moon兄可以参考一下:)
2004-12-29 22:17
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
12
谢谢 d1y2j3 和 cnbragon 两位大侠!
DES文章我也看过一些,可遇到具体问题就蒙。在这里,是不是把上面那64个字节看成16个DWORD的K1..K16呀?
K1----39 31 29 21
K2----19 11 09 01
.....
K16---1E 16 0E 06

我这样试了,不行呀
2004-12-30 18:43
0
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
13
不是的,还是DES算法没看懂,你应该找到密钥,看看生成了哪16个子密钥,加密是正序,解密是逆序,建议再看看DES的源程序:)
2004-12-30 22:43
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
14
没有源程序,cnbragon 老大可否提供一份源程序?
2005-1-3 18:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
昏啊!你还是学学DES算法吧!
2005-1-4 15:50
0
雪    币: 266
活跃值: (191)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
最初由 聂小倩 发布
昏啊!你还是学学DES算法吧!

小倩来了阿:D
2005-1-4 16:09
0
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
17
最初由 moon 发布
没有源程序,cnbragon 老大可否提供一份源程序?
附件:des.rar
2005-1-5 13:04
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
18
最初由 聂小倩 发布
昏啊!你还是学学DES算法吧!


你昏呀,别倒喽。我是在发贴请教问题,就不多说什么啦。

2005-1-5 17:48
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
19
to cnbragon:谢谢你,你真是一个热心的人!
2005-1-5 17:56
0
游客
登录 | 注册 方可回帖
返回
//