⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rc4.asm

📁 ASM 多种hash模块,汇编源码 MD2,4,5 SHA 等多种加密算法 还有其他赠送内容
💻 ASM
字号:
.686
.model flat,stdcall
option casemap:none

RC4Init proto :DWORD,:DWORD
RC4Encrypt proto :DWORD,:DWORD

.data?
align 4
rc4_key db 256 dup(?)
rc4_x dd ?
rc4_y dd ?

.code

align 4
RC4Init proc uses esi edi ebx pKey:DWORD,dwKeyLen:DWORD
	xor eax,eax
	mov ecx,256-16
	mov rc4_x,eax
	mov rc4_y,eax
	mov esi,offset rc4_key
	mov edx,0FFFEFDFCh
	mov eax,0FBFAF9F8h
	mov ebx,0F7F6F5F4h
	mov edi,0F3F2F1F0h
	.repeat
		mov [esi+ecx+3*4],edx
		mov [esi+ecx+2*4],eax
		mov [esi+ecx+1*4],ebx
		mov [esi+ecx+0*4],edi
		sub edx,010101010h
		sub eax,010101010h
		sub ebx,010101010h
		sub edi,010101010h
		sub ecx,16
	.until sign?;esi < offset rc4_key
	xor edx,edx
	xor ecx,ecx
	mov esi,pKey
	xor ebx,ebx
	mov edi,dwKeyLen
	.repeat
	@@:
		mov al,rc4_key[ecx]
		add dl,[esi+ebx]
		add dl,al
		mov ah,rc4_key[edx]
		inc ebx
		mov rc4_key[edx],al
		mov rc4_key[ecx],ah
		cmp ebx,edi
		jae @F
		inc cl
		jnz @B
		.break
	@@:		
		xor ebx,ebx
		inc cl
	.until zero?
	ret
RC4Init endp

align 4
RC4Encrypt proc uses esi edi ebx pBlock:DWORD,dwBlockLen:DWORD
	mov edi,pBlock
	mov edx,rc4_x
	mov ecx,dwBlockLen
	mov ebx,rc4_y
	dec edi
	xor eax,eax
	.repeat
		add bl,rc4_key[edx+1]
		mov al,rc4_key[edx+1]
		mov ch,rc4_key[ebx]
		mov rc4_key[ebx],al
		mov rc4_key[edx+1],ch
		add al,ch
		inc edi
		mov al,rc4_key[eax]
		inc dl
		xor [edi],al
		dec cl
	.until zero?
	mov rc4_x,edx
	mov rc4_y,ebx
	ret
RC4Encrypt endp
RC4Decrypt equ <RC4Encrypt>

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -