ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > Реверсинг
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 17.09.2007, 14:07
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме:
4226446

Репутация: 1564
Отправить сообщение для 0x0c0de с помощью ICQ
По умолчанию

Алгоритм: adler32
Синтаксис: masm
Описание: оптимизированный алгоритм вычисления контрольных сумм adler32.
Код:
Код:
.686
.model flat,stdcall
option casemap:none

.const

ADLER32_BASE equ 65521 
ADLER32_NMAX equ 5552 

.code

align dword
Adler32 proc uses edi esi ebx lpBuffer:DWORD, dwBufLen:DWORD, dwAdler:DWORD
	mov eax,dwAdler
	mov ecx,dwBufLen
	mov ebx,dwAdler
	and eax,0FFFFh
	shr ebx,16
	mov esi,lpBuffer
	jmp @F
	.repeat
		mov edi,ADLER32_NMAX
		.if ecx<edi
			mov edi,ecx
		.endif
        sub ecx,edi
		.repeat
			movzx edx,byte ptr [esi]
			add eax,edx
			inc esi
			add ebx,eax
			dec edi
		.until ZERO?
        mov edi,ADLER32_BASE
        xor edx,edx
        div edi
        push edx
        mov eax,ebx
        sub edx,edx
        div edi
        mov ebx,edx
        pop eax
@@:		
            test ecx,ecx
	.until ZERO?
	shl ebx,16
	add eax,ebx
	ret
Adler32 endp

end
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ