-
-
请大侠帮分析一下这是什么密码学算法?
-
发表于:
2004-12-27 20:14
6351
-
这是某软件加密算法中的一段,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
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!