注册 登录
编程论坛 汇编论坛

(感谢东海一鱼 点拨)请问各位老大 下面的代码是哪种加密算法实现的?可能长了点

wsz9903011 发布于 2009-08-23 23:32, 830 次点击
涉及一些东西  问题已解决所以编辑掉了.......

[ 本帖最后由 wsz9903011 于 2009-8-24 20:47 编辑 ]
4 回复
#2
wsz99030112009-08-23 23:37
我觉得是某种加密算法   不知道是哪种加密算法 所以无法从宏观上来理解 只能一字一句来琢磨 而且还是一头雾水
#3
zklhp2009-08-24 09:53
分析算法很高深啊
可以上看雪上问问~~~
#4
东海一鱼2009-08-24 12:29
就是MD5
00401203  |.  8B06          mov     eax, dword ptr [esi]             ;  67452301
00401205  |.  8B7E 04       mov     edi, dword ptr [esi+4]           ;  EFCDAB89
00401208  |.  8B5E 08       mov     ebx, dword ptr [esi+8]           ;  98BADCFE
0040120B  |.  8B6E 0C       mov     ebp, dword ptr [esi+C]           ;  10325476
0040120E  |.  51            push    ecx
0040120F  |.  52            push    edx
00401210  |.  8BCE          mov     ecx, esi
00401212  |.  894424 1C     mov     dword ptr [esp+1C], eax          ;  保存EAX的值
00401216  |.  E8 65090000   call    00401B80                         ;  存储11141497sDx5show
这段就是调用MD5的初始化代码
align dword
MD5Init proc uses edi
    xor eax, eax
    mov MD5Len,eax
    MD5BURN
    mov eax,offset MD5Digest
    mov dword ptr [eax+0*4],067452301h
    mov dword ptr [eax+1*4],0EFCDAB89h
    mov dword ptr [eax+2*4],098BADCFEh
    mov dword ptr [eax+3*4],010325476h
    ret
MD5Init endp

align dword
MD5Update proc uses esi edi ebx lpBuffer:dword, dwBufLen:dword
    mov ebx,dwBufLen
    mov esi,lpBuffer
    add MD5Len,ebx
    .while ebx
        mov eax,MD5Index
        mov ecx,64
        sub ecx,eax
        lea edi,[MD5HashBuf+eax]   
        .if ecx <= ebx
            sub ebx,ecx
            rep movsb
            call MD5Transform
            MD5BURN
        .else
            mov ecx,ebx
            rep movsb
            add MD5Index,ebx
            .break
        .endif
    .endw
    ret
MD5Update endp
#5
wsz99030112009-08-24 20:07
谢谢LS的&nbsp;恩确实是MD5&nbsp而且还是标准的 哇哈哈 不过反编译后还是没能当场认出 还一句句分析 功力还是很不够啊......

[ 本帖最后由 wsz9903011 于 2009-8-24 20:29 编辑 ]
1