-
-
[旧帖] [求助]大家来看看这个是什么算法呢? 0.00雪花
-
发表于: 2008-3-30 02:49 2383
-
前段时间朋友给了个软件(叫做“518福娃信使”,不知道干什么用的,没仔细看过)让我看看能不能帮她写个注册机,当时发现有变形的MD5加密算法,就放弃了,只做了个内存注册机给她.
今天又把这个软件翻出来了,研究了2个多小时,都差不多了,就是最后还有一点就是弄不懂。
它的注册流程是:1.取硬盘序列号; 2.硬盘序列号用变形的MD5加密,得到A ;3.取A的前15位再用变形的MD5加密,得到B; 4.B与“天津一采石场山体阀d/e宙”用了某种加密算法得到最后的注册码;在最后一步我卡住了,希望兴趣的朋友看看然后告诉我哇~~
MD5变形就是在T^ := T^ or (S^ shl 8);
inc(S);
T^ := T^ or (S^ shl 16);
inc(S);
T^ := T^ or (S^ shl 24);
和T^ := (S^ shr 8) and $ff;
inc(T);
T^ := (S^ shr 16) and $ff;
inc(T);
T^ := (S^ shr 24) and $ff;
inc(T);
inc(S);
的地方把8,16,24换成了7,14,21
第4步算法的部分反汇编:(有人知道这个是啥子算法呀)
003D4AA4 53 PUSH EBX
003D4AA5 56 PUSH ESI
003D4AA6 83C4 D8 ADD ESP,-28
003D4AA9 894C24 04 MOV DWORD PTR SS:[ESP+4],ECX
003D4AAD 891424 MOV DWORD PTR SS:[ESP],EDX
003D4AB0 8B10 MOV EDX,DWORD PTR DS:[EAX]
003D4AB2 8B0C24 MOV ECX,DWORD PTR SS:[ESP]
003D4AB5 3311 XOR EDX,DWORD PTR DS:[ECX]
003D4AB7 895424 08 MOV DWORD PTR SS:[ESP+8],EDX
003D4ABB 8D50 04 LEA EDX,DWORD PTR DS:[EAX+4]
003D4ABE 8B12 MOV EDX,DWORD PTR DS:[EDX]
003D4AC0 8B0C24 MOV ECX,DWORD PTR SS:[ESP]
003D4AC3 3351 04 XOR EDX,DWORD PTR DS:[ECX+4]
003D4AC6 895424 0C MOV DWORD PTR SS:[ESP+C],EDX
003D4ACA 8D50 08 LEA EDX,DWORD PTR DS:[EAX+8]
003D4ACD 8B12 MOV EDX,DWORD PTR DS:[EDX]
003D4ACF 8B0C24 MOV ECX,DWORD PTR SS:[ESP]
003D4AD2 3351 08 XOR EDX,DWORD PTR DS:[ECX+8]
003D4AD5 895424 10 MOV DWORD PTR SS:[ESP+10],EDX
003D4AD9 83C0 0C ADD EAX,0C
003D4ADC 8B00 MOV EAX,DWORD PTR DS:[EAX]
003D4ADE 8B1424 MOV EDX,DWORD PTR SS:[ESP]
003D4AE1 3342 0C XOR EAX,DWORD PTR DS:[EDX+C]
003D4AE4 894424 14 MOV DWORD PTR SS:[ESP+14],EAX
003D4AE8 33C0 XOR EAX,EAX
003D4AEA 8A4424 08 MOV AL,BYTE PTR SS:[ESP+8]
003D4AEE 8B1485 9C873D00 MOV EDX,DWORD PTR DS:[EAX*4+3D879C]
003D4AF5 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
003D4AF9 C1E8 08 SHR EAX,8
003D4AFC 25 FF000000 AND EAX,0FF
003D4B01 8B0485 9C873D00 MOV EAX,DWORD PTR DS:[EAX*4+3D879C]
003D4B08 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
003D4B0C C1E9 10 SHR ECX,10
003D4B0F 81E1 FF000000 AND ECX,0FF
003D4B15 8B348D 9C873D00 MOV ESI,DWORD PTR DS:[ECX*4+3D879C]
003D4B1C 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
003D4B20 C1E9 18 SHR ECX,18
003D4B23 81E1 FF000000 AND ECX,0FF
003D4B29 8B0C8D 9C873D00 MOV ECX,DWORD PTR DS:[ECX*4+3D879C]
003D4B30 8BD8 MOV EBX,EAX
003D4B32 C1E3 08 SHL EBX,8
003D4B35 C1E8 18 SHR EAX,18
003D4B38 0BD8 OR EBX,EAX
003D4B3A 33D3 XOR EDX,EBX
003D4B3C 8BC6 MOV EAX,ESI
003D4B3E C1E0 10 SHL EAX,10
003D4B41 C1EE 10 SHR ESI,10
003D4B44 0BC6 OR EAX,ESI
003D4B46 33D0 XOR EDX,EAX
003D4B48 8BC1 MOV EAX,ECX
003D4B4A C1E0 18 SHL EAX,18
003D4B4D C1E9 08 SHR ECX,8
003D4B50 0BC1 OR EAX,ECX
003D4B52 33D0 XOR EDX,EAX
003D4B54 8B0424 MOV EAX,DWORD PTR SS:[ESP]
003D4B57 3350 10 XOR EDX,DWORD PTR DS:[EAX+10]
003D4B5A 895424 18 MOV DWORD PTR SS:[ESP+18],EDX
003D4B5E 33C0 XOR EAX,EAX
003D4B60 8A4424 0C MOV AL,BYTE PTR SS:[ESP+C]
003D4B64 8B1485 9C873D00 MOV EDX,DWORD PTR DS:[EAX*4+3D879C]
003D4B6B 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
003D4B6F C1E8 08 SHR EAX,8
003D4B72 25 FF000000 AND EAX,0FF
003D4B77 8B0485 9C873D00 MOV EAX,DWORD PTR DS:[EAX*4+3D879C]
003D4B7E 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
003D4B82 C1E9 10 SHR ECX,10
003D4B85 81E1 FF000000 AND ECX,0FF
003D4B8B 8B348D 9C873D00 MOV ESI,DWORD PTR DS:[ECX*4+3D879C]
003D4B92 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+8]
003D4B96 C1E9 18 SHR ECX,18
003D4B99 81E1 FF000000 AND ECX,0FF
003D4B9F 8B0C8D 9C873D00 MOV ECX,DWORD PTR DS:[ECX*4+3D879C]
003D4BA6 8BD8 MOV EBX,EAX
003D4BA8 C1E3 08 SHL EBX,8
003D4BAB C1E8 18 SHR EAX,18
003D4BAE 0BD8 OR EBX,EAX
003D4BB0 33D3 XOR EDX,EBX
003D4BB2 8BC6 MOV EAX,ESI
003D4BB4 C1E0 10 SHL EAX,10
003D4BB7 C1EE 10 SHR ESI,10
003D4BBA 0BC6 OR EAX,ESI
003D4BBC 33D0 XOR EDX,EAX
003D4BBE 8BC1 MOV EAX,ECX
003D4BC0 C1E0 18 SHL EAX,18
003D4BC3 C1E9 08 SHR ECX,8
003D4BC6 0BC1 OR EAX,ECX
003D4BC8 33D0 XOR EDX,EAX
003D4BCA 8B0424 MOV EAX,DWORD PTR SS:[ESP]
003D4BCD 3350 14 XOR EDX,DWORD PTR DS:[EAX+14]
003D4BD0 895424 1C MOV DWORD PTR SS:[ESP+1C],EDX
003D4BD4 33C0 XOR EAX,EAX
003D4BD6 8A4424 10 MOV AL,BYTE PTR SS:[ESP+10]
003D4BDA 8B1485 9C873D00 MOV EDX,DWORD PTR DS:[EAX*4+3D879C]
003D4BE1 8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
003D4BE5 C1E8 08 SHR EAX,8
003D4BE8 25 FF000000 AND EAX,0FF
003D4BED 8B0485 9C873D00 MOV EAX,DWORD PTR DS:[EAX*4+3D879C]
003D4BF4 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+8]
003D4BF8 C1E9 10 SHR ECX,10
003D4BFB 81E1 FF000000 AND ECX,0FF
003D4C01 8B348D 9C873D00 MOV ESI,DWORD PTR DS:[ECX*4+3D879C]
003D4C08 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
003D4C0C C1E9 18 SHR ECX,18
003D4C0F 81E1 FF000000 AND ECX,0FF
003D4C15 8B0C8D 9C873D00 MOV ECX,DWORD PTR DS:[ECX*4+3D879C]
003D4C1C 8BD8 MOV EBX,EAX
003D4C1E C1E3 08 SHL EBX,8
003D4C21 C1E8 18 SHR EAX,18
003D4C24 0BD8 OR EBX,EAX
003D4C26 33D3 XOR EDX,EBX
003D4C28 8BC6 MOV EAX,ESI
003D4C2A C1E0 10 SHL EAX,10
003D4C2D C1EE 10 SHR ESI,10
003D4C30 0BC6 OR EAX,ESI
003D4C32 33D0 XOR EDX,EAX
003D4C34 8BC1 MOV EAX,ECX
003D4C36 C1E0 18 SHL EAX,18
003D4C39 C1E9 08 SHR ECX,8
003D4C3C 0BC1 OR EAX,ECX
003D4C3E 33D0 XOR EDX,EAX
003D4C40 8B0424 MOV EAX,DWORD PTR SS:[ESP]
003D4C43 3350 18 XOR EDX,DWORD PTR DS:[EAX+18]
003D4C46 895424 20 MOV DWORD PTR SS:[ESP+20],EDX
003D4C4A 33C0 XOR EAX,EAX
003D4C4C 8A4424 14 MOV AL,BYTE PTR SS:[ESP+14]
003D4C50 8B1485 9C873D00 MOV EDX,DWORD PTR DS:[EAX*4+3D879C]
003D4C57 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
003D4C5B C1E8 08 SHR EAX,8
003D4C5E 25 FF000000 AND EAX,0FF
003D4C63 8B0485 9C873D00 MOV EAX,DWORD PTR DS:[EAX*4+3D879C]
003D4C6A 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
003D4C6E C1E9 10 SHR ECX,10
003D4C71 81E1 FF000000 AND ECX,0FF
003D4C77 8B348D 9C873D00 MOV ESI,DWORD PTR DS:[ECX*4+3D879C]
003D4C7E 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
003D4C82 C1E9 18 SHR ECX,18
003D4C85 81E1 FF000000 AND ECX,0FF
003D4C8B 8B0C8D 9C873D00 MOV ECX,DWORD PTR DS:[ECX*4+3D879C]
003D4C92 8BD8 MOV EBX,EAX
003D4C94 C1E3 08 SHL EBX,8
003D4C97 C1E8 18 SHR EAX,18
003D4C9A 0BD8 OR EBX,EAX
003D4C9C 33D3 XOR EDX,EBX
003D4C9E 8BC6 MOV EAX,ESI
003D4CA0 C1E0 10 SHL EAX,10
003D4CA3 C1EE 10 SHR ESI,10
003D4CA6 0BC6 OR EAX,ESI
003D4CA8 33D0 XOR EDX,EAX
003D4CAA 8BC1 MOV EAX,ECX
003D4CAC C1E0 18 SHL EAX,18
003D4CAF C1E9 08 SHR ECX,8
003D4CB2 0BC1 OR EAX,ECX
003D4CB4 33D0 XOR EDX,EAX
003D4CB6 8B0424 MOV EAX,DWORD PTR SS:[ESP]
003D4CB9 3350 1C XOR EDX,DWORD PTR DS:[EAX+1C]
003D4CBC 895424 24 MOV DWORD PTR SS:[ESP+24],EDX
...................
今天又把这个软件翻出来了,研究了2个多小时,都差不多了,就是最后还有一点就是弄不懂。
它的注册流程是:1.取硬盘序列号; 2.硬盘序列号用变形的MD5加密,得到A ;3.取A的前15位再用变形的MD5加密,得到B; 4.B与“天津一采石场山体阀d/e宙”用了某种加密算法得到最后的注册码;在最后一步我卡住了,希望兴趣的朋友看看然后告诉我哇~~
MD5变形就是在T^ := T^ or (S^ shl 8);
inc(S);
T^ := T^ or (S^ shl 16);
inc(S);
T^ := T^ or (S^ shl 24);
和T^ := (S^ shr 8) and $ff;
inc(T);
T^ := (S^ shr 16) and $ff;
inc(T);
T^ := (S^ shr 24) and $ff;
inc(T);
inc(S);
的地方把8,16,24换成了7,14,21
第4步算法的部分反汇编:(有人知道这个是啥子算法呀)
003D4AA4 53 PUSH EBX
003D4AA5 56 PUSH ESI
003D4AA6 83C4 D8 ADD ESP,-28
003D4AA9 894C24 04 MOV DWORD PTR SS:[ESP+4],ECX
003D4AAD 891424 MOV DWORD PTR SS:[ESP],EDX
003D4AB0 8B10 MOV EDX,DWORD PTR DS:[EAX]
003D4AB2 8B0C24 MOV ECX,DWORD PTR SS:[ESP]
003D4AB5 3311 XOR EDX,DWORD PTR DS:[ECX]
003D4AB7 895424 08 MOV DWORD PTR SS:[ESP+8],EDX
003D4ABB 8D50 04 LEA EDX,DWORD PTR DS:[EAX+4]
003D4ABE 8B12 MOV EDX,DWORD PTR DS:[EDX]
003D4AC0 8B0C24 MOV ECX,DWORD PTR SS:[ESP]
003D4AC3 3351 04 XOR EDX,DWORD PTR DS:[ECX+4]
003D4AC6 895424 0C MOV DWORD PTR SS:[ESP+C],EDX
003D4ACA 8D50 08 LEA EDX,DWORD PTR DS:[EAX+8]
003D4ACD 8B12 MOV EDX,DWORD PTR DS:[EDX]
003D4ACF 8B0C24 MOV ECX,DWORD PTR SS:[ESP]
003D4AD2 3351 08 XOR EDX,DWORD PTR DS:[ECX+8]
003D4AD5 895424 10 MOV DWORD PTR SS:[ESP+10],EDX
003D4AD9 83C0 0C ADD EAX,0C
003D4ADC 8B00 MOV EAX,DWORD PTR DS:[EAX]
003D4ADE 8B1424 MOV EDX,DWORD PTR SS:[ESP]
003D4AE1 3342 0C XOR EAX,DWORD PTR DS:[EDX+C]
003D4AE4 894424 14 MOV DWORD PTR SS:[ESP+14],EAX
003D4AE8 33C0 XOR EAX,EAX
003D4AEA 8A4424 08 MOV AL,BYTE PTR SS:[ESP+8]
003D4AEE 8B1485 9C873D00 MOV EDX,DWORD PTR DS:[EAX*4+3D879C]
003D4AF5 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
003D4AF9 C1E8 08 SHR EAX,8
003D4AFC 25 FF000000 AND EAX,0FF
003D4B01 8B0485 9C873D00 MOV EAX,DWORD PTR DS:[EAX*4+3D879C]
003D4B08 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
003D4B0C C1E9 10 SHR ECX,10
003D4B0F 81E1 FF000000 AND ECX,0FF
003D4B15 8B348D 9C873D00 MOV ESI,DWORD PTR DS:[ECX*4+3D879C]
003D4B1C 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
003D4B20 C1E9 18 SHR ECX,18
003D4B23 81E1 FF000000 AND ECX,0FF
003D4B29 8B0C8D 9C873D00 MOV ECX,DWORD PTR DS:[ECX*4+3D879C]
003D4B30 8BD8 MOV EBX,EAX
003D4B32 C1E3 08 SHL EBX,8
003D4B35 C1E8 18 SHR EAX,18
003D4B38 0BD8 OR EBX,EAX
003D4B3A 33D3 XOR EDX,EBX
003D4B3C 8BC6 MOV EAX,ESI
003D4B3E C1E0 10 SHL EAX,10
003D4B41 C1EE 10 SHR ESI,10
003D4B44 0BC6 OR EAX,ESI
003D4B46 33D0 XOR EDX,EAX
003D4B48 8BC1 MOV EAX,ECX
003D4B4A C1E0 18 SHL EAX,18
003D4B4D C1E9 08 SHR ECX,8
003D4B50 0BC1 OR EAX,ECX
003D4B52 33D0 XOR EDX,EAX
003D4B54 8B0424 MOV EAX,DWORD PTR SS:[ESP]
003D4B57 3350 10 XOR EDX,DWORD PTR DS:[EAX+10]
003D4B5A 895424 18 MOV DWORD PTR SS:[ESP+18],EDX
003D4B5E 33C0 XOR EAX,EAX
003D4B60 8A4424 0C MOV AL,BYTE PTR SS:[ESP+C]
003D4B64 8B1485 9C873D00 MOV EDX,DWORD PTR DS:[EAX*4+3D879C]
003D4B6B 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
003D4B6F C1E8 08 SHR EAX,8
003D4B72 25 FF000000 AND EAX,0FF
003D4B77 8B0485 9C873D00 MOV EAX,DWORD PTR DS:[EAX*4+3D879C]
003D4B7E 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
003D4B82 C1E9 10 SHR ECX,10
003D4B85 81E1 FF000000 AND ECX,0FF
003D4B8B 8B348D 9C873D00 MOV ESI,DWORD PTR DS:[ECX*4+3D879C]
003D4B92 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+8]
003D4B96 C1E9 18 SHR ECX,18
003D4B99 81E1 FF000000 AND ECX,0FF
003D4B9F 8B0C8D 9C873D00 MOV ECX,DWORD PTR DS:[ECX*4+3D879C]
003D4BA6 8BD8 MOV EBX,EAX
003D4BA8 C1E3 08 SHL EBX,8
003D4BAB C1E8 18 SHR EAX,18
003D4BAE 0BD8 OR EBX,EAX
003D4BB0 33D3 XOR EDX,EBX
003D4BB2 8BC6 MOV EAX,ESI
003D4BB4 C1E0 10 SHL EAX,10
003D4BB7 C1EE 10 SHR ESI,10
003D4BBA 0BC6 OR EAX,ESI
003D4BBC 33D0 XOR EDX,EAX
003D4BBE 8BC1 MOV EAX,ECX
003D4BC0 C1E0 18 SHL EAX,18
003D4BC3 C1E9 08 SHR ECX,8
003D4BC6 0BC1 OR EAX,ECX
003D4BC8 33D0 XOR EDX,EAX
003D4BCA 8B0424 MOV EAX,DWORD PTR SS:[ESP]
003D4BCD 3350 14 XOR EDX,DWORD PTR DS:[EAX+14]
003D4BD0 895424 1C MOV DWORD PTR SS:[ESP+1C],EDX
003D4BD4 33C0 XOR EAX,EAX
003D4BD6 8A4424 10 MOV AL,BYTE PTR SS:[ESP+10]
003D4BDA 8B1485 9C873D00 MOV EDX,DWORD PTR DS:[EAX*4+3D879C]
003D4BE1 8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
003D4BE5 C1E8 08 SHR EAX,8
003D4BE8 25 FF000000 AND EAX,0FF
003D4BED 8B0485 9C873D00 MOV EAX,DWORD PTR DS:[EAX*4+3D879C]
003D4BF4 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+8]
003D4BF8 C1E9 10 SHR ECX,10
003D4BFB 81E1 FF000000 AND ECX,0FF
003D4C01 8B348D 9C873D00 MOV ESI,DWORD PTR DS:[ECX*4+3D879C]
003D4C08 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
003D4C0C C1E9 18 SHR ECX,18
003D4C0F 81E1 FF000000 AND ECX,0FF
003D4C15 8B0C8D 9C873D00 MOV ECX,DWORD PTR DS:[ECX*4+3D879C]
003D4C1C 8BD8 MOV EBX,EAX
003D4C1E C1E3 08 SHL EBX,8
003D4C21 C1E8 18 SHR EAX,18
003D4C24 0BD8 OR EBX,EAX
003D4C26 33D3 XOR EDX,EBX
003D4C28 8BC6 MOV EAX,ESI
003D4C2A C1E0 10 SHL EAX,10
003D4C2D C1EE 10 SHR ESI,10
003D4C30 0BC6 OR EAX,ESI
003D4C32 33D0 XOR EDX,EAX
003D4C34 8BC1 MOV EAX,ECX
003D4C36 C1E0 18 SHL EAX,18
003D4C39 C1E9 08 SHR ECX,8
003D4C3C 0BC1 OR EAX,ECX
003D4C3E 33D0 XOR EDX,EAX
003D4C40 8B0424 MOV EAX,DWORD PTR SS:[ESP]
003D4C43 3350 18 XOR EDX,DWORD PTR DS:[EAX+18]
003D4C46 895424 20 MOV DWORD PTR SS:[ESP+20],EDX
003D4C4A 33C0 XOR EAX,EAX
003D4C4C 8A4424 14 MOV AL,BYTE PTR SS:[ESP+14]
003D4C50 8B1485 9C873D00 MOV EDX,DWORD PTR DS:[EAX*4+3D879C]
003D4C57 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
003D4C5B C1E8 08 SHR EAX,8
003D4C5E 25 FF000000 AND EAX,0FF
003D4C63 8B0485 9C873D00 MOV EAX,DWORD PTR DS:[EAX*4+3D879C]
003D4C6A 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
003D4C6E C1E9 10 SHR ECX,10
003D4C71 81E1 FF000000 AND ECX,0FF
003D4C77 8B348D 9C873D00 MOV ESI,DWORD PTR DS:[ECX*4+3D879C]
003D4C7E 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
003D4C82 C1E9 18 SHR ECX,18
003D4C85 81E1 FF000000 AND ECX,0FF
003D4C8B 8B0C8D 9C873D00 MOV ECX,DWORD PTR DS:[ECX*4+3D879C]
003D4C92 8BD8 MOV EBX,EAX
003D4C94 C1E3 08 SHL EBX,8
003D4C97 C1E8 18 SHR EAX,18
003D4C9A 0BD8 OR EBX,EAX
003D4C9C 33D3 XOR EDX,EBX
003D4C9E 8BC6 MOV EAX,ESI
003D4CA0 C1E0 10 SHL EAX,10
003D4CA3 C1EE 10 SHR ESI,10
003D4CA6 0BC6 OR EAX,ESI
003D4CA8 33D0 XOR EDX,EAX
003D4CAA 8BC1 MOV EAX,ECX
003D4CAC C1E0 18 SHL EAX,18
003D4CAF C1E9 08 SHR ECX,8
003D4CB2 0BC1 OR EAX,ECX
003D4CB4 33D0 XOR EDX,EAX
003D4CB6 8B0424 MOV EAX,DWORD PTR SS:[ESP]
003D4CB9 3350 1C XOR EDX,DWORD PTR DS:[EAX+1C]
003D4CBC 895424 24 MOV DWORD PTR SS:[ESP+24],EDX
...................
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: