📄 sha1.inc
字号:
; ----------------------------------------------------- ;
; SHA1 Hash Algorithm ;
; by NIST and the NSA of USA ;
; ;
; Output Digest Size: 160 bits ;
; ----------------------------------------------------- ;
align 4
_SHA1_Transform:
; void _SHA1_Transform(unsigned long state[5], unsigned char buffer[64])
push ebp
mov ebp,esp
add esp,-12
push ebx
push esi
push edi
@1:
mov ebx, mobkdeia
stdcall memcpy,ebx,dword[ebp+12],64
mov eax, [ebp+8]
mov eax,[eax]
mov edx,[ebp+8]
mov edx,[edx+4]
mov ecx,[ebp+8]
mov ecx,[ecx+8]
mov [ebp-4],ecx
mov ecx,[ebp+8]
mov ecx,[ecx+12]
mov [ebp-8],ecx
mov ecx,[ebp+8]
mov ecx,[ecx+16]
mov [ebp-12],ecx
mov ecx,[ebx]
shl ecx,24
mov esi,[ebx]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx]
shl esi,8
mov edi,[ebx]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx],ecx
mov esi,[ebp-4]
xor esi,[ebp-8]
and esi,edx
xor esi,[ebp-8]
add ecx,esi
mov esi,eax
shl esi,5
mov edi,eax
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-12],ecx
mov ecx,edx
shl ecx,30
shr edx,2
or ecx,edx
mov edx,ecx
mov ecx,[ebx+4]
shl ecx,24
mov esi,[ebx+4]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+4]
shl esi,8
mov edi,[ebx+4]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+4],ecx
mov esi,[ebp-4]
xor esi,edx
and esi,eax
xor esi,[ebp-4]
add ecx,esi
mov esi,[ebp-12]
shl esi,5
mov edi,[ebp-12]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-8],ecx
mov ecx,eax
shl ecx,30
shr eax,2
or ecx,eax
mov eax,ecx
mov ecx,[ebx+8]
shl ecx,24
mov esi,[ebx+8]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+8]
shl esi,8
mov edi,[ebx+8]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+8],ecx
mov esi,edx
xor esi,eax
and esi,[ebp-12]
xor esi,edx
add ecx,esi
mov esi,[ebp-8]
shl esi,5
mov edi,[ebp-8]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-4],ecx
mov ecx,[ebp-12]
shl ecx,30
mov esi,[ebp-12]
shr esi,2
or ecx,esi
mov [ebp-12],ecx
mov ecx,[ebx+12]
shl ecx,24
mov esi,[ebx+12]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+12]
shl esi,8
mov edi,[ebx+12]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+12],ecx
mov esi,[ebp-12]
xor esi,eax
and esi,[ebp-8]
xor esi,eax
add ecx,esi
mov esi,[ebp-4]
shl esi,5
mov edi,[ebp-4]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add edx,ecx
mov ecx,[ebp-8]
shl ecx,30
mov esi,[ebp-8]
shr esi,2
or ecx,esi
mov [ebp-8],ecx
mov ecx,[ebx+16]
shl ecx,24
mov esi,[ebx+16]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+16]
shl esi,8
mov edi,[ebx+16]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+16],ecx
mov esi,[ebp-8]
xor esi,[ebp-12]
and esi,[ebp-4]
xor esi,[ebp-12]
add ecx,esi
mov esi,edx
shl esi,5
mov edi,edx
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add eax,ecx
mov ecx,[ebp-4]
shl ecx,30
mov esi,[ebp-4]
shr esi,2
or ecx,esi
mov [ebp-4],ecx
mov ecx,[ebx+20]
shl ecx,24
mov esi,[ebx+20]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+20]
shl esi,8
mov edi,[ebx+20]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+20],ecx
mov esi,[ebp-4]
xor esi,[ebp-8]
and esi,edx
xor esi,[ebp-8]
add ecx,esi
mov esi,eax
shl esi,5
mov edi,eax
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-12],ecx
mov ecx,edx
shl ecx,30
shr edx,2
or ecx,edx
mov edx,ecx
mov ecx,[ebx+24]
shl ecx,24
mov esi,[ebx+24]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+24]
shl esi,8
mov edi,[ebx+24]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+24],ecx
mov esi,[ebp-4]
xor esi,edx
and esi,eax
xor esi,[ebp-4]
add ecx,esi
mov esi,[ebp-12]
shl esi,5
mov edi,[ebp-12]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-8],ecx
mov ecx,eax
shl ecx,30
shr eax,2
or ecx,eax
mov eax,ecx
mov ecx,[ebx+28]
shl ecx,24
mov esi,[ebx+28]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+28]
shl esi,8
mov edi,[ebx+28]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+28],ecx
mov esi,edx
xor esi,eax
and esi,[ebp-12]
xor esi,edx
add ecx,esi
mov esi,[ebp-8]
shl esi,5
mov edi,[ebp-8]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-4],ecx
mov ecx,[ebp-12]
shl ecx,30
mov esi,[ebp-12]
shr esi,2
or ecx,esi
mov [ebp-12],ecx
mov ecx,[ebx+32]
shl ecx,24
mov esi,[ebx+32]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+32]
shl esi,8
mov edi,[ebx+32]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+32],ecx
mov esi,[ebp-12]
xor esi,eax
and esi,[ebp-8]
xor esi,eax
add ecx,esi
mov esi,[ebp-4]
shl esi,5
mov edi,[ebp-4]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add edx,ecx
mov ecx,[ebp-8]
shl ecx,30
mov esi,[ebp-8]
shr esi,2
or ecx,esi
mov [ebp-8],ecx
mov ecx,[ebx+36]
shl ecx,24
mov esi,[ebx+36]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+36]
shl esi,8
mov edi,[ebx+36]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+36],ecx
mov esi,[ebp-8]
xor esi,[ebp-12]
and esi,[ebp-4]
xor esi,[ebp-12]
add ecx,esi
mov esi,edx
shl esi,5
mov edi,edx
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add eax,ecx
mov ecx,[ebp-4]
shl ecx,30
mov esi,[ebp-4]
shr esi,2
or ecx,esi
mov [ebp-4],ecx
mov ecx,[ebx+40]
shl ecx,24
mov esi,[ebx+40]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+40]
shl esi,8
mov edi,[ebx+40]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+40],ecx
mov esi,[ebp-4]
xor esi,[ebp-8]
and esi,edx
xor esi,[ebp-8]
add ecx,esi
mov esi,eax
shl esi,5
mov edi,eax
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-12],ecx
mov ecx,edx
shl ecx,30
shr edx,2
or ecx,edx
mov edx,ecx
mov ecx,[ebx+44]
shl ecx,24
mov esi,[ebx+44]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+44]
shl esi,8
mov edi,[ebx+44]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+44],ecx
mov esi,[ebp-4]
xor esi,edx
and esi,eax
xor esi,[ebp-4]
add ecx,esi
mov esi,[ebp-12]
shl esi,5
mov edi,[ebp-12]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-8],ecx
mov ecx,eax
shl ecx,30
shr eax,2
or ecx,eax
mov eax,ecx
mov ecx,[ebx+48]
shl ecx,24
mov esi,[ebx+48]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+48]
shl esi,8
mov edi,[ebx+48]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+48],ecx
mov esi,edx
xor esi,eax
and esi,[ebp-12]
xor esi,edx
add ecx,esi
mov esi,[ebp-8]
shl esi,5
mov edi,[ebp-8]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-4],ecx
mov ecx,[ebp-12]
shl ecx,30
mov esi,[ebp-12]
shr esi,2
or ecx,esi
mov [ebp-12],ecx
mov ecx,[ebx+52]
shl ecx,24
mov esi,[ebx+52]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+52]
shl esi,8
mov edi,[ebx+52]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+52],ecx
mov esi,[ebp-12]
xor esi,eax
and esi,[ebp-8]
xor esi,eax
add ecx,esi
mov esi,[ebp-4]
shl esi,5
mov edi,[ebp-4]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add edx,ecx
mov ecx,[ebp-8]
shl ecx,30
mov esi,[ebp-8]
shr esi,2
or ecx,esi
mov [ebp-8],ecx
mov ecx,[ebx+56]
shl ecx,24
mov esi,[ebx+56]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+56]
shl esi,8
mov edi,[ebx+56]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+56],ecx
mov esi,[ebp-8]
xor esi,[ebp-12]
and esi,[ebp-4]
xor esi,[ebp-12]
add ecx,esi
mov esi,edx
shl esi,5
mov edi,edx
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add eax,ecx
mov ecx,[ebp-4]
shl ecx,30
mov esi,[ebp-4]
shr esi,2
or ecx,esi
mov [ebp-4],ecx
mov ecx,[ebx+60]
shl ecx,24
mov esi,[ebx+60]
shr esi,8
or ecx,esi
and ecx,-16711936
mov esi,[ebx+60]
shl esi,8
mov edi,[ebx+60]
shr edi,24
or esi,edi
and esi,16711935
or ecx,esi
mov [ebx+60],ecx
mov esi,[ebp-4]
xor esi,[ebp-8]
and esi,edx
xor esi,[ebp-8]
add ecx,esi
mov esi,eax
shl esi,5
mov edi,eax
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-12],ecx
mov ecx,edx
shl ecx,30
shr edx,2
or ecx,edx
mov edx,ecx
mov ecx,[ebx+52]
xor ecx,[ebx+32]
xor ecx,[ebx+8]
xor ecx,[ebx]
add ecx,ecx
mov esi,[ebx+52]
xor esi,[ebx+32]
xor esi,[ebx+8]
xor esi,[ebx]
shr esi,31
or ecx,esi
mov [ebx],ecx
mov esi,[ebp-4]
xor esi,edx
and esi,eax
xor esi,[ebp-4]
add ecx,esi
mov esi,[ebp-12]
shl esi,5
mov edi,[ebp-12]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-8],ecx
mov ecx,eax
shl ecx,30
shr eax,2
or ecx,eax
mov eax,ecx
mov ecx,[ebx+56]
xor ecx,[ebx+36]
xor ecx,[ebx+12]
xor ecx,[ebx+4]
add ecx,ecx
mov esi,[ebx+56]
xor esi,[ebx+36]
xor esi,[ebx+12]
xor esi,[ebx+4]
shr esi,31
or ecx,esi
mov [ebx+4],ecx
mov esi,edx
xor esi,eax
and esi,[ebp-12]
xor esi,edx
add ecx,esi
mov esi,[ebp-8]
shl esi,5
mov edi,[ebp-8]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add [ebp-4],ecx
mov ecx,[ebp-12]
shl ecx,30
mov esi,[ebp-12]
shr esi,2
or ecx,esi
mov [ebp-12],ecx
mov ecx,[ebx+60]
xor ecx,[ebx+40]
xor ecx,[ebx+16]
xor ecx,[ebx+8]
add ecx,ecx
mov esi,[ebx+60]
xor esi,[ebx+40]
xor esi,[ebx+16]
xor esi,[ebx+8]
shr esi,31
or ecx,esi
mov [ebx+8],ecx
mov esi,[ebp-12]
xor esi,eax
and esi,[ebp-8]
xor esi,eax
add ecx,esi
mov esi,[ebp-4]
shl esi,5
mov edi,[ebp-4]
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add edx,ecx
mov ecx,[ebp-8]
shl ecx,30
mov esi,[ebp-8]
shr esi,2
or ecx,esi
mov [ebp-8],ecx
mov ecx,[ebx]
xor ecx,[ebx+44]
xor ecx,[ebx+20]
xor ecx,[ebx+12]
add ecx,ecx
mov esi,[ebx]
xor esi,[ebx+44]
xor esi,[ebx+20]
xor esi,[ebx+12]
shr esi,31
or ecx,esi
mov [ebx+12],ecx
mov esi,[ebp-8]
xor esi,[ebp-12]
and esi,[ebp-4]
xor esi,[ebp-12]
add ecx,esi
mov esi,edx
shl esi,5
mov edi,edx
shr edi,27
or esi,edi
add ecx,esi
add ecx,1518500249
add eax,ecx
mov ecx,[ebp-4]
shl ecx,30
mov esi,[ebp-4]
shr esi,2
or ecx,esi
mov [ebp-4],ecx
mov ecx,[ebx+4]
xor ecx,[ebx+48]
xor ecx,[ebx+24]
xor ecx,[ebx+16]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -